1、“代理服务器”配置如下(代理服务器必须允许任意端口“入站”连接):
<?xml version="1.0" encoding="GBK"?>
<app-config code="PROXY" name="proxy-server">
<app-parameter>
<proxy-service-port value="9001"/><!--自定义代理端口 -->
<access-token value="nnnnn”"/><!--访问token,必须为数字【可选配】 -->
<!-- 如果自己有证书及私钥,则配置如下项,启动安全的SSL通道,其中文件名需要配置正确;没有证书则不需要配置,启用普通tcp连接
<ssl-cacert-file value="xxx.crt"/>
<ssl-privatekey-file value="xxx.key"/>
-->
</app-parameter>
<moudle-parameter>
<log-level value="LOG_ERROR"/>
<log-write-mode value="CONSOLE_ONLY"/>
</moudle-parameter>
</app-config>
2、"服务端"中增加如下配置:
......
<app-parameter>
<!-- 如果代理服务器启动安全的SSL通道,这里必须配置证书及私钥
<ssl-cacert-file value="xxx.crt"/>
<ssl-privatekey-file value="xxx.key"/>
-->
</app-parameter>
<moudle-parameter>
......
</moudle-parameter>
<!-- 配置上述代理服务器的ip或域名+端口,注意:ip必须为公网IP。ssl选项必须配置正确,如果代理服务器有证书且生效则配置为true否则为false -->
<channel address="xxx.xxx.xxx.xxx:9001" ssl="false" token="nnnnn" /><!--访问token,必须与代理服务器一致,如果没有则不配 -->
<?xml version="1.0" encoding="GBK"?>
<app-config code="PROXY" name="proxy-server">
<moudle-parameter>
<log-level value="LOG_ERROR"/>
<log-write-mode value="CONSOLE_ONLY"/>
<app-name value="xxxxx [name of service points]." /><!-- need modify -->
<app-description value="yyyyy [description of service points]" /><!-- need modify -->
<user-audit value="N:index"/><!-- need modify (N 为注册成功返回的服务ID,index为自定义的服务端实例序号,建议从1开始,不能重复. 例如:[12345:1])-->
</moudle-parameter>
</app-config>
1、后台执行权限(如果不允许,则app进入后台会断开连接)
2、网络访问权限(基本权限)
1、设置 -> 无线及网络 -> WLAN -> 系统休眠保持连接 "允许" (否则,系统休眠会被断连)
2、设置 -> 无线及网络 -> 移动网络 -> 高级 ->始终保持数据连接 "允许"
1、用android手机浏览器打开 https://github.com/lazy-luo/smarGate/raw/master/app-release.apk
2、弹出框中下载安装
网盘链接为最新测试版本,github上版本稍有滞后
附网盘下载地址: https://pan.baidu.com/s/14Iq60kxHW711NVoCVKWySg
gitee地址(速度快些,不会有图片无法显示问题):https://gitee.com/lazy-luo/smarGate
如有需要请添加微信:ws_lzy008 注明:smarGate ,视情况组建技术讨论群
A:不需要,只需选择任意一台设备安装服务端即可。
A:服务端空闲约2-3分钟,会自动断开,须等待10秒左右重连。
A:请将客户端及服务端更新到最新版本;确保手机与内网电脑能获取到全局ipv6地址;确保没被防火墙拦截(windows);排查两个ipv6是否能路由出去;查看hosts文件确保hostname能解析到ipv6地址。
A:smarGate基于TCP协议进行P2P穿透,具备更好的安全性,及连接可靠性。
A:确保手机NAS客户端ip黑名单中没有localhost(127.0.0.1)。
A:手机连接wifi,让团队成员电脑连接手机IP:PORT,直接通过手机代理进行访问。实测,2k以上的手机,可以带上百人团队共享访问。
A:为了防止误操作关闭服务端,新版本windows服务端采用后台方式运行。如需关闭,请用“任务管理器”
A:不需要,直接点对点连接,网速取决于你的客户端及服务端所在网络。
A:经过长时间测试,按偶尔使用的频次,耗电量和任意一个系统进程相近,极低;频繁后台使用情况,长时间“后台”使用,整体耗电量等同于偶尔使用微信的耗电量。电源管理提示“后台频繁刷新。。。”,不用管它,后台传输数据都会有此提示,关键看耗电排名
A:首选P2P连接,无P2P时使用自定义代理连接,无前两者连接时使用官方代理连接。
A: 可以多点登录,但同一时刻只能有一个客户端可以进行P2P;服务端单台机器只能启1个实例,服务端各实例配置确保序号不重复,否则将无法正常使用。
A:v0.27版本Android app加入了“服务端模式”的支持。
A:ipv4下P2P标识为:
A:ipv6下P2P标识为:
A:自定义路由标识为:
如果您觉得 smarGate 对你有帮助,欢迎给予一定的捐助来维持项目的长期发展!
ps:捐赠建议附上注册用户名
1、修复ipv6与ipv4网络切换存在的服务端core-dump问题
2、客户端新增ipv4-only网络模式选项,用于在ipv6网络环境下由于特殊需求需要使用ipv4进行p2p连接的场景(强制使用ipv4进行网络穿透)
3、其它一些bug修复
注意:特定场景下由于存在core-dump的致命问题,0.29版本需要同时更新客户端及服务端
1、自定义代理增加token支持,防止非法访问。同时支持配置访问许可列表(access-token只能输入数字,access-restricting可输入允许的SID,多个SID用“:”分隔,access-restricting可不配)
A、代理服务器配置:
<app-parameter>
<proxy-service-port value="9001"/>
<access-token value="nnnnn”"/>
<access-restricting value="xxxxx"/>
…
</app-parameter>
B、服务端配置(token必须与代理服务器一致):
<channel address="x.x.x.x:9001" ssl="true" token="nnnnn" />
2、对于隧道超时断开机制做了优化(仅针对P2P隧道及用户代理隧道):只要有连接接入且连接正常情况下客户端会随机时延发送心跳,尽量防止超时断开。
场景:ssh访问时,较长时间不输入会保持心跳,不至于1两分钟空闲就断开了。
1、去掉root权限获取功能,保持最低权限要求。暂不开发支持配置1024以下端口的能力
2、由于自用树莓派被孩子摔坏了,只能压榨淘汰手机剩余价值,Android app端增加“服务端模式”支持,可以放在家中作为服务器
1、修复IP切换时配置的HTTP服务可能不可用的问题
2、对已root手机,尝试获取root权限,支持配置1024以下的保留端口
3、解决绝对路径执行(多为开机启动脚本)且不指定-f参数时无法定位默认配置文件问题
4、服务端增加HTTP基于内容替换选项(影响效率,忽略压缩数据。对于部分js中将ip端口返回到浏览器的不规范内网web应用),默认不过滤内容
……
<moudle-parameter>
<http-content-type-filter value="application/javascript" />
……
<moudle-parameter/>
……
5、服务端增加指定P2P协商端口选项,默认选择随机端口
……
<moudle-parameter>
<negotiation-port value="xxxxx" />
……
<moudle-parameter/>
……
6、增加“官方代理”开关,默认打开。关闭时在任何情况下都不会走官方代理转发数据
1、修复tcp-cork特定条件下丢失writable-event造成网络延迟的BUG
2、提升内存池运行性能
3、增加 -f 命令行参数,可指定配置文件全路径
4、其它优化,版本保持不变
1、修复 http代理失效 BUG
2、app端提供ipv6地址显示
3、版本更新到0.25
1、花生壳支持UDP了?好吧,支持一下UDP端口转发,游戏串流的朋友可以试用一下
2、支持 UDP over TCP 模式
3、其它小的优化
1、修复 memory leak BUG
2、其它小优化,版本保持不变
3、提升P2P重连可靠性
1、修复弱网络环境下windows服务端高CPU占用BUG
2、整体提升网络传输速度
1、提升P2P检测可靠性
2、修复windows下特定情况无法进行P2P连接的BUG
3、客户端提供了手动p2p重连功能(弱网络环境下自动重连可能失败,此时可以手动重连)
1、进一步降低在低速率下服务端cpu占用率
2、常规优化,版本保持不变
1、优化网络性能
2、客户端支持显示实时网速
1、解决客户端修改密码后自动登录失败的BUG
2、提供自动登录超时控制
1、优化连接检查性能(提供并行异步检测)
2、支持将HTTPS代理到HTTP(客户端http访问,服务端为https)
1、性能优化
2、解决特定条件下(自定义路由)无法可靠断开服务端连接的BUG
3、进行静态编译,不再依赖inux系统gcc动态库,可直接在alpine中运行(需要创建软连接)
4、支持编译为mini版本,不再静态编译openssl;对openssl库从0.9.8~1.1.1的全系动态兼容,二进制包缩小为1M左右(已放入dynamic目录,需配置ssl库)
1、性能优化
2、提供ipv6 P2P开关机制:<ipv4-tunnel-first value="false"/> 如需关闭ipv6点对点则设置为“true”,默认值为“false”
3、增加客户端ipv6标志及连接状态提示
1、修复Raspbian jessie下无法检测IPv6的BUG
1、性能优化
2、提供P2P断开重连机制
1、修复服务端在挂载私有路由时当线程数量<4时偶发CPU高占用的BUG,版本保持不变
1、修复服务端在挂载私有路由时偶发core dump的BUG
1、修复IPV4/IPV6网络切换,无法P2P的BUG
1、解决网络切换重连失败问题
2、引擎性能优化
3、新增对IPv6防火墙穿透支持(移动端支持ipv6,且内网服务端支持ipv6)
【重要提示】v0.14版本将于之前版本不兼容,请务必更新版本!!!
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。