Skip to content

Commit 5d4a086

Browse files
committed
load balance strategy bug
1 parent 01e01bd commit 5d4a086

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+2328
-131
lines changed

conf/proxy.properties

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,12 @@ proxy.resource.notfoundPage=notfound.html
1111
proxy.resource.badRequestPage=badrequest.html
1212
proxy.resource.forbidPage=forbidden.html
1313
proxy.resource.errorPage=error.html
14+
1415
proxy.api.open=true
1516
proxy.api.admin=admin
1617
proxy.api.key=admin123
18+
proxy.api.port=9999
19+
1720
proxy.log.logopen=true
1821

1922
proxy.antileech.open=false

conf/proxy.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,10 @@
6565
<name>proxy.api.key</name>
6666
<value>admin123</value>
6767
</property>
68+
<property>
69+
<name>proxy.api.port</name>
70+
<value>9999</value>
71+
</property>
6872
<property>
6973
<name>proxy.api.uri</name>
7074
<value>/easyproxy.*</value>
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package org.easyproxy.api.app.handler;
2+
3+
4+
import org.easyarch.netpet.web.http.request.HandlerRequest;
5+
import org.easyarch.netpet.web.http.response.HandlerResponse;
6+
import org.easyarch.netpet.web.mvc.action.handler.HttpHandler;
7+
8+
/**
9+
* Created by xingtianyu on 17-3-26
10+
* 下午6:49
11+
* description:
12+
*/
13+
14+
public class IndexPageHandler implements HttpHandler {
15+
16+
@Override
17+
public void handle(HandlerRequest request, HandlerResponse response) throws Exception {
18+
// AsyncHttpClient client = new AsyncHttpClient("https://www.baidu.com");
19+
// byte[] content = client.getc();
20+
// response.write(content);
21+
response.html("index");
22+
}
23+
}

easyproxy-core/src/main/java/org/easyproxy/api/app/handler/ConfigHandler.java renamed to easyproxy-core/src/main/java/org/easyproxy/api/app/handler/config/ConfigHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.easyproxy.api.app.handler;
1+
package org.easyproxy.api.app.handler.config;
22

33
import org.easyarch.netpet.web.http.request.HandlerRequest;
44
import org.easyarch.netpet.web.http.response.HandlerResponse;
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package org.easyproxy.api.app.handler.config;
2+
3+
import org.easyarch.netpet.web.http.request.HandlerRequest;
4+
import org.easyarch.netpet.web.http.response.HandlerResponse;
5+
import org.easyarch.netpet.web.mvc.action.handler.HttpHandler;
6+
import org.easyarch.netpet.web.mvc.entity.Json;
7+
import org.easyproxy.api.app.pojo.ConfigVO;
8+
import org.easyproxy.config.Config;
9+
import org.easyproxy.config.ConfigFactory;
10+
import org.easyproxy.pojo.ConfigEntity;
11+
12+
/**
13+
* Created by xingtianyu on 17-4-1
14+
* 上午10:22
15+
* description:
16+
*/
17+
18+
public class ConfigPageHandler implements HttpHandler {
19+
20+
@Override
21+
public void handle(HandlerRequest request, HandlerResponse response) throws Exception {
22+
Config config = ConfigFactory.getConfig();
23+
ConfigEntity entity = config.getConfigEntity();
24+
ConfigVO vo = new ConfigVO();
25+
vo.convert(entity);
26+
Json json = Json.parse(vo);
27+
System.out.println("current config json:\n"+json);
28+
response.addModel("config",json);
29+
response.html("config");
30+
31+
}
32+
}

easyproxy-core/src/main/java/org/easyproxy/api/app/handler/FireWallHandler.java renamed to easyproxy-core/src/main/java/org/easyproxy/api/app/handler/config/FireWallHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.easyproxy.api.app.handler;
1+
package org.easyproxy.api.app.handler.config;
22

33
import org.easyarch.netpet.kits.StringKits;
44
import org.easyarch.netpet.web.http.request.HandlerRequest;

easyproxy-core/src/main/java/org/easyproxy/api/app/handler/HostHandler.java renamed to easyproxy-core/src/main/java/org/easyproxy/api/app/handler/config/HostHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.easyproxy.api.app.handler;
1+
package org.easyproxy.api.app.handler.config;
22

33
import org.easyarch.netpet.web.http.request.HandlerRequest;
44
import org.easyarch.netpet.web.http.response.HandlerResponse;

easyproxy-core/src/main/java/org/easyproxy/api/app/handler/LBStrategyHandler.java renamed to easyproxy-core/src/main/java/org/easyproxy/api/app/handler/config/LBStrategyHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.easyproxy.api.app.handler;
1+
package org.easyproxy.api.app.handler.config;
22

33
import org.easyarch.netpet.web.http.request.HandlerRequest;
44
import org.easyarch.netpet.web.http.response.HandlerResponse;

