Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
flyseaskying
lanproxy
提交
303f1194
L
lanproxy
项目概览
flyseaskying
/
lanproxy
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
lanproxy
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
303f1194
编写于
11月 16, 2017
作者:
F
fengfei
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
优化
上级
6b93b96b
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
36 addition
and
50 deletion
+36
-50
proxy-client/src/main/java/org/fengfei/lanproxy/client/ProxyClientContainer.java
...ava/org/fengfei/lanproxy/client/ProxyClientContainer.java
+1
-1
proxy-protocol/src/main/java/org/fengfei/lanproxy/protocol/IdleCheckHandler.java
.../java/org/fengfei/lanproxy/protocol/IdleCheckHandler.java
+0
-5
proxy-server/src/main/java/org/fengfei/lanproxy/server/ProxyServerContainer.java
...ava/org/fengfei/lanproxy/server/ProxyServerContainer.java
+35
-44
未找到文件。
proxy-client/src/main/java/org/fengfei/lanproxy/client/ProxyClientContainer.java
浏览文件 @
303f1194
...
...
@@ -84,7 +84,7 @@ public class ProxyClientContainer implements Container, ChannelStatusListener {
}
ch
.
pipeline
().
addLast
(
new
ProxyMessageDecoder
(
MAX_FRAME_LENGTH
,
LENGTH_FIELD_OFFSET
,
LENGTH_FIELD_LENGTH
,
LENGTH_ADJUSTMENT
,
INITIAL_BYTES_TO_STRIP
));
ch
.
pipeline
().
addLast
(
new
ProxyMessageEncoder
());
ch
.
pipeline
().
addLast
(
new
IdleCheckHandler
(
IdleCheckHandler
.
READ_IDLE_TIME
,
IdleCheckHandler
.
WRITE_IDLE_TIME
,
0
));
ch
.
pipeline
().
addLast
(
new
IdleCheckHandler
(
IdleCheckHandler
.
READ_IDLE_TIME
,
IdleCheckHandler
.
WRITE_IDLE_TIME
-
10
,
0
));
ch
.
pipeline
().
addLast
(
new
ClientChannelHandler
(
realServerBootstrap
,
bootstrap
,
ProxyClientContainer
.
this
));
}
});
...
...
proxy-protocol/src/main/java/org/fengfei/lanproxy/protocol/IdleCheckHandler.java
浏览文件 @
303f1194
...
...
@@ -30,11 +30,6 @@ public class IdleCheckHandler extends IdleStateHandler {
@Override
protected
void
channelIdle
(
ChannelHandlerContext
ctx
,
IdleStateEvent
evt
)
throws
Exception
{
// 正在使用中的连接不处理
if
(
ctx
.
channel
().
attr
(
Constants
.
NEXT_CHANNEL
)
!=
null
)
{
return
;
}
if
(
IdleStateEvent
.
FIRST_WRITER_IDLE_STATE_EVENT
==
evt
)
{
logger
.
debug
(
"channel write timeout {}"
,
ctx
.
channel
());
ProxyMessage
proxyMessage
=
new
ProxyMessage
();
...
...
proxy-server/src/main/java/org/fengfei/lanproxy/server/ProxyServerContainer.java
浏览文件 @
303f1194
...
...
@@ -64,19 +64,16 @@ public class ProxyServerContainer implements Container, ConfigChangedListener {
@Override
public
void
start
()
{
ServerBootstrap
bootstrap
=
new
ServerBootstrap
();
bootstrap
.
group
(
serverBossGroup
,
serverWorkerGroup
).
channel
(
NioServerSocketChannel
.
class
)
.
childHandler
(
new
ChannelInitializer
<
SocketChannel
>()
{
@Override
public
void
initChannel
(
SocketChannel
ch
)
throws
Exception
{
ch
.
pipeline
().
addLast
(
new
ProxyMessageDecoder
(
MAX_FRAME_LENGTH
,
LENGTH_FIELD_OFFSET
,
LENGTH_FIELD_LENGTH
,
LENGTH_ADJUSTMENT
,
INITIAL_BYTES_TO_STRIP
));
ch
.
pipeline
().
addLast
(
new
ProxyMessageEncoder
());
ch
.
pipeline
().
addLast
(
new
IdleCheckHandler
(
IdleCheckHandler
.
READ_IDLE_TIME
,
IdleCheckHandler
.
WRITE_IDLE_TIME
,
0
));
ch
.
pipeline
().
addLast
(
new
ServerChannelHandler
());
}
});
bootstrap
.
group
(
serverBossGroup
,
serverWorkerGroup
).
channel
(
NioServerSocketChannel
.
class
).
childHandler
(
new
ChannelInitializer
<
SocketChannel
>()
{
@Override
public
void
initChannel
(
SocketChannel
ch
)
throws
Exception
{
ch
.
pipeline
().
addLast
(
new
ProxyMessageDecoder
(
MAX_FRAME_LENGTH
,
LENGTH_FIELD_OFFSET
,
LENGTH_FIELD_LENGTH
,
LENGTH_ADJUSTMENT
,
INITIAL_BYTES_TO_STRIP
));
ch
.
pipeline
().
addLast
(
new
ProxyMessageEncoder
());
ch
.
pipeline
().
addLast
(
new
IdleCheckHandler
(
IdleCheckHandler
.
READ_IDLE_TIME
,
IdleCheckHandler
.
WRITE_IDLE_TIME
,
0
));
ch
.
pipeline
().
addLast
(
new
ServerChannelHandler
());
}
});
try
{
bootstrap
.
bind
(
ProxyConfig
.
getInstance
().
getServerBind
(),
ProxyConfig
.
getInstance
().
getServerPort
()).
get
();
...
...
@@ -97,27 +94,23 @@ public class ProxyServerContainer implements Container, ConfigChangedListener {
private
void
initializeSSLTCPTransport
(
String
host
,
int
port
,
final
SSLContext
sslContext
)
{
ServerBootstrap
b
=
new
ServerBootstrap
();
b
.
group
(
serverBossGroup
,
serverWorkerGroup
).
channel
(
NioServerSocketChannel
.
class
)
.
childHandler
(
new
ChannelInitializer
<
SocketChannel
>()
{
@Override
public
void
initChannel
(
SocketChannel
ch
)
throws
Exception
{
ChannelPipeline
pipeline
=
ch
.
pipeline
();
try
{
pipeline
.
addLast
(
"ssl"
,
createSslHandler
(
sslContext
,
Config
.
getInstance
().
getBooleanValue
(
"server.ssl.needsClientAuth"
,
false
)));
ch
.
pipeline
().
addLast
(
new
ProxyMessageDecoder
(
MAX_FRAME_LENGTH
,
LENGTH_FIELD_OFFSET
,
LENGTH_FIELD_LENGTH
,
LENGTH_ADJUSTMENT
,
INITIAL_BYTES_TO_STRIP
));
ch
.
pipeline
().
addLast
(
new
ProxyMessageEncoder
());
ch
.
pipeline
().
addLast
(
new
IdleCheckHandler
(
IdleCheckHandler
.
READ_IDLE_TIME
,
IdleCheckHandler
.
WRITE_IDLE_TIME
,
0
));
ch
.
pipeline
().
addLast
(
new
ServerChannelHandler
());
}
catch
(
Throwable
th
)
{
logger
.
error
(
"Severe error during pipeline creation"
,
th
);
throw
th
;
}
}
});
b
.
group
(
serverBossGroup
,
serverWorkerGroup
).
channel
(
NioServerSocketChannel
.
class
).
childHandler
(
new
ChannelInitializer
<
SocketChannel
>()
{
@Override
public
void
initChannel
(
SocketChannel
ch
)
throws
Exception
{
ChannelPipeline
pipeline
=
ch
.
pipeline
();
try
{
pipeline
.
addLast
(
"ssl"
,
createSslHandler
(
sslContext
,
Config
.
getInstance
().
getBooleanValue
(
"server.ssl.needsClientAuth"
,
false
)));
ch
.
pipeline
().
addLast
(
new
ProxyMessageDecoder
(
MAX_FRAME_LENGTH
,
LENGTH_FIELD_OFFSET
,
LENGTH_FIELD_LENGTH
,
LENGTH_ADJUSTMENT
,
INITIAL_BYTES_TO_STRIP
));
ch
.
pipeline
().
addLast
(
new
ProxyMessageEncoder
());
ch
.
pipeline
().
addLast
(
new
IdleCheckHandler
(
IdleCheckHandler
.
READ_IDLE_TIME
,
IdleCheckHandler
.
WRITE_IDLE_TIME
,
0
));
ch
.
pipeline
().
addLast
(
new
ServerChannelHandler
());
}
catch
(
Throwable
th
)
{
logger
.
error
(
"Severe error during pipeline creation"
,
th
);
throw
th
;
}
}
});
try
{
// Bind and start to accept incoming connections.
...
...
@@ -131,16 +124,14 @@ public class ProxyServerContainer implements Container, ConfigChangedListener {
private
void
startUserPort
()
{
ServerBootstrap
bootstrap
=
new
ServerBootstrap
();
bootstrap
.
group
(
serverBossGroup
,
serverWorkerGroup
).
channel
(
NioServerSocketChannel
.
class
)
.
childHandler
(
new
ChannelInitializer
<
SocketChannel
>()
{
@Override
public
void
initChannel
(
SocketChannel
ch
)
throws
Exception
{
ch
.
pipeline
().
addLast
(
new
IdleCheckHandler
(
IdleCheckHandler
.
USER_CHANNEL_READ_IDLE_TIME
,
0
,
0
));
ch
.
pipeline
().
addFirst
(
new
BytesMetricsHandler
());
ch
.
pipeline
().
addLast
(
new
UserChannelHandler
());
}
});
bootstrap
.
group
(
serverBossGroup
,
serverWorkerGroup
).
channel
(
NioServerSocketChannel
.
class
).
childHandler
(
new
ChannelInitializer
<
SocketChannel
>()
{
@Override
public
void
initChannel
(
SocketChannel
ch
)
throws
Exception
{
ch
.
pipeline
().
addFirst
(
new
BytesMetricsHandler
());
ch
.
pipeline
().
addLast
(
new
UserChannelHandler
());
}
});
List
<
Integer
>
ports
=
ProxyConfig
.
getInstance
().
getUserPorts
();
for
(
int
port
:
ports
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录