Compare commits

...
51 Commits
Author SHA1 Message Date
zhiyong.luo 0926163ab5 Update readme.md 2022-08-06 14:10:52 +08:00
zhiyong.luo f6bdb525d8 bug-fixed 2022-08-06 14:05:07 +08:00
zhiyong.luo 8e2a653f3a bug-fixed 2022-08-06 14:02:21 +08:00
zhiyong.luo 8f05ced9b1 bug-fixed 2022-08-06 14:00:11 +08:00
zhiyong.luo 74e8e60a1c Delete windows_x86v0.31.1.tar 2022-08-06 13:54:58 +08:00
zhiyong.luo 27dc32b20f Delete linux_x86v0.31.1.tar 2022-08-06 13:54:39 +08:00
zhiyong.luo 50a5fd3702 Delete linux_x86_64v0.31.1.tar 2022-08-06 13:54:17 +08:00
zhiyong.luo 302996c2e0 Delete linux_armv7v0.31.1.tar 2022-08-06 13:54:00 +08:00
zhiyong.luo e1443ca934 Delete app-release.apk 2022-08-06 13:53:49 +08:00
zhiyong.luo 5b6eca68b2 bug-fixed 2022-08-01 23:28:52 +08:00
zhiyong.luo 9579a47d4c bug-fixed 2022-08-01 23:27:21 +08:00
zhiyong.luo 08078adf04 Add files via upload 2022-07-31 00:25:55 +08:00
zhiyong.luo 641b640cc9 bug-fixed 2022-07-28 23:56:44 +08:00
zhiyong.luo 27d864979e bug-fixed 2022-07-28 23:50:43 +08:00
zhiyong.luo 7990272548 bug-fixed 2022-07-28 23:49:50 +08:00
zhiyong.luo b899c123b2 Delete app-release.apk 2022-07-28 23:48:35 +08:00
zhiyong.luo e9d53772fc Delete windows_x86v0.31.0.tar 2022-07-28 23:48:20 +08:00
zhiyong.luo de3b76abf0 Delete linux_x86v0.31.0.tar 2022-07-28 23:48:05 +08:00
zhiyong.luo 0ce10da228 Delete linux_x86_64v0.31.0.tar 2022-07-28 23:47:51 +08:00
zhiyong.luo 50881e941e Delete linux_armv7v0.31.0.tar 2022-07-28 23:46:39 +08:00
zhiyong.luo d68e1b68c4 bug-fixed 2022-07-24 12:47:35 +08:00
zhiyong.luo 050a2809a3 bug-fixed 2022-07-24 12:45:25 +08:00
zhiyong.luo 5d006f56ce bug-fixed 2022-07-24 09:15:15 +08:00
zhiyong.luo 2f38f410e2 bug-fixed 2022-07-23 23:19:12 +08:00
zhiyong.luo 7139de6d6c bug-fixed 2022-07-23 23:17:38 +08:00
zhiyong.luo d62fcd56db Update readme.md 2022-07-22 00:58:49 +08:00
zhiyong.luo fb9dc8116a upgrade 2022-07-22 00:47:05 +08:00
zhiyong.luo dfe36459af upgrade 2022-07-22 00:43:40 +08:00
zhiyong.luo d00fe79829 upgrade 2022-07-22 00:18:07 +08:00
zhiyong.luo f37702ad51 Delete windows_x86v0.30.4.tar 2022-07-22 00:16:50 +08:00
zhiyong.luo 1fc5801eef Delete linux_x86v0.30.4.tar 2022-07-22 00:16:37 +08:00
zhiyong.luo da1c5210df Delete linux_x86_64v0.30.4.tar 2022-07-22 00:16:21 +08:00
zhiyong.luo fdf1c0885e Delete linux_armv7v0.30.4.tar 2022-07-22 00:16:06 +08:00
zhiyong.luo 198349283b upgrade 2022-07-22 00:15:10 +08:00
zhiyong.luo a6411bdd51 bug-fixed 2022-07-09 18:15:49 +08:00
zhiyong.luo f6ebd0efb1 bug-fixed 2022-07-09 18:14:27 +08:00
zhiyong.luo aef2919932 Update readme.md 2022-07-01 00:01:50 +08:00
zhiyong.luo e16455d2d9 bug-fixed 2022-06-30 23:33:12 +08:00
zhiyong.luo 6fdbfcd82a Delete window_x86v0.30.4.tar 2022-06-30 23:31:17 +08:00
zhiyong.luo c216885949 bug-fixed 2022-06-30 23:30:17 +08:00
zhiyong.luo 0f34906c03 Update readme.md 2022-06-26 23:03:05 +08:00
zhiyong.luo 1c1a2a99de Add files via upload 2022-05-29 13:16:09 +08:00
zhiyong.luo 7d15b0b952 Delete linux_riscv64.tar 2022-05-29 13:13:58 +08:00
zhiyong.luo 1be4f57bb0 Delete linux_riscv32.tar 2022-05-29 13:13:44 +08:00
zhiyong.luo de8145267f Update readme.md 2022-05-19 13:18:29 +08:00
zhiyong.luo d32230f999 Update readme.md 2022-05-18 00:23:42 +08:00
zhiyong.luo 403d63d98b Update readme.md 2022-05-18 00:20:48 +08:00
zhiyong.luo 0df276252d Update readme.md 2022-05-18 00:17:24 +08:00
zhiyong.luo 3d7ddaaeba Update readme.md 2022-05-17 22:08:27 +08:00
zhiyong.luo ee46d135d5 bug-fixed 2022-05-17 21:59:43 +08:00
zhiyong.luo c89a9b13c3 bug-fixed 2022-05-17 21:58:08 +08:00
20 changed files with 65 additions and 12 deletions
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+65 -12
View File
@@ -1,7 +1,7 @@
# 中文 | [English](https://github.com/lazy-luo/smarGate/blob/master/README_en.md)
# 快速概览<a href=https://github.com/lazy-luo/smarGate/wiki/快速上手手册>【快速上手手册】</a><br>
* 平台适配,支持linux、windows、macos、android、(tob,小型机:hp-unix、solaris、AIX<br>
* cpu架构,支持x86、arm、mipstobalpha、PowerPC、SPRAC<br>
* cpu架构,支持x86、arm、mips、riscvtobalpha、PowerPC、SPRAC<br>
* 注重安全,“内网”到“内网”的穿透,无需映射任何端口到外网,不更改任何防火墙配置<br>
* 注重带宽,”4G手机+v6宽带“采用P2P方式访问内网服务(基于TCP协议,v4支持NAT1-3穿透)<br>
* 注重节约,无需购买vps、无需公网IP;家中淘汰Android手机可做服务器<br>
@@ -16,16 +16,17 @@
# APP端配置(必须)--- 无法正常使用典型情况
* 必须配置“允许后台运行”权限,否则切后台即被系统断连
* 必须配置“休眠时始终保持网络连接”,否则一旦休眠则被系统断连
* 可以配置“允许自启动”权限,否则Android服务端模式下无法开机启动(v0.30版本)
* 可以配置“麦克风”权限,否则Android服务端无法提供语音监听功能(v0.30版本)
* 注意:SG不提供到国外IP的数据转发
* 可以配置“允许自启动”权限,否则Android服务端模式下无法开机启动(v0.30及后续版本)
* 可以配置“麦克风”权限,否则Android服务端无法提供语音监听功能(v0.30及后续版本)
* 注意:SG官方代理不提供到港澳台及国外IP的数据转发
## smarGate是什么?<br>
#### 官方命名为“移动网关”,通过手机客户端将位于内网的服务端网络进行按需暴露,核心引擎采用c++实现。<br>
#### “移动网关”是用户私有网关,所有共享访问入口都在客户端,不是类似其它穿透工具主推的面向域名的公共访问入口。打个比方:smarGate是将防盗门随身携带,其它穿透产品是将防盗门放到公共场所,额...虽然需要钥匙,但有种职业叫开锁匠<br>
##### 具备如下技术特点:<br>
* 安全性 <br>
* 手机客户端作为唯一的访问入口,按需开放,及时关闭。<br>
* 手机客户端作为主要的访问入口,按需开放,及时关闭。<br>
* 支持服务端间端口映射组网(v0.31及以后版本)。<br>
* 电脑可以接入手机热点或wifi环境下通过访问手机开放的端口穿透到内网进行访问(客户端会显示手机ip)。<br>
* 手机网络一般为私有网段别人无法访问。<br>
* 用户间隔离。<br>
@@ -54,7 +55,7 @@
## smarGate有什么主要功能?<br>
* 支持代理穿透<br>
* 官方提供免费的代理服务器(共享带宽,多人共用时比较慢,最佳实践为启用自有代理服务器)<br>
* <I>如果自己有云服务器(具备公网ip),用户可自定义自己的代理服务器,且在代理服务器上安装proxy_server。所有数据传输走用户配置的代理服务器(为了防止中间人攻击,代理服务器需要用户生成自签名证书)</I> <br>
* <I>如果自己有云服务器(具备公网ip),用户可自定义自己的代理服务器,且在代理服务器上安装proxy_server。所有数据传输走用户配置的代理服务器(代理服务器需要证书,可自动生成也可配置已有证书)</I> <br>
```
1、“代理服务器”配置如下(代理服务器必须允许任意端口“入站”连接):
@@ -64,8 +65,10 @@
<app-config code="PROXY" name="proxy-server">
<app-parameter>
<proxy-service-port value="9001"/><!--自定义代理端口 -->
<owner-id value="xxxx" /><!-- xxxx 为注册成功返回的用户ID -->
<access-token value="nnnnn”"/><!--访问token,必须为数字【可选配】 -->
<!-- 如果自己有证书及私钥,则配置如下项,启动安全的SSL通道,其中文件名需要配置正确;没有证书则不需要配置,启用普通tcp连接
<ssl-create-certfile value="true" /><!-- 如未用如下选项指定证书,则自动生成证书【必须确保安装openssl】,默认为 false 代表无需自动生成 -->
<!-- 如果自己有证书及私钥,则配置如下项,启动安全的SSL通道,其中文件名需要配置正确;没有证书则不需要配置,可启用上面自动生成证书选项
<ssl-cacert-file value="xxx.crt"/>
<ssl-privatekey-file value="xxx.key"/>
-->
@@ -82,6 +85,7 @@
```
......
<app-parameter>
<ssl-create-certfile value="true" />
<!-- 如果代理服务器启动安全的SSL通道,这里必须配置证书及私钥
<ssl-cacert-file value="xxx.crt"/>
<ssl-privatekey-file value="xxx.key"/>
@@ -90,8 +94,8 @@
<moudle-parameter>
......
</moudle-parameter>
<!-- 配置上述代理服务器的ip或域名+端口,注意:ip必须为公网IP。ssl选项必须配置正确,如果代理服务器有证书且生效则配置为true否则为false -->
<channel address="xxx.xxx.xxx.xxx:9001" ssl="false" token="nnnnn" /><!--访问token,必须与代理服务器一致,如果没有则不配 -->
<!-- 配置上述代理服务器的ip或域名+端口,注意:ip必须为公网IP。ssl选项必须配置正确,如果代理服务器有证书(包括自动生成证书)且生效则配置为true否则为false -->
<channel address="xxx.xxx.xxx.xxx:9001" ssl="true" token="nnnnn" /><!--访问token,必须与代理服务器一致,如果没有则不配 -->
```
* 支持p2p通道<br>
* 使用TCP协议进行p2p穿透,提升安全性<br>
@@ -108,9 +112,10 @@
<tr><td>NAT3-4</td><td>NAT4</td><td>NO</td></tr>
</table>
* 支持外网发布(有违安全设计理念,免费版不提供支持<br>
* 支持外网发布(有违安全设计理念,v0.31版本开放<br>
* 其它内网穿透工具的主推模式,将内网服务直接映射到外网端口<br>
* 支持服务端之间的P2P端口映射(v0.31及以后版本) <br>
* 具体配置主要通过 ip@index方式支持<br>
## 使用指南:<br>
<a href="https://www.baidu.com/s?wd=smargate%20内网穿透">使用实践-度娘</a><br><br>
<a href="https://www.google.com/search?q=smargate+内网穿透">使用实践-google</a>
@@ -138,12 +143,23 @@
```
<?xml version="1.0" encoding="GBK"?>
<app-config code="PROXY" name="proxy-server">
<app-parameter>
<!-- [ none | first | only ] ,none is default. 为P2P连接启用SSL加密,only代表只接受加密连接 -->
<ssl-tunnel-required value="first" />
<!-- 如未用如下选项指定证书,则自动生成证书【必须确保安装openssl】,默认为 false 代表无需自动生成 -->
<ssl-create-certfile value="true" />
<!-- 以下选项仅适用dynamic下的mini版本,指定ssl库及crypto库实际文件,linux下可由:ldd $(which openssl)|grep -E "libssl|libcrypto"|awk '{print $1}' 获取
<libssl value="libssl.so" />
<libcrypto value="libcrypto.so" />
-->
</app-parameter>
<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])-->
<!-- user-audit need modify (N 为注册成功返回的服务ID,index为自定义的服务端实例序号,建议从1开始,不能重复. 例如:[12345:1])-->
<user-audit value="N:index"/>
</moudle-parameter>
</app-config>
```
@@ -241,6 +257,43 @@ ps:捐赠建议附上注册用户名<br>
<summary>
<mark><font size=5 color=darkred>更新历史</font></mark>
</summary>
### 2022-08-06更新到v0.31.2<br>
1、修复Windows平台偶发闪退BUG,增强稳定性<br>
2、P2P连接及自定义代理进行keep-alive操作,尽可能避免重连时间窗口,提升可用性<br>
3、其它可用性优化,降低app能耗<br>
4、版本更新到v0.31.2<br>
### 2022-07-28更新到v0.31.1<br>
1、修复特定情况下,服务端重启,组网配置不生效的BUG<br>
2、修复NAT1服务器P2P协商BUG<br>
3、版本更新到v0.31.1<br>
### 2022-07-22更新到v0.31: <br>
1、提供服务端之间端口映射,服务端如有公网ip则可直接从公网访问(仅需在app上配置)
* 配置方式,在原有映射配置“远程ip”配置中支持:ip@idx方式进行配置(idx为不同“访问点”的序号)
* 此种方式配置的“本地端口”实际是在当前“访问点”所在主机上(注意:不在APP所在手机上)
* 服务端间如能P2P成功(或自定义代理连接成功)则配置的映射将生效,否则不生效
* APP上只有在P2P连接时才会定时刷新服务端间代理状态
* 配置成功后需要等待10秒左右才能在App上看到实际状态
2、版本升级到v0.31<br>
### 2022-06-30: <br>
1、修复32位大端机器运行服务端,无法正常代理的BUG<br>
2、版本暂保持不变<br>
### 2022-05-17: <br>
1、服务端支持自动生成自签名证书(默认文件名为server.xxx<br>
-->a、配置ssl-create-certfile选项 <br>
```
<app-parameter>
<ssl-create-certfile value="true" />
...
</app-parameter>
```
-->b、确保安装openssl <br>
-->c、不要指定证书文件(不配置 ssl-cacert-file 及 ssl-privatekey-file<br>
### 2022-05-04: <br>
1、支持riscv32/64架构,编译时同mips架构使用musl库进行链接<br>
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 408 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 453 KiB

Binary file not shown.
Binary file not shown.