easyproxy-core/src/main/java/org/easyproxy/api/app/handler/ParamsHandler.java renamed to easyproxy-core/src/main/java/org/easyproxy/api/app/handler/config/ParamsHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.easyproxy.api.app.handler;
1+
package org.easyproxy.api.app.handler.config;
22

33
import org.easyarch.netpet.web.http.request.HandlerRequest;
44
import org.easyarch.netpet.web.http.response.HandlerResponse;
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package org.easyproxy.api.app.handler.log;
2+
3+
import org.easyarch.netpet.kits.file.FileKits;
4+
import org.easyarch.netpet.web.http.request.HandlerRequest;
5+
import org.easyarch.netpet.web.http.response.HandlerResponse;
6+
import org.easyarch.netpet.web.mvc.action.handler.HttpHandler;
7+
import org.easyarch.netpet.web.mvc.entity.Json;
8+
import org.easyproxy.constants.Const;
9+
10+
import java.io.File;
11+
import java.io.FileFilter;
12+
import java.util.ArrayList;
13+
import java.util.List;
14+
import java.util.Map;
15+
import java.util.regex.Matcher;
16+
import java.util.regex.Pattern;
17+
18+
/**
19+
* Created by xingtianyu on 17-5-5
20+
* 下午5:36
21+
* description:
22+
*/
23+
24+
public class DailyActiveHandler implements HttpHandler {
25+
26+
@Override
27+
public void handle(HandlerRequest request, HandlerResponse response) throws Exception {
28+
List<File> logs = FileKits.filter(Const.LOGS, new FileFilter() {
29+
@Override
30+
public boolean accept(File pathname) {
31+
Pattern pattern = Pattern.compile("access\\.(\\d){4}-(\\d){2}-(\\d){2}\\.log");
32+
Matcher matcher = pattern.matcher(pathname.getName());
33+
return matcher.matches();
34+
}
35+
});
36+
List<Map<String,Object>> records = new ArrayList<>();
37+
for (File log:logs){
38+
int count = FileKits.statistic(log,"\n");
39+
String date = log.getName().split("\\.")[1];
40+
records.add(new Json("day",date,"count",count).getJsonMap());
41+
}
42+
response.json(new Json("data",records));
43+
}
44+
45+
46+
public static void main(String[] args) throws Exception {
47+
// List<Json> jsons = new ArrayList<>();
48+
// jsons.add(new Json("code",100,"message","a"));
49+
// jsons.add(new Json("code",102,"message","b"));
50+
// jsons.add(new Json("code",103,"message","c"));
51+
// Map<String,Object> map = new HashMap<>();
52+
// map.put("Data",jsons);
53+
// System.out.println(Json.stringify(map));
54+
int count = FileKits.statistic("/home/code4j/osproject/jproxy/logs/access.2017-05-05.log","\n");
55+
System.out.println("count:"+count);
56+
}
57+
}

easyproxy-core/src/main/java/org/easyproxy/api/app/handler/LogDownLoadHandler.java renamed to easyproxy-core/src/main/java/org/easyproxy/api/app/handler/log/LogDownLoadHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.easyproxy.api.app.handler;
1+
package org.easyproxy.api.app.handler.log;
22

33
import org.easyarch.netpet.kits.file.FileKits;
44
import org.easyarch.netpet.web.http.protocol.HttpHeaderValue;
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package org.easyproxy.api.app.handler.log;
2+
3+
import org.easyarch.netpet.web.http.request.HandlerRequest;
4+
import org.easyarch.netpet.web.http.response.HandlerResponse;
5+
import org.easyarch.netpet.web.mvc.action.handler.HttpHandler;
6+
7+
/**
8+
* Created by xingtianyu on 17-5-5
9+
* 下午6:42
10+
* description:
11+
*/
12+
13+
public class LogsPageHandler implements HttpHandler {
14+
15+
@Override
16+
public void handle(HandlerRequest request, HandlerResponse response) throws Exception {
17+
response.html("logs");
18+
}
19+
}

easyproxy-core/src/main/java/org/easyproxy/config/ConfigEnum.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ public enum ConfigEnum {
4444
API_OPEN("proxy.api.open", false, "easyproxy的api接口"),
4545
API_ADMIN("proxy.api.admin", "", "easyproxy的api接口"),
4646
API_KEY("proxy.api.key", "", "easyproxy的api接口"),
47-
APIURI("proxy.api.uri", "", "easyproxy的api接口");
47+
APIURI("proxy.api.uri", "", "easyproxy的api接口"),
48+
APIPORT("proxy.api.port", 9999, "web端的端口号");
4849

4950
public String key;
5051
public Object defVal;

easyproxy-core/src/main/java/org/easyproxy/constants/Const.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ public class Const {
5252
public static final String MEMORY = "Memory";
5353

5454
//directory structure
55-
// public static final String DIR = System.getProperty("user.dir")+ File.separator+".."+File.separator;
56-
public static final String DIR = System.getProperty("easyproxy.home")+File.separator;
55+
public static final String DIR = System.getProperty("user.dir")+ File.separator+".."+File.separator;
56+
// public static final String DIR = System.getProperty("easyproxy.home")+File.separator;
5757
public static final String CONF = DIR+"conf"+File.separator;
5858
public static final String LOGS = DIR+"logs"+File.separator;
5959
public static final String TMP = DIR+"tmp"+File.separator;
@@ -75,6 +75,7 @@ public class Const {
7575
public static final String LIKE = "*";
7676
public static final String ACCESSRECORD = "-access_record";
7777

78+
public static final String LOGSEPARATOR = " |+| ";
7879

7980
public static final int CODE_OK = 200;
8081
public static final int CODE_BADREQUEST= 400;

easyproxy-core/src/main/java/org/easyproxy/handler/http/server/AccessLogHandler.java

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,17 @@
66

77
import io.netty.channel.ChannelHandlerContext;
88
import io.netty.channel.ChannelInboundHandlerAdapter;
9+
import io.netty.handler.codec.http.HttpHeaderNames;
910
import io.netty.handler.codec.http.HttpHeaders;
1011
import io.netty.handler.codec.http.HttpRequest;
1112
import org.easyproxy.config.ConfigEnum;
1213
import org.easyproxy.config.ConfigFactory;
14+
import org.easyproxy.constants.Const;
1315
import org.easyproxy.log.Logger;
1416
import org.easyproxy.util.time.TimeUtil;
1517

1618
import java.net.InetSocketAddress;
1719
import java.util.Date;
18-
import java.util.Map;
1920

2021
/**
2122
* Description :
@@ -56,14 +57,20 @@ private InetSocketAddress getAddress(ChannelHandlerContext ctx){
5657
InetSocketAddress address = (InetSocketAddress) ctx.channel().remoteAddress();
5758
return address;
5859
}
60+
61+
/**
62+
* 192.168.1.1|+|2017-05-04 14:09:15|+|GET|+|/index|+|
63+
* @param request
64+
* @param client_ip
65+
*/
5966
private void generateLog(HttpRequest request,String client_ip){
6067
HttpHeaders headers = request.headers();
6168
StringBuffer buffer = new StringBuffer();
62-
buffer.append("currentTime:"+ TimeUtil.getFormattedTime(new Date())+"\n");
63-
buffer.append("remoteIp:"+client_ip+"\n");
64-
for (Map.Entry<String, String> entry:headers.entries()){
65-
buffer.append(entry.getKey()+":"+entry.getValue()+"\n");
66-
}
69+
buffer.append(client_ip+ Const.LOGSEPARATOR);
70+
buffer.append(TimeUtil.getFormattedTime(new Date())+Const.LOGSEPARATOR);
71+
buffer.append(request.method().name()+Const.LOGSEPARATOR);
72+
buffer.append(request.uri()+Const.LOGSEPARATOR);
73+
buffer.append(headers.get(HttpHeaderNames.USER_AGENT)+Const.LOGSEPARATOR);
6774
logger.accessLog(buffer.toString() + "\n");
6875
}
6976
}

easyproxy-core/src/main/java/org/easyproxy/handler/http/server/BaseServerChildHandler.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@ public class BaseServerChildHandler extends ChannelInitializer<SocketChannel> {
3636
public static final String PERSONALPAGEHANLDER = "personalPageHandler";
3737
public static final String GETHANDLER = "getHandler";
3838
public static final String POSTHANDLER = "postHandler";
39-
public static final String PUTHANDLER = "putHandler";
40-
public static final String DELETEHANDLER = "deleteHandler";
39+
public static final String PUTDELETEHANDLER = "putdeleteHandler";
4140

4241

4342
@Override
@@ -52,14 +51,13 @@ protected void initChannel(SocketChannel ch) throws Exception {
5251
pipeline.addLast(DECOMPRESS, new HttpContentDecompressor());
5352
pipeline.addLast(AGGREGATOR, new HttpObjectAggregator(1024000));
5453
pipeline.addLast(FILTERHANDLER,new FireWallHandler());
55-
pipeline.addLast(LOGHANDLER,new AccessLogHandler());
54+
// pipeline.addLast(LOGHANDLER,new AccessLogHandler());
5655
pipeline.addLast(ANTILEECHhHANDLER,new AntiLeechHandler());
5756
pipeline.addLast(PERSONALPAGEHANLDER,new PersonalPageHandler());
5857
if (isProxy) {
5958
pipeline.addLast(GETHANDLER,new GetRequestHandler());
6059
pipeline.addLast(POSTHANDLER,new PostRequestHandler());
61-
pipeline.addLast(PUTHANDLER,new PutRequestHandler());
62-
pipeline.addLast(DELETEHANDLER,new DeleteRequestHandler());
60+
pipeline.addLast(PUTDELETEHANDLER,new PutAndDeleteRequestHandler());
6361
}
6462
}
6563

easyproxy-core/src/main/java/org/easyproxy/handler/http/server/DeleteRequestHandler.java

Lines changed: 0 additions & 83 deletions
This file was deleted.

0 commit comments

Comments
 (0)