Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a7e0e721f3 | ||
|
|
04b1b3a9c0 | ||
|
|
784352c44d | ||
|
|
f3a83e67a7 | ||
|
|
9c411fd5d9 | ||
|
|
f2035b848b | ||
|
|
a0b2caf0b6 | ||
|
|
417f4e9354 | ||
|
|
969db39060 | ||
|
|
fc285b9916 | ||
|
|
5301e80916 | ||
|
|
61e738d8c4 | ||
|
|
5c5117f828 | ||
|
|
ba741f70cd | ||
|
|
8860ac3595 | ||
|
|
9986a346ed | ||
|
|
8da94071dc | ||
|
|
e44d26bf2a | ||
|
|
16a26182b2 | ||
|
|
79f395c093 | ||
|
|
c16d1fcdf5 | ||
|
|
a875ae051c | ||
|
|
2eb1524030 | ||
|
|
09f737df0f | ||
|
|
4ffc86cfae | ||
|
|
511edc8d70 | ||
|
|
d7a6eb28f3 | ||
|
|
864b354180 | ||
|
|
033c6f09d5 | ||
|
|
a0d590b3f0 | ||
|
|
8818711a5c | ||
|
|
05e44409f5 | ||
|
|
ec10470b82 | ||
|
|
a5d117df84 | ||
|
|
d4600b95a7 | ||
|
|
a323452a82 | ||
|
|
9d4d3a1bff | ||
|
|
71aaa0c421 | ||
|
|
4c809b8577 | ||
|
|
fd884aca05 | ||
|
|
a347054e17 | ||
|
|
7ce9f7ab98 | ||
|
|
0d07d5d84b | ||
|
|
11f5d69309 | ||
|
|
b04f4b19cb | ||
|
|
297b07f5cc | ||
|
|
5c84ac3835 | ||
|
|
9ff76358eb | ||
|
|
ccd4b7265d | ||
|
|
5f1e37f9b2 | ||
|
|
e8aa34c0b9 | ||
|
|
a107c598f3 | ||
|
|
5de5a737d0 | ||
|
|
10c95b1129 | ||
|
|
2e10283976 | ||
|
|
6678b19f11 | ||
|
|
dac82f87a9 | ||
|
|
e2f165fa1a | ||
|
|
f11ba77b30 | ||
|
|
5ab5d43d60 | ||
|
|
507176936a | ||
|
|
0af55588c9 | ||
|
|
2706478a3c | ||
|
|
5b9186e0c1 | ||
|
|
7d7928cbb1 | ||
|
|
0507f6c943 | ||
|
|
fc9e4195ad | ||
|
|
c278332b59 | ||
|
|
41e0de9db4 | ||
|
|
537d605ce2 | ||
|
|
ad741eabbd | ||
|
|
3a2eccc378 | ||
|
|
39eaa5623e | ||
|
|
5eba2ece13 | ||
|
|
4055258b42 | ||
|
|
a6f16782cc | ||
|
|
afdfee6bbb | ||
|
|
59e3575ae0 | ||
|
|
ce0648a3ad | ||
|
|
84fea8dce5 | ||
|
|
7aff241795 | ||
|
|
b878451582 | ||
|
|
ef6a5f73c1 | ||
|
|
b8f828227c | ||
|
|
34cb8eb212 | ||
|
|
c1d2450821 | ||
|
|
e943a37952 | ||
|
|
6c1a1b3fa5 | ||
|
|
0e7ba63051 | ||
|
|
d8e6e2981d | ||
|
|
54fe3692c9 | ||
|
|
d22e3f570e | ||
|
|
7c8f6f00f0 | ||
|
|
e34d5a6ac4 | ||
|
|
dfa9e736d6 | ||
|
|
c064a8f75d | ||
|
|
c7a1b6a63c | ||
|
|
54ea1c5fcd | ||
|
|
af589a1f19 | ||
|
|
cb8c091106 | ||
|
|
75beeef7e1 | ||
|
|
9d01a75f26 | ||
|
|
aa053a1e2f | ||
|
|
b613e19974 | ||
|
|
3a39cf0b7d | ||
|
|
ca6daad11c | ||
|
|
e966a691a9 | ||
|
|
4dfd78f507 | ||
|
|
3563feee57 | ||
|
|
45e457ea5c | ||
|
|
f1edadbf0e | ||
|
|
cd11720ce0 | ||
|
|
b79cce7922 | ||
|
|
5d459a0da8 | ||
|
|
29f2b87d6a | ||
|
|
79e3ef7809 | ||
|
|
fa1acff040 | ||
|
|
06d56dc76b | ||
|
|
38895cc242 | ||
|
|
3040b97547 | ||
|
|
b3c3ec712c | ||
|
|
3ff5f29291 | ||
|
|
81f15e6b7c | ||
|
|
183b3547f9 | ||
|
|
9644504d6a | ||
|
|
0b4ff8c007 | ||
|
|
d8745d9014 | ||
|
|
d534518e45 | ||
|
|
6928f03222 | ||
|
|
fd25720423 | ||
|
|
921dd79a06 | ||
|
|
e54c76238d | ||
|
|
701bcdd813 | ||
|
|
6a9aa93e5f | ||
|
|
d1afbb85a2 | ||
|
|
70c9e0fd5a | ||
|
|
ee033c96b4 | ||
|
|
fc8377b015 | ||
|
|
c4a759a386 | ||
|
|
90c5099c76 | ||
|
|
02a9993d1b | ||
|
|
69b54ddfc1 | ||
|
|
ea4aa5fbd5 | ||
|
|
46b8b09bc8 | ||
|
|
d0eca690a2 | ||
|
|
f7b6f33dce | ||
|
|
6cb956f849 | ||
|
|
239e5744d6 | ||
|
|
b7fafef943 | ||
|
|
f8732412d0 | ||
|
|
b4b4d0b097 | ||
|
|
e318a595fb | ||
|
|
dfaf60a866 | ||
|
|
ba12d3424f | ||
|
|
33e2baeae8 | ||
|
|
5c835f862d | ||
|
|
643eb30faa | ||
|
|
67bc379985 | ||
|
|
8beffb9ec9 | ||
|
|
886ed198d6 | ||
|
|
e00bf424c0 | ||
|
|
012ace3899 | ||
|
|
18c4725445 | ||
|
|
0e304349ab | ||
|
|
fe666c2394 | ||
|
|
5d7b336405 | ||
|
|
1284effc4b | ||
|
|
aeaa19ead6 | ||
|
|
c5fae8266c | ||
|
|
65aaa1026b | ||
|
|
ab3fd24436 | ||
|
|
35e0492f29 | ||
|
|
030beafa46 | ||
|
|
ba86731f6b | ||
|
|
d69cafcff4 | ||
|
|
8ffbd3091d | ||
|
|
348cd3ec7a | ||
|
|
53eb170d0b | ||
|
|
bc5dab5869 | ||
|
|
13828cb306 | ||
|
|
ae5a83b237 | ||
|
|
7e3b775d84 | ||
|
|
eb5dbfe0d6 | ||
|
|
891ad6f883 | ||
|
|
6c181b5e30 | ||
|
|
4a135a5c17 | ||
|
|
1c1bf052dc | ||
|
|
81147115a4 | ||
|
|
58817430bc | ||
|
|
525b13df86 | ||
|
|
d33f66a400 | ||
|
|
49c338e8df | ||
|
|
3d48920b37 | ||
|
|
c0416db8aa | ||
|
|
e2467e67fe | ||
|
|
df165d19b2 | ||
|
|
ac1fe07833 | ||
|
|
676760e7b1 | ||
|
|
51a8f62764 | ||
|
|
12989ba2fa | ||
|
|
30b440ee76 | ||
|
|
5a0bb040a6 | ||
|
|
bb3b52e250 | ||
|
|
62ce901955 | ||
|
|
a615654697 | ||
|
|
ad3a31a9e2 | ||
|
|
1919db0da6 | ||
|
|
309fba0604 | ||
|
|
c51e67409a | ||
|
|
55bf94e4a8 | ||
|
|
07f3a38e69 | ||
|
|
b2c16fa763 | ||
|
|
4d23e971e6 | ||
|
|
cb00002af9 | ||
|
|
78b8b64ffc | ||
|
|
8eb2e7cf97 | ||
|
|
68b4b20a2e | ||
|
|
49ff50b088 | ||
|
|
947272b08c | ||
|
|
9a7df6cb2b | ||
|
|
717c074d8e | ||
|
|
a40980c9fd | ||
|
|
c2278e0cc1 | ||
|
|
da67ead458 | ||
|
|
59c1bebf3b | ||
|
|
3dcd18a109 | ||
|
|
15c5898b2d | ||
|
|
f065dcaf2f | ||
|
|
9750355ef2 | ||
|
|
fb696477c5 | ||
|
|
6b209d7f34 | ||
|
|
5de4cd933a | ||
|
|
31e8fc33f5 | ||
|
|
bc666169dd | ||
|
|
2a905459b3 | ||
|
|
f0fd0bc2d5 | ||
|
|
25f6f6bd98 | ||
|
|
504e06d94e | ||
|
|
b2bc25e1a2 | ||
|
|
f6e4a7b1d5 | ||
|
|
fb56bc1fd1 | ||
|
|
0e917a9049 | ||
|
|
139dde6806 | ||
|
|
dfe12c8be6 | ||
|
|
25db050494 | ||
|
|
34e68d8d36 | ||
|
|
1f4335b003 | ||
|
|
8918ca3c5e | ||
|
|
0ead8ac05f | ||
|
|
4c698589cb | ||
|
|
f43091c5de | ||
|
|
7b466189b8 | ||
|
|
a3e50ec6eb | ||
|
|
4c7bbe3079 | ||
|
|
2f30b18fa6 | ||
|
|
a9bca91b7b | ||
|
|
850ff9d735 | ||
|
|
80a458ddba | ||
|
|
bd1f833752 | ||
|
|
340e1b59c3 | ||
|
|
7b6039644c | ||
|
|
5b78cc301e | ||
|
|
ed66b94bcf | ||
|
|
a5a0fcbac0 | ||
|
|
f77739fc0d | ||
|
|
eb41f56ebb | ||
|
|
5a1b1cb795 | ||
|
|
5c5bc6ecfb | ||
|
|
9e6a2e2a02 | ||
|
|
61c1eea0fe | ||
|
|
54ae2850ad | ||
|
|
dadd5947f1 | ||
|
|
d2f88c76c6 | ||
|
|
707f8ce207 | ||
|
|
819f5dc13c | ||
|
|
c983e63e6a | ||
|
|
d30b7fcbde | ||
|
|
b598d9936e | ||
|
|
d6aa480065 | ||
|
|
f0639101b7 | ||
|
|
ad310343ba | ||
|
|
07bcba3e3d | ||
|
|
6047ac23fa | ||
|
|
9ca9fbdf8d | ||
|
|
4a766b0020 | ||
|
|
4daacd6013 | ||
|
|
18ac9cc3f8 | ||
|
|
c94f827418 | ||
|
|
389fb39b27 | ||
|
|
8c59fedb37 | ||
|
|
8d415b5158 | ||
|
|
99bac3b143 | ||
|
|
ba20c9b67d | ||
|
|
6afe8f6fba | ||
|
|
082d1f6f5d | ||
|
|
939922a924 | ||
|
|
332bcf199b | ||
|
|
e12f32de7c | ||
|
|
06d73f55c6 | ||
|
|
f111fd7929 | ||
|
|
2b5831c929 | ||
|
|
53df534bd6 | ||
|
|
64d706c67d | ||
|
|
ede0b2c0a8 |
+610
-30
@@ -1,42 +1,622 @@
|
||||
# Quick Overview
|
||||
* **Platform Adaptation**: Supports Linux, Windows, macOS, Android, (Tob, small machines: HP-UX, Solaris, AIX)<br>
|
||||
* **CPU Architectures**: Supports x86, arm, mips, riscv (Tob: alpha, PowerPC, SPRAC)<br>
|
||||
* **Security Focus**: Intranet-to-intranet penetration, no need to map any ports to the external network, no changes to firewall configurations<br>
|
||||
* **Bandwidth Emphasis**: "4G phone + v6 broadband" accesses intranet services using P2P (based on TCP protocol, v4 supports NAT1-3 penetration)<br>
|
||||
* **Cost Savings Priority**: No need to buy VPS, no need for a public IP; old Android phones at home can be used as servers<br>
|
||||
* **Reliability Priority**: On-demand availability, can provide uninterrupted service 24/7, and unaffected by UDP protocol QoS issues<br>
|
||||
* **Control Emphasis**: Client configuration is straightforward, and service can be controlled to start/stop anytime, anywhere<br>
|
||||
* **Environmental Friendliness**: No installation required, compact size (around 1MB for the mini version), all-in-one, high performance with minimal resource usage<br>
|
||||
* **Portability Priority**: Whether working or on vacation, everything is in control as long as the phone has a network connection<br>
|
||||
* ... If this is what you want! Please continue reading patiently; if you have additional requirements, please raise an issue, and there's also interesting stuff in the [Update History].
|
||||
|
||||
* **Free**, considering open source after stable testing.
|
||||
* Includes an Android client and a server that needs to be installed in the intranet.
|
||||
|
||||
# APP Configuration (Required) --- Typical usage may be affected if not configured properly
|
||||
* Must configure "Allow Background Running" permission, otherwise, the connection will be severed by the system when switching to the background.
|
||||
* Must configure "Keep Network Connection Always Active during Sleep," otherwise, the connection will be severed by the system once in sleep mode.
|
||||
* "Allow Auto-Start" permission can be configured, otherwise, Android server mode cannot start on boot (v0.30 and later versions).
|
||||
* "Microphone" permission can be configured, otherwise, the Android server cannot provide voice monitoring functionality (v0.30 and later versions).
|
||||
* Note: SG official proxy does not provide data forwarding to IPs in Hong Kong, Macau, Taiwan, and foreign countries.
|
||||
|
||||
## What is smarGate?
|
||||
#### Officially named "Mobile Gateway," it exposes the server network located in the intranet on demand through the mobile client. The core engine is implemented in C++.
|
||||
#### "Mobile Gateway" is a user's private gateway, and all shared access entry points are in the client, not like other penetration tools that promote public access entry points based on domain names. In other words, smarGate is like carrying a personal theft-proof door, while other penetration products place the theft-proof door in public places... Although they need a key, there's a profession called a locksmith.
|
||||
|
||||
##### It has the following technical features:
|
||||
* **Security**
|
||||
* The mobile client serves as the main access entry, opened on demand and closed promptly.
|
||||
* Supports port mapping networking between servers (v0.31 and later versions).
|
||||
* Computers can connect to the internal network through access to open ports on the phone in a hotspot or Wi-Fi environment (the client will display the phone's IP).
|
||||
* The phone network is generally in a private network segment that others cannot access.
|
||||
* User isolation.
|
||||
* **Scalability**
|
||||
* Based on intranet segment proxy, it can work with numerous tools to achieve various network service capabilities (telnet, ssh, http services, intranet cameras, remote desktop, etc.).
|
||||
* Geared towards geeks, can access custom intranet services (RPC).
|
||||
* **Convenience**
|
||||
* Simple configuration with the mobile client.
|
||||
* Dynamic addition and removal of service capabilities.
|
||||
* **High Performance**
|
||||
* Starting from version 0.1.1, it uses a proprietary network engine with high performance. The client on a thousand-dollar phone can support over 1,000 concurrent shared accesses.
|
||||
* High-performance design:
|
||||
* Cross-platform implementation of socket multiplexing, supporting models such as poll, epoll, kqueue, port, select, IOCP, etc.
|
||||
* Uses lock-free algorithms.
|
||||
* Thread pool design.
|
||||
* Socket connection pool.
|
||||
* Multi-level task queue.
|
||||
* ...
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
<mark><font size=6 color=darkred>Attachment: Interaction Diagram</font></mark>
|
||||
</summary>
|
||||
<img src="https://github.com/lazy-luo/smarGate/blob/master/res/smarGateArch.png" /><br>
|
||||
</details>
|
||||
|
||||
## What are the main functions of smarGate?
|
||||
* **Supports Proxy Penetration**
|
||||
* The official provides a free proxy server (shared bandwidth, slower when shared by multiple users, best practice is to use a self-owned proxy server).
|
||||
* <I>If you have your own cloud server (with a public IP), you can customize your proxy server, and install proxy_server on the proxy server. All data transmission goes through the user-configured proxy server (the proxy server needs a certificate, which can be generated automatically or configured with an existing certificate).</I>
|
||||
|
||||
A mobile gateway that exposes the intranet service points. <br>
|
||||
Free, after testing will be open source. <br>
|
||||
It contains a Android client app and server program.<br>
|
||||
Usage:<br>
|
||||
### 1、download android client app<br>
|
||||
### 2、register user(the invitation code must be numeric and can be filled with any value)<br>
|
||||
<br>
|
||||
<br>
|
||||
### 3、remember register key-number(N)<br>
|
||||
<br>
|
||||
### 4、download server program matched you serverOS<br>
|
||||
### 5、modify config file(conf-proxy.xml):<br>
|
||||
```
|
||||
1、Configuration of the "Proxy Server" is as follows (the proxy server must allow any port "inbound" connections):
|
||||
```
|
||||
```
|
||||
<?xml version="1.0" encoding="GBK"?>
|
||||
<app-config code="PROXY" name="proxy-server">
|
||||
<app-parameter>
|
||||
<proxy-service-port value="9001"/><!--Custom proxy port-->
|
||||
<owner-id value="xxxx" /><!-- xxxx is the user ID returned after successful registration -->
|
||||
<access-token value="nnnnn"/><!--Access token, must be a number [optional] -->
|
||||
<ssl-create-certfile value="true" /><!-- If the following options are not used to specify the certificate, it will be generated automatically [Must ensure that openssl is installed], default is false meaning no need to generate -->
|
||||
<!-- If you have a certificate and private key, configure the following items. Start a secure SSL channel. The file names need to be configured correctly. If there is no certificate, no need to configure. Enable the above option to generate the certificate automatically.
|
||||
<ssl-cacert-file value="xxx.crt"/>
|
||||
<ssl-privatekey-file value="xxx.key"/>
|
||||
-->
|
||||
</app-parameter>
|
||||
<module-parameter>
|
||||
<log-level value="LOG_ERROR"/>
|
||||
<log-write-mode value="CONSOLE_ONLY"/>
|
||||
</module-parameter>
|
||||
</app-config>
|
||||
```
|
||||
```
|
||||
2. Add the following configuration to the "Server":
|
||||
```
|
||||
```
|
||||
......
|
||||
<app-parameter>
|
||||
<ssl-create-certfile value="true" />
|
||||
<!-- If the proxy server starts a secure SSL channel, you must configure the certificate and private key here.
|
||||
<ssl-cacert-file value="xxx.crt"/>
|
||||
<ssl-privatekey-file value="xxx.key"/>
|
||||
-->
|
||||
</app-parameter>
|
||||
<module-parameter>
|
||||
......
|
||||
</module-parameter>
|
||||
<!-- Configure the IP or domain name + port of the proxy server mentioned above. Note: the IP must be a public IP. The ssl option must be configured correctly. If the proxy server has a certificate (including automatically generated certificates) and is effective, configure it as true, otherwise, it is false -->
|
||||
<channel address="xxx.xxx.xxx.xxx:9001" ssl="true" token="nnnnn" /><!--Access token, must match the proxy server, if not, no need to configure -->
|
||||
```
|
||||
* **Supports P2P Channel**
|
||||
* Utilizes TCP protocol for P2P penetration, enhancing security.
|
||||
* Not all networks support P2P, depending on the NAT types on both ends.
|
||||
* From version v0.14 and above, directly supports IPv6 and provides firewall penetration.
|
||||
* P2P Test Conclusion: Unable to establish a connection when one end is NAT4 and the other end is NAT3 or NAT4.
|
||||
Note: NAT1-〉Full Cone, NAT2-〉Restricted Cone, NAT3-〉Port Restricted Cone, NAT4-〉Symmetric
|
||||
|
||||
<table>
|
||||
<th>Server NAT</th><th>Client NAT</th><th>P2P Success</th>
|
||||
<tr><td>NAT1-3</td><td>NAT1-3</td><td>YES</td></tr>
|
||||
<tr><td>NAT1-2</td><td>NAT4</td><td>YES</td></tr>
|
||||
<tr><td>NAT4</td><td>NAT1-2</td><td>YES</td></tr>
|
||||
<tr><td>NAT4</td><td>NAT3-4</td><td>NO</td></tr>
|
||||
<tr><td>NAT3-4</td><td>NAT4</td><td>NO</td></tr>
|
||||
</table>
|
||||
|
||||
* **Supports External Network Publishing (Contrary to Security Design Principles, Opened in v0.31)**
|
||||
* The main mode of other intranet penetration tools, directly mapping internal network services to external network ports.
|
||||
* **Supports P2P Port Mapping Between Servers (v0.31 and Later Versions)**
|
||||
* Specific configuration mainly supported through ip@index.
|
||||
*
|
||||
<details>
|
||||
<summary>
|
||||
<mark><font size=6 color=darkred>Attachment: Brief Overview of Main Functions</font></mark>
|
||||
</summary>
|
||||
|
||||
1. Supports TCP-based P2P connection tunnels
|
||||
- Secure and reliable, avoiding QoS issues
|
||||
|
||||
2. Supports all types of protocols based on TCP for "transparent proxy"
|
||||
- Can proxy all internal TCP services (SSH, RDP, SMB, VNC, cameras, database services, etc.)
|
||||
|
||||
3. Supports HTTP, HTTPS to HTTP
|
||||
- Supports HTTP-head rewrite, can proxy HTTPS services as HTTP
|
||||
|
||||
4. Supports UDP over TCP
|
||||
- Can proxy services using the UDP protocol
|
||||
|
||||
5. Transparent mode (no need to focus on IPv6 addresses) supports IPv6 tunnel
|
||||
- Automatically establishes a v6 tunnel, always using v4 address for access
|
||||
6. Supports custom proxy (requires public IP), taking over all data forwarding
|
||||
- When P2P is not possible, automatically connects to a custom proxy for data forwarding
|
||||
7. Custom proxy supports token and whitelist configuration
|
||||
- Supports security mechanisms
|
||||
8. Supports multi-level cascading proxy
|
||||
- Supports chained proxies, supports multi-level acyclic proxies
|
||||
9. Supports mobile phones as the only access point — Secure + Mobile Convenience
|
||||
- With the phone in hand, access is available on demand
|
||||
10. Dynamic configuration for port mapping, supports "hot-plugging" of mapping configurations
|
||||
- Proxies are effective immediately when added or removed, no need to restart
|
||||
11. All features are "one-point configuration" on the app side
|
||||
- Client configuration is a single point, no need for server configuration during runtime
|
||||
12. Supports automatic detection and connection of P2P tunnels and custom proxy tunnels
|
||||
- No intervention required, the app automatically connects and retries
|
||||
13. Supports dynamic negotiation of ports, supports specifying negotiated ports
|
||||
- Default dynamic port negotiation, supports negotiating ports in conjunction with firewall configurations
|
||||
14. Supports tunnel connection priority (P2P -> Custom Proxy -> Official Proxy)
|
||||
- During data transmission, supports priority for tunnels
|
||||
15. Supports SSL encrypted tunnel
|
||||
- Supports SSL encryption for both P2P and proxy tunnels, ensuring data transmission is secure
|
||||
16. Supports traffic limitation
|
||||
- Supports network bandwidth limitation, default is unlimited
|
||||
17. Supports network switching (e.g., mobile <-> Wi-Fi) automatic identification + automatic connection
|
||||
- Intelligent reconnection on the app side, ensuring service availability at all times
|
||||
18. Supports port mapping between different LAN hosts — If one end host has a public IP, it can be accessed directly from the external network (version > v0.31)
|
||||
- Supports server-side networking mapping, traffic does not need to pass through the mobile app (traditional penetration mode)
|
||||
19. App supports server mode, can configure the phone as a server
|
||||
- Android phones can be used as servers
|
||||
20. Supports remote file management functionality: browsing, uploading, downloading, deleting, supports resuming downloads (version >= v0.31.6)
|
||||
- Activates file management functionality when there is P2P or custom proxy, basic operations on files on the phone and server-side computer are possible
|
||||
21. Supports built-in SOCKS5, HTTP proxies (version >= v0.32.1)
|
||||
- Since there are third-party specialized tools such as ss5, squid, etc., SOCKS5 and HTTP proxies are optional features
|
||||
22. SOCKS5, HTTP proxies support domain and IP whitelists (version >= v0.32.1)
|
||||
- Domain whitelist supports four matching modes (exact match, forward match, backward match, middle match), default configuration file name: .white_list
|
||||
- IP whitelist supports CIDR format ip-range configuration, default configuration file name: .ipchecks
|
||||
|
||||
... To be continued
|
||||
|
||||
</details>
|
||||
|
||||
## User Guide:
|
||||
|
||||
### 1. Download the App and Register a New User
|
||||
* Download the Android app (app-release.apk includes both the client and server) supporting armv7 and arm64 CPU architectures.
|
||||
* Register a new user (Invitation code is required and can be any number. Note: If the required information is not filled in completely or contains Chinese characters, registration will fail).
|
||||
* After successful registration, remember to note the returned service ID (N). [Important]: After successful registration, be sure to complete the first login within 1 hour.
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
<mark><font size=5 color=darkred>Expand for Illustrations</font></mark>
|
||||
</summary>
|
||||
|
||||

|
||||

|
||||

|
||||
</details>
|
||||
|
||||
### 2. Download Server and Configure
|
||||
|
||||
* Download the server version suitable for the intranet server (currently supports linux-x86-32/64, windows, and linux-arm [Raspberry Pi, Synology], also: Android app comes with server mode).
|
||||
* Unzip the server compression package and modify the configuration file (conf-proxy.xml):
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
<mark><font size=5 color=darkred>Configuration Example</font></mark>
|
||||
</summary>
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="GBK"?>
|
||||
<app-config code="PROXY" name="proxy-server">
|
||||
<app-parameter>
|
||||
<!-- [ none | first | only ] , none is the default. Enable SSL encryption for P2P connections, only means only accept encrypted connections -->
|
||||
<ssl-tunnel-required value="first" />
|
||||
<!-- If not specifying a certificate with the following options, it will generate a certificate [must ensure openssl is installed], default is false means no need to generate -->
|
||||
<ssl-create-certfile value="true" />
|
||||
<!-- The following options are only applicable to the mini version under dynamic, specify the actual files of the ssl library and crypto library, on Linux, you can obtain them with: 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 is step 3 return,index is you service point order. e.g:[12345:1])-->
|
||||
<app-name value="xxxxx [name of service points]." /><!-- need to modify -->
|
||||
<app-description value="yyyyy [description of service points]" /><!-- need to modify -->
|
||||
<!-- user-audit needs to be modified (N is the service ID returned after successful registration, index is the custom server instance number, it is recommended to start from 1, cannot be repeated. For example: [12345:1]) -->
|
||||
<user-audit value="N:index"/>
|
||||
</moudle-parameter>
|
||||
</app-config>
|
||||
```
|
||||
### 6、excute shell "nohup ./proxy_server -i1000 -o1000 -w8 >/dev/null &"(parameter i:input connections,o:output connections,w:max threads)<br>
|
||||
### 7、login from android client app<br>
|
||||
<br>
|
||||
### 8、create service local proxy in android app<br>
|
||||
<br>
|
||||
<br>
|
||||
### 9、enjoy it!<br>
|
||||
## ps:<br>
|
||||
* The server does dependless any third party package.<br>
|
||||
* Android Client app requires permission:<br>
|
||||
>> 1、background running privileges<br>
|
||||
>> 2、network access<br>
|
||||
* Cell phone settings (Android):<br>
|
||||
>> 1、setting -> wireless and network -> WLAN -> maintain WLAN connections in dormant state "ALLOW"<br>
|
||||
>> 2、setting -> wireless and network -> mobile network -> advanced ->always connected network data service "ALLOW"<br>
|
||||
</details>
|
||||
|
||||
### 3. Run the Intranet Server (Command Parameters Explanation i: Max incoming connections, o: Max outgoing connections, w: Max threads)
|
||||
* Execute the command on Linux: `chmod +x proxy_server && nohup ./proxy_server -i1000 -o1000 -w8 >/dev/null &`
|
||||
* Execute the command on Windows: `proxy_server.exe -i1000 -o1000 -w8`
|
||||
* Android Phone/Device: Run the app -> In edit mode, configure server information -> Turn on the "Server" switch -> Restart the app
|
||||
* For OpenWrt MIPS devices installation, see: [【Correct Usage on MIPS Linux】](https://github.com/lazy-luo/smarGate/issues/65)
|
||||
|
||||
### 4. Log in to the mobile app and configure port mapping
|
||||
* In the client, you can see the online server ("access point") and define port mapping rules on the client.
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
<mark><font size=5 color=darkred>Expand for Illustrations</font></mark>
|
||||
</summary>
|
||||
|
||||

|
||||
<b>In the configuration, the "Remote IP" corresponds to the IP of a host in the intranet ("access point"). "localhost" or "127.0.0.1" represents the machine where the internal server-side is located.</b>
|
||||

|
||||
|
||||
</details>
|
||||
|
||||
### 5. Computers or phones can directly access the services set in the mobile client (such as SSH, HTTP, etc.)
|
||||
|
||||
## Additional Information:
|
||||
* All versions come with packaged dependencies and are ready to use.
|
||||
* The system will automatically clear "zombie accounts" that have not been used for more than 30 days.
|
||||
* Android client requires permissions:
|
||||
1. Background execution permission (if not allowed, the connection will be disconnected when the app goes to the background).
|
||||
2. Network access permission (basic permission).
|
||||
* Phone settings (Android):
|
||||
1. Settings -> Wireless & networks -> WLAN -> Keep Wi-Fi on during sleep "Allow" (otherwise, the connection will be disconnected during system sleep).
|
||||
2. Settings -> Wireless & networks -> Mobile network -> Advanced -> Keep mobile data always active "Allow".
|
||||
|
||||
* Q: How to download and install the Android app?
|
||||
>> A: Open the link [https://github.com/lazy-luo/smarGate/raw/master/app-release.apk](https://github.com/lazy-luo/smarGate/raw/master/app-release.apk) in the browser of your Android phone, and then install it when prompted.
|
||||
>> B: Pan.baidu.com download link for the latest test version: [https://pan.baidu.com/s/14Iq60kxHW711NVoCVKWySg](https://pan.baidu.com/s/14Iq60kxHW711NVoCVKWySg)
|
||||
>> C: Gitee address (faster download speed, no issues with image display): [https://gitee.com/lazy-luo/smarGate](https://gitee.com/lazy-luo/smarGate)
|
||||
>> D: If needed, add WeChat: ws_lzy008, specifying "smarGate". Depending on the situation, a technical discussion group may be formed.
|
||||
* Q: Do I need to install the server on every device at home to access multiple devices on the local network?
|
||||
>> A: No, you only need to install the server on any one device.
|
||||
* Q: Why sometimes unable to connect?
|
||||
>> A: The server will automatically disconnect after about 2-3 minutes of idle time and will reconnect after waiting for about 10 seconds.
|
||||
* Q: Why can't I establish a P2P connection over IPv6?
|
||||
>> A: Please update both the client and server to the latest version; make sure your phone and the internal computer can obtain a global IPv6 address; ensure it is not blocked by the firewall (Windows); check if both IPv6 can be routed out; and check the hosts file to ensure the hostname resolves to the IPv6 address.
|
||||
* Q: Why does P2P connection over IPv4 and IPv6 not have UDP ports?
|
||||
>> A: smarGate uses TCP protocol for P2P penetration, which provides better security and connection reliability.
|
||||
* Q: Why can't the phone NAS client log in?
|
||||
>> A: Make sure the phone NAS client's IP is not blacklisted, and it does not include "localhost" (127.0.0.1).
|
||||
* Q: How to share machines in a remote company network with multiple teams in different locations?
|
||||
>> A: Connect the phone to Wi-Fi, let team members' computers connect to the phone's IP: PORT, and access directly through the phone's proxy. Tested on phones with 2k resolution or higher, it can support sharing access for up to a hundred people.
|
||||
* Q: Why doesn't the Windows server have a console window?
|
||||
>> A: To prevent accidental shutdown of the server, the new version of the Windows server runs in the background. If you need to close it, use "Task Manager".
|
||||
* Q: Do I still need to go through an intermediate proxy when using P2P?
|
||||
>> A: No, connect directly point-to-point, and the network speed depends on the networks of your client and server.
|
||||
* Q: Does smarGate consume a lot of power when running in the background?
|
||||
>> A: After long-term testing, for occasional use, the power consumption is similar to any system process, extremely low. In the case of frequent background use, the overall power consumption is equivalent to occasional use of WeChat. The power management prompt "Frequent background refresh..." can be ignored; it appears whenever there is background data transfer, and the key is to look at the power consumption ranking.
|
||||
* Q: What are the connection priority rules in smarGate?
|
||||
>> A: Prefer P2P connection. If there is no P2P, use a custom proxy connection. If neither of the previous two connects, use the official proxy connection.
|
||||
* Q: Can the same user log in from multiple locations?
|
||||
>> A: Multiple logins are allowed, but only one client can perform P2P at a time. Each server machine can only run one instance, and the configuration of each instance ensures that the serial number is not duplicated, otherwise it will not work properly.
|
||||
* Q: Can the server support Android phones?
|
||||
>> A: The Android app version 0.27 has added support for "server mode".
|
||||
* Q: What does the different color represent in the client?
|
||||
>> A: P2P identification under IPv4:
|
||||

|
||||
>> A: P2P identification under IPv6:
|
||||

|
||||
>> A: User-defined proxy identification:
|
||||

|
||||
|
||||
## Best Practices
|
||||
* The following are recommended best practices for reference:
|
||||
1. Set the Android client to "Auto Login" to avoid the hassle of entering the username/password each time.
|
||||
2. Let the Android client run in the background after setting it up. If it remains in the foreground, it will refresh regularly, consuming power due to the WebView component.
|
||||
3. Keep the server running in the background at all times for security and peace of mind. Only you can access it.
|
||||
|
||||
|
||||
## Disclaimer
|
||||
* Please read the following disclaimer carefully. Your use of the smarGate tool software indicates your acceptance of the following:
|
||||
1. It is strictly forbidden to use this software for computer hacking and any other activities that may harm computer information network security.
|
||||
2. This software is a regular network access tool. Please use it reasonably and legally. Do not use it for activities that violate laws, morals, and affect the interests of others. If used for illegal purposes, the user is responsible for any consequences, and the developer of this software assumes no responsibility or loss.
|
||||
|
||||
## Donation
|
||||
If you find smarGate helpful, feel free to make a donation to support the long-term development of the project!
|
||||
Note: It is recommended to include your registered username with the donation.
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
<mark><font size=5 color=darkred>WeChat Donation</font></mark>
|
||||
</summary>
|
||||
<img src="https://github.com/lazy-luo/smarGate/blob/master/res/donation.png"/>
|
||||
</details>
|
||||
|
||||
## Appendix
|
||||
<details>
|
||||
<summary>
|
||||
<mark><font size=5 color=darkred>Update History</font></mark>
|
||||
</summary>
|
||||
|
||||
### 2023-11-28:<br>
|
||||
1. Safety protection for the elderly and children, supports GPS positioning for easy tracking of the latitude and longitude of the care recipient (manual authorization required).<br>
|
||||
* This feature is only supported on the Android server.<br>
|
||||
* If the coordinates are successfully obtained, the latitude and longitude will be automatically copied to the clipboard.<br>
|
||||
|
||||
2. Other optimizations<br>
|
||||
|
||||
### Update to v0.32.2 on 2023-11-17:<br>
|
||||
1. Support for username/password authentication in the SOCKS protocol.<br>
|
||||
2. Support for saving and playing recordings (VIP).<br>
|
||||
3. Version updated to v0.32.2.<br>
|
||||
|
||||
### Update to v0.32.1 on 2023-10-25:<br>
|
||||
1. Bug fixes<br>
|
||||
2. Improved support for SOCKS protocol (IPv4 TCP only).<br>
|
||||
3. Improved support for HTTP proxy protocol.<br>
|
||||
4. App supports VIP function license.<br>
|
||||
5. Version updated to v0.32.1.<br>
|
||||
|
||||
### Update to v0.31.12 on 2023-09-08:<br>
|
||||
1. Bug fixes<br>
|
||||
2. Experimental support for SOCKS protocol (IPv4 TCP only).<br>
|
||||
3. Added built-in support for HTTP proxy protocol.<br>
|
||||
4. Memory recycling (for devices with memory limitations).<br>
|
||||
5. Improved response speed with full asynchronous mode.<br>
|
||||
6. Version updated to v0.31.12.<br>
|
||||
|
||||
### Update to v0.31.11 on 2023-08-29:<br>
|
||||
1. File management supports default sorting by time.<br>
|
||||
2. Added support for macOS M1/M2.<br>
|
||||
3. Version updated to v0.31.11.<br>
|
||||
|
||||
### Update to v0.31.10 on 2023-06-03:<br>
|
||||
1. Network reliability optimization.<br>
|
||||
2. Improved network transmission efficiency.<br>
|
||||
3. Version updated to v0.31.10.<br>
|
||||
|
||||
### Update to v0.31.9 on 2023-03-04:<br>
|
||||
1. App server mode adds "Accessibility" service, user manually opens it for automatic restart.<br>
|
||||
2. App-side operation optimization: Added automatic fill-in feature for click operations, making it easier to add configurations.<br>
|
||||
3. Fixed the BUG that custom proxy installation on MIPS routers could not provide services.<br>
|
||||
4. Provided server-side custom proxy domain timed IP refresh function (dynamic domain).<br>
|
||||
5. Other optimizations.<br>
|
||||
|
||||
### Update to v0.31.8 on 2022-12-14:<br>
|
||||
1. App server mode supports configuring custom proxies and SSL encryption.<br>
|
||||
2. Custom proxy server supports SSL self-signed certificate distribution.<br>
|
||||
3. Other optimizations.<br>
|
||||
|
||||
### Update to v0.31.7 on 2022-11-04:<br>
|
||||
1. Provided one-click version upgrade function, no manual update required.<br>
|
||||
* This feature's version source points to GitHub. If unable to update, please confirm GitHub connectivity.<br>
|
||||
* Generally, usability is restored in about 10-20 seconds after the update.<br>
|
||||
* The server provides an automatic update option (checks once a day), which is off by default.<br>
|
||||
```xml
|
||||
<auto-update value="true" />
|
||||
```
|
||||
### Update to v0.31.6 on 2022-10-20:<br>
|
||||
1. File management adds file deletion functionality.<br>
|
||||
2. File management adds breakpoint resume functionality.<br>
|
||||
3. File management adds file timestamp.<br>
|
||||
4. File management on Windows adds disk switching operation.<br>
|
||||
* This feature is only activated when there is P2P or custom proxy connection.<br>
|
||||
* Upload and download through drag-and-drop mode.<br>
|
||||
* Confirmation box for file deletion pops up with a double click.<br>
|
||||
|
||||
### Update to v0.31.5 on 2022-10-14:<br>
|
||||
1. Fixed the bug where custom proxy couldn't connect under short interval reconnection.<br>
|
||||
2. Added simple file upload and download functionality for easy synchronization of documents in different locations.<br>
|
||||
* This feature is only activated when there is P2P or custom proxy connection.<br>
|
||||
* Upload and download through drag-and-drop mode.<br>
|
||||
3. Version updated to v0.31.5.<br>
|
||||
|
||||
### Update on 2022-09-05:<br>
|
||||
1. Resolved the bug of abnormal disconnection in custom proxy connection.<br>
|
||||
2. Version remains unchanged.<br>
|
||||
|
||||
### Update to v0.31.4 on 2022-08-30:<br>
|
||||
1. Reduced virtual memory usage during runtime.<br>
|
||||
2. Routine optimizations.<br>
|
||||
3. Version updated to v0.31.4.<br>
|
||||
|
||||
### Update to v0.31.3 on 2022-08-14:<br>
|
||||
1. Fixed the bug where MIPS architecture systems couldn't connect to custom proxies.<br>
|
||||
2. Fixed the issue of long loading time for HTTP protocol.<br>
|
||||
3. Version updated to v0.31.3.<br>
|
||||
|
||||
### Update to v0.31.2 on 2022-08-06:<br>
|
||||
1. Fixed occasional crashes on the Windows platform, enhanced stability.<br>
|
||||
2. Keep-alive operations for P2P connection and custom proxy to minimize reconnection time window, improving availability.<br>
|
||||
3. Other usability optimizations, reduced app consumption.<br>
|
||||
4. Version updated to v0.31.2.<br>
|
||||
|
||||
### Update to v0.31.1 on 2022-07-28:<br>
|
||||
1. Fixed the bug where, under specific circumstances, network configurations did not take effect when the server restarted.<br>
|
||||
2. Fixed NAT1 server P2P negotiation bug.<br>
|
||||
3. Version updated to v0.31.1.<br>
|
||||
|
||||
### Update to v0.31 on 2022-07-22:<br>
|
||||
1. Provided port mapping between servers, allowing direct access from the public network if the server has a public IP (only needs to be configured on the app).
|
||||
* Configuration: In the original mapping configuration, "Remote IP" supports configuration in the form of ip@idx (idx is the sequence number of different "access points").
|
||||
* The "Local Port" configured in this way is actually on the host where the current "access point" is located (Note: not on the phone where the app is located).
|
||||
* If P2P between servers is successful (or custom proxy connection is successful), the configured mapping will take effect, otherwise, it will not.
|
||||
* On the app, the proxy status between servers is refreshed only when there is a P2P connection.
|
||||
* After successful configuration, it takes about 10 seconds to see the actual status on the app.
|
||||
2. Version upgraded to v0.31.<br>
|
||||
|
||||
### Update on 2022-06-30:<br>
|
||||
1. Fixed the bug where the server could not proxy normally on 32-bit big-endian machines.<br>
|
||||
2. Version remains unchanged.<br>
|
||||
|
||||
### Update on 2022-05-17:<br>
|
||||
1. Server supports automatically generating self-signed certificates (default file name is server.xxx).
|
||||
* Configuration: ssl-create-certfile option<br>
|
||||
```
|
||||
<app-parameter>
|
||||
<ssl-create-certfile value="true" />
|
||||
...
|
||||
</app-parameter>
|
||||
```
|
||||
* Make sure to install openssl.
|
||||
* Do not specify certificate files (do not configure ssl-cacert-file and ssl-privatekey-file).
|
||||
|
||||
### Update on 2022-05-04:<br>
|
||||
1. Support for riscv32/64 architecture, linked with musl library during compilation like mips architecture.<br>
|
||||
2. Optimized network transmission layer.<br>
|
||||
3. Version remains unchanged.<br>
|
||||
|
||||
### Update to v0.30.4 on 2022-02-07: <br>
|
||||
1. Provided support for mips64el.<br>
|
||||
2. Added system icon display on the app.<br>
|
||||
3. Other optimizations.<br>
|
||||
|
||||
### Update to v0.30.3 on 2021-11-06: <br>
|
||||
1. Fixed the bug where app-side memory usage only displayed JVM without native.<br>
|
||||
2. Optimized network engine, improving stability and fairness under high concurrency.<br>
|
||||
|
||||
### Update to v0.30.2 on 2021-10-17: <br>
|
||||
1. Custom proxy supports SSL verification.<br>
|
||||
2. In the case of P2P network, supports configuring SSL tunnel ( **requires server-side certificate configuration** )<br>
|
||||
```
|
||||
<app-parameter>
|
||||
<ssl-tunnel-required value="first" /><!-- Options: none, first, only -->
|
||||
...
|
||||
</app-parameter>
|
||||
```
|
||||
3. Other optimizations.<br>
|
||||
|
||||
### Update to v0.30 on 2021-09-24: <br>
|
||||
1. Provided Android server-side automatic startup support (only in server mode, and manual authorization is required).<br>
|
||||
2. In the case of P2P network, Android server-side supports real-time audio (microphone permission needs manual authorization, must open the SG interface to record).<br>
|
||||
3. Other optimizations.<br>
|
||||
|
||||
### Update to v0.29.2 on 2021-05-03: <br>
|
||||
1. Fixed the issue of not being able to exit on high versions of Android.<br>
|
||||
2. Optimized network: Fixed a BUG that may cause network latency, further improving network transmission speed.<br>
|
||||
3. Provided version number display for easier client and server version management.<br>
|
||||
4. Optimized app CPU usage, reduced power consumption.<br>
|
||||
|
||||
### Update to v0.29 on 2021-03-05: <br>
|
||||
1. Fixed the issue of server-side core dump when switching between IPv6 and IPv4 networks.<br>
|
||||
2. Added IPv4-only network mode option on the client side, for scenarios where IPv6 is present but IPv4 is needed for P2P connections due to special requirements (forces the use of IPv4 for network penetration).<br>
|
||||
3. Some other bug fixes.<br>
|
||||
Note: Due to fatal issues with core dump in specific scenarios, both the client and server need to be updated to version 0.29.
|
||||
|
||||
### Update to v0.28 on 2020-12-13: <br>
|
||||
1. Custom proxy added token support to prevent unauthorized access. Also supports configuring an access permission list (access-token can only input numbers, access-restricting can input allowed SIDs, multiple SIDs separated by ":"; access-restricting can be left unconfigured).<br>
|
||||
A. Proxy server configuration:
|
||||
```
|
||||
<app-parameter>
|
||||
<proxy-service-port value="9001"/>
|
||||
<access-token value="nnnnn"/>
|
||||
<access-restricting value="xxxxx"/>
|
||||
…
|
||||
</app-parameter>
|
||||
```
|
||||
B、Server-side configuration (token must match the proxy server):
|
||||
```
|
||||
<channel address="x.x.x.x:9001" ssl="true" token="nnnnn" />
|
||||
```
|
||||
2.Optimized the tunnel timeout disconnect mechanism (only for P2P tunnels and user agent tunnels): As long as there is a connection and the connection is normal, the client will randomly delay sending heartbeats to prevent timeout disconnections.<br>
|
||||
Scenario: When accessing SSH, if there is no input for a long time, it will maintain a heartbeat to prevent disconnection after 1 or 2 minutes of inactivity.<br>
|
||||
### Update to v0.27 on 2020-05-23: <br>
|
||||
1. Removed the root permission acquisition feature to maintain the minimum permission requirement. Currently not developing support for configuring ports below 1024.<br>
|
||||
2. Due to personal Raspberry Pi being damaged by a child, making use of the remaining value of old smartphones, Android app added "Server Mode" support, enabling it to be used as a server at home.<br>
|
||||
|
||||
### Update to v0.26 on 2020-04-30: <br>
|
||||
1. Fixed the issue where configured HTTP services might be unavailable when IP is switched.<br>
|
||||
~~2. For rooted phones, attempted to acquire root permissions, supporting the configuration of reserved ports below 1024.~~ (This feature has been removed.)<br>
|
||||
3. Solved the problem of absolute path execution (mostly for startup scripts) and not specifying the -f parameter causing the inability to locate the default configuration file.<br>
|
||||
4. Server-side added HTTP-based content replacement option (affects efficiency, ignores compressed data). For some non-standard intranet web applications that return IP ports in JavaScript to the browser, content filtering is not applied by default.<br>
|
||||
```
|
||||
……
|
||||
<moudle-parameter>
|
||||
<http-content-type-filter value="application/javascript" />
|
||||
……
|
||||
<moudle-parameter/>
|
||||
……
|
||||
```
|
||||
5. Server-side added an option to specify the P2P negotiation port, with the default being a random port.<br>
|
||||
```
|
||||
……
|
||||
<moudle-parameter>
|
||||
<negotiation-port value="xxxxx" />
|
||||
……
|
||||
<moudle-parameter/>
|
||||
……
|
||||
```
|
||||
|
||||
6. Added an "Official Proxy" switch, defaulting to open. When closed, data will not be forwarded through the official proxy under any circumstances.<br>
|
||||
### 2020-03-13:<br>
|
||||
1. Fixed a bug causing network latency due to the loss of writable-event under specific conditions with tcp-cork.<br>
|
||||
2. Improved the performance of the memory pool.<br>
|
||||
3. Added the `-f` command line parameter to specify the full path of the configuration file.<br>
|
||||
4. Other optimizations, version remains unchanged.<br>
|
||||
|
||||
### 2020-01-18 updated to v0.25:<br>
|
||||
1. Fixed the issue of HTTP proxy failure.<br>
|
||||
2. The app now provides IPv6 address display.<br>
|
||||
3. Version updated to 0.25.<br>
|
||||
|
||||
### 2019-11-30 updated to v0.24:<br>
|
||||
1. Peanut shell supports UDP now? Okay, support UDP port forwarding, friends who stream games can give it a try.<br>
|
||||
2. Support UDP over TCP mode.<br>
|
||||
3. Other minor optimizations.<br>
|
||||
|
||||
### 2019-11-03:<br>
|
||||
1. Fixed memory leak bug.<br>
|
||||
2. Other minor optimizations, version remains unchanged.<br>
|
||||
3. Improved P2P reconnection reliability.<br>
|
||||
|
||||
### 2019-09-30 updated to v0.23:<br>
|
||||
1. Fixed high CPU usage bug under weak network conditions on Windows server.<br>
|
||||
2. Overall improved network transmission speed.<br>
|
||||
|
||||
### 2019-09-20 updated to v0.22:<br>
|
||||
1. Improved P2P detection reliability.<br>
|
||||
2. Fixed a bug on Windows that prevented P2P connection under certain conditions.<br>
|
||||
3. The client now provides manual P2P reconnection feature (automatic reconnection may fail under weak network conditions, in such cases, manual reconnection can be used).<br>
|
||||
|
||||
### 2019-09-15:<br>
|
||||
1. Further reduced server CPU usage under low-speed conditions.<br>
|
||||
2. General optimizations, version remains unchanged.<br>
|
||||
|
||||
### 2019-09-10 updated to v0.21:<br>
|
||||
1. Network performance optimization.<br>
|
||||
2. The client now supports displaying real-time network speed.<br>
|
||||
|
||||
### 2019-09-05:<br>
|
||||
1. Fixed the bug of automatic login failure after changing the password on the client.<br>
|
||||
2. Provided automatic login timeout control.<br>
|
||||
|
||||
### 2019-09-01 updated to v0.20:<br>
|
||||
1. Optimized connection checking performance (provided parallel asynchronous detection).<br>
|
||||
2. Supports proxying HTTPS to HTTP (client-side HTTP access, server-side HTTPS).<br>
|
||||
|
||||
### 2019-08-18 updated to v0.19:<br>
|
||||
1. Performance optimization.<br>
|
||||
2. Fixed a bug where server connections could not be reliably disconnected under certain conditions (custom routing).<br>
|
||||
3. Static compilation, no longer dependent on the gcc dynamic library of the inux system, can run directly in alpine (requires creating a symbolic link).<br>
|
||||
4. Supports compiling as a mini version, no longer statically compiling OpenSSL; fully compatible with OpenSSL library from 0.9.8 to 1.1.1, binary package reduced to about 1M (already placed in the dynamic directory, SSL library needs to be configured).<br>
|
||||
|
||||
### 2019-05-27 updated to v0.18:<br>
|
||||
1. Performance optimization.<br>
|
||||
2. Provided IPv6 P2P switch mechanism: `<ipv4-tunnel-first value="false"/>` Set to "true" to close IPv6 P2P, the default value is "false".<br>
|
||||
3. Added client IPv6 flag and connection status display.<br>
|
||||
|
||||
### 2019-05-21:<br>
|
||||
1. Fixed the bug that IPv6 could not be detected under Raspbian jessie.<br>
|
||||
|
||||
### 2019-05-16 updated to v0.17:<br>
|
||||
1. Performance optimization.<br>
|
||||
2. Provided P2P disconnect and reconnect mechanism.<br>
|
||||
|
||||
### 2019-05-04:<br>
|
||||
1. Fixed a bug where the server occasionally had high CPU usage when mounting private routes with a thread count < 4, version remains unchanged.<br>
|
||||
|
||||
### 2019-04-23 updated to v0.16:<br>
|
||||
1. Fixed a bug where the server occasionally core dumped when mounting private routes.<br>
|
||||
|
||||
### 2019-04-16 updated to v0.15:<br>
|
||||
1. Fixed the bug of IPV4/IPV6 network switching, unable to P2P.<br>
|
||||
|
||||
### 2019-04-15 updated to v0.14:<br>
|
||||
1. Fixed the issue of network switching reconnection failure.<br>
|
||||
2. Engine performance optimization.<br>
|
||||
3. Added support for IPv6 firewall penetration (mobile end supports IPv6, and the internal network server supports IPv6).<br>
|
||||
[Important Note] Version 0.14 is incompatible with previous versions, be sure to update!<br>
|
||||
|
||||
### ....Initial version v0.13<br>
|
||||
|
||||
</details>
|
||||
|
||||
Binary file not shown.
+207
-21
@@ -22,12 +22,12 @@ var g_languages = [
|
||||
,"姓名"//20
|
||||
,"联系电话"//21
|
||||
,"邮箱"//22
|
||||
,"同意协议"//23
|
||||
,"用户协议"//23
|
||||
,"必须填写邀请码"//24
|
||||
,"描述"//25
|
||||
,"基础信息"//26
|
||||
,"发送"//27
|
||||
,"接收"//28
|
||||
,"发送 ↑ "//27
|
||||
,"接收 ↓ "//28
|
||||
,"总内存"//29
|
||||
,"已用内存"//30
|
||||
,"内存峰值"//31
|
||||
@@ -35,12 +35,12 @@ var g_languages = [
|
||||
,"在线"//33
|
||||
,"离线"//34
|
||||
,"系统状态"//35
|
||||
,"工作线程数"//36
|
||||
,"空闲线程数"//37
|
||||
,"最大连接数"//38
|
||||
,"当前连接数"//39
|
||||
,"待处理事件"//40
|
||||
,"检测线程数"//41
|
||||
,"工作线程"//36
|
||||
,"空闲线程"//37
|
||||
,"最大连接"//38
|
||||
,"当前连接"//39
|
||||
,"等待事件"//40
|
||||
,"检测线程"//41
|
||||
,"服务集合"//42
|
||||
,"本地端口"//43
|
||||
,"路由指向"//44
|
||||
@@ -104,6 +104,99 @@ var g_languages = [
|
||||
,"移动网关将保持提供服务"//102
|
||||
,"服务启动时间"//103
|
||||
,"暴露服务集"//104
|
||||
,"服务端代理"//105
|
||||
,"请选择文件操作:"//106
|
||||
,"上传"//107
|
||||
,"下载"//108
|
||||
,"文件管理"//109
|
||||
,"文件名"//110
|
||||
,"大小"//111
|
||||
,"当前版本过低,不支持自动升级,请手动更新!"//112
|
||||
,"自定义代理"//113
|
||||
,"自定义代理 IP:port..."//114
|
||||
,"访问Token"//115
|
||||
,"代理服务器Token..."//116
|
||||
,"P2P加密选项" //117
|
||||
,"none"//118
|
||||
,"first"//119
|
||||
,"only"//120
|
||||
,"序列号注册成功!"//121
|
||||
,"序列号注册失败!"//122
|
||||
,"序列号注册" //123
|
||||
,"序列号" //124
|
||||
,"必须输入序列号" //125
|
||||
,"VIP 到期剩余时间(天):" //126
|
||||
,"播放" //127
|
||||
,"已发送定位请求..." //128
|
||||
,"定位请求失败" //129
|
||||
,"已成功获取定位信息" //130
|
||||
,"请输入账号"//131
|
||||
,"请输入密码"//132
|
||||
,"账号最短为 5 个字符"//133
|
||||
,"密码长度至少为 6 个字符"//134
|
||||
,"邀请码必须输入数字,且不为0"//135
|
||||
,"邮箱地址格式错误"//136
|
||||
,"请输入邀请码"//137
|
||||
,"请确认密码"//138
|
||||
,"请输入电话号码"//139
|
||||
,"请输入邮箱"//140
|
||||
,"注册成功后,请于2小时内完成首次登录,用户名、密码请妥善保管,用户相关数据仅存储于本地。"//141
|
||||
,"密码两次输入不一致"//142
|
||||
,"设置"//143
|
||||
,"左滑可以打开设置"//144
|
||||
,"设置完成后,即时生效,你可以右滑返回"//145
|
||||
,"语言选择"//146
|
||||
,"常用设置"//147
|
||||
,"高级设置"//148
|
||||
,"操作确认"//149
|
||||
,"确认删除该条收藏记录?"//150
|
||||
,"系统免费用户"//151
|
||||
,"确认删除该条代理记录?"//152
|
||||
,"添加映射配置"//153
|
||||
,"注意:请仔细核对,如输入序列号错误,须等待半小时才能继续注册"//154
|
||||
,"下拉可以刷新"//155
|
||||
,"释放立即刷新"//156
|
||||
,"正在刷新..."//157
|
||||
,"提示信息"//158
|
||||
,"错误信息"//159
|
||||
,"常用收藏"//160
|
||||
,"为常用连接提供收藏"//161
|
||||
,"请输入收藏标题"//162
|
||||
,"加入收藏"//163
|
||||
,"文件传输功能只能在P2P或自定义代理生效时使用"//164
|
||||
,"您暂时没有此功能权限"//165
|
||||
,"目标文件夹"//166
|
||||
,"当前文件夹"//167
|
||||
,"任务区"//168
|
||||
,"可点击切换文件主机"//169
|
||||
,"刷新操作需要30秒间隔"//170
|
||||
,"操作失败,条目可能已添加" //171
|
||||
,"是否切换为服务端模式?"//172
|
||||
,"切换服务端/客户端模式后,需要重启APP才能生效!" //173
|
||||
,"请输入姓名"//174
|
||||
,"请间隔30秒后再试!"//175
|
||||
,"新用户注册失败!"//176
|
||||
,"网络太慢,数据加载超时!"//177
|
||||
,"确认删除当前选中文件?"//178
|
||||
,"确认传输当前选中文件?"//179
|
||||
,"玩命加载中..."//180
|
||||
,"请自行申请百度地图浏览器版AK。如首次使用地图,请在配置中设置AK"//181
|
||||
,"AK码设置"//182
|
||||
,"请输入百度地图浏览器版AK码"//183
|
||||
,"地图"//184
|
||||
,"描述"//185
|
||||
,"备注设置"//186
|
||||
,"请输入服务简短备注"//187
|
||||
,"设置[电池优化]"//188
|
||||
,"设置后台[无限制]"//189
|
||||
,"关闭应用速冻"//190
|
||||
,"允许后台高耗电"//191
|
||||
,"前往[电池优化]-[应用名称],设置[不允许]"//192
|
||||
,"设置MIUI系统后台配置为[无限制]"//193
|
||||
,"前往[电池]-[应用名称],关闭[后台冻结]和[检测到异常时自动优化]"//194
|
||||
,"前往[电池]-[后台耗电管理]-[应用名称],设置[允许后台高耗电]"//195
|
||||
,"跳转设置失败"//196
|
||||
,"未知机型,请自行设置后台运行权限"//197
|
||||
],
|
||||
["English"
|
||||
, "OK" //1
|
||||
@@ -123,17 +216,17 @@ var g_languages = [
|
||||
, "Password" //15
|
||||
, "Auto login" //16
|
||||
, "User registration" //17
|
||||
, "Invitation code" //18
|
||||
, "Confirm password" //19
|
||||
, "Invitation NO" //18
|
||||
, "Confirm" //19
|
||||
, "Name" //20
|
||||
, "Contact number" //21
|
||||
, "Phone NO" //21
|
||||
, "Mailbox" //22
|
||||
, "Agreement of consent" //23
|
||||
, "User Agreement" //23
|
||||
, "Invitation code must be filled in" //24
|
||||
, "Desc" //25
|
||||
, "Info" //26
|
||||
, "SND" //27
|
||||
, "RX" //28
|
||||
, "SND ↑ " //27
|
||||
, "RX ↓ " //28
|
||||
, "Tot-mem" //29
|
||||
, "Usage" //30
|
||||
, "Max-usage" //31
|
||||
@@ -141,12 +234,12 @@ var g_languages = [
|
||||
, "Online" //33
|
||||
, "Offline" //34
|
||||
, "Summery" //35
|
||||
, "Tot-threads" //36
|
||||
, "Idle threads" //37
|
||||
, "Workers" //36
|
||||
, "Idles" //37
|
||||
, "Max-sockets" //38
|
||||
, "Connections" //39
|
||||
, "Pending event" //40
|
||||
, "Event threads" //41
|
||||
, "Pending" //40
|
||||
, "Products" //41
|
||||
, "Services" //42
|
||||
, "Local port" //43
|
||||
, "Routing to" //44
|
||||
@@ -167,8 +260,8 @@ var g_languages = [
|
||||
, "No need specified by default..." //59
|
||||
, "The access point number must be entered and is an integer of <64" //60
|
||||
, "Change password" //61
|
||||
, "Old password" //62
|
||||
, "New password" //63
|
||||
, "Older" //62
|
||||
, "Newer" //63
|
||||
, "Congratulations: registration request is successful. Please keep your service ID properly" //64
|
||||
, "Login failed. Please verify the user name password you entered!"// 65
|
||||
, "Logging in..." //66
|
||||
@@ -210,5 +303,98 @@ var g_languages = [
|
||||
, "The SmarGate will remain in service" // 102
|
||||
, "Service start time" // 103
|
||||
, "Exposed services"//104
|
||||
, "Server Proxy"//105
|
||||
, "Please select a file operation:"//106
|
||||
, "upload"//107
|
||||
, "download"//108
|
||||
, "File Manager" //109
|
||||
, "file name" //110
|
||||
, "size" //111
|
||||
, "The current version is too low to support automatic upgrade, please update manually!" //112
|
||||
, "User proxy"//113
|
||||
, "User proxy IP:port..."//114
|
||||
, "Access token"//115
|
||||
, "Token of proxy server..."//116
|
||||
, "SSL for P2P" //117
|
||||
, "none"//118
|
||||
, "first"//119
|
||||
, "only"//120
|
||||
, "Successful license register!"//121
|
||||
, "Fault to license register!"//122
|
||||
, "License register" //123
|
||||
, "License key" //124
|
||||
, "license key must be filled" //125
|
||||
, "VIP exp-after-days:" //126
|
||||
, "Play" //127
|
||||
, "Location request has been sent..." //128
|
||||
, "Location request failed" //129
|
||||
, "Successfully obtained location information" //130
|
||||
, "Please enter your account"//131
|
||||
, "Please enter password"//132
|
||||
, "The minimum account length is 5 characters"//133
|
||||
, "The password length should be at least 6 characters"//134
|
||||
, "The invitation code must be entered as a number and not 0"//135
|
||||
, "Email address format error"//136
|
||||
, "Please enter the invitation code"//137
|
||||
, "Please confirm password"//138
|
||||
, "Please enter a phone number"//139
|
||||
, "Please enter your email address"//140
|
||||
, "After successful registration, please complete the first login within 2 hours. Please keep your username and password properly, and user related data is only stored locally."//141
|
||||
, "The password entered twice is inconsistent"//142
|
||||
, "Setting"//143
|
||||
, "Left swipe to open settings"//144
|
||||
, "After setting up, you can slide right to return"//145
|
||||
, "Language "//146
|
||||
, "Common Settings"//147
|
||||
, "Advanced Setting"//148
|
||||
, "Operate Confirm"//149
|
||||
, "Are you sure to delete this favorite record?"//150
|
||||
, "You are free users"//151
|
||||
, "Confirm deleting the proxy record?"//152
|
||||
, "Add mapping configuration" //153
|
||||
, "Attention: Please check carefully. If you enter the wrong serial number, you will need to wait for half an hour before continuing to register"//154
|
||||
, "Dropdown can refresh"//155
|
||||
, "Release and refresh immediately"//156
|
||||
, "Refreshing..."//157
|
||||
, "Information"//158
|
||||
, "Error"//159
|
||||
, "Favorites"//160
|
||||
, "Provide favorites for commonly used connections"//161
|
||||
, "Please enter the bookmark title"//162
|
||||
, "Add to favorites"//163
|
||||
, "The file transfer function can only be used when P2P or custom proxies are in effect"//164
|
||||
, "You currently do not have permission for this feature"//165
|
||||
, "Destination Folder"//166
|
||||
, "Current Folder"//167
|
||||
, "Mission Area"//168
|
||||
, "Click to switch file hosts"//169
|
||||
, "The refresh operation requires a 30 second interval"//170
|
||||
, "Operation failed, entry may have been added"//171
|
||||
, "Switch to server-side mode?"//172
|
||||
, "After switching between server/client mode, you need to restart the app to take effect!"//173
|
||||
, "Please enter your name"//174
|
||||
, "Please try again after a 30 second interval"//175
|
||||
, "New user registration failed!"//176
|
||||
, "The network is too slow, data loading timed out!"//177
|
||||
, "Confirm deleting the currently selected file?"//178
|
||||
, "Confirm the transfer of the currently selected file?"//179
|
||||
, "Loading..."//180
|
||||
, "Please apply for Baidu Map Browser version AK by yourself. If using the map for the first time, please set AK in the configuration"//181
|
||||
, "AK code setting"//182
|
||||
, "Enter AK code of the Baidu Map"//183
|
||||
, "Map"//184
|
||||
, "MEMO"//185
|
||||
, "Notes modify"//186
|
||||
, "Enter notes of the services"//187
|
||||
, "Settings [Battery Optimization]"//188
|
||||
, "Set up background [unlimited]"//189
|
||||
, "Close application quick freeze"//190
|
||||
, "Allow high power consumption in the background"//191
|
||||
, "Go to [Battery Optimization]-[App Name] and set [Not Allowed]"//192
|
||||
, "Set the MIUI system background configuration to [Unlimited]"//193
|
||||
, "Go to [Battery]-[App Name], turn off [Background Freeze] and [Automatic Optimization when Abnormality Detected]"//194
|
||||
, "Go to [Battery]-[Background Power Consumption Management]-[App Name] and set [Allow background high power consumption]"//195
|
||||
, "Load setting failed"//196
|
||||
, "Unknown model, please set background running permissions yourself"//197
|
||||
]
|
||||
];
|
||||
|
||||
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.
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.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,7 +1,58 @@
|
||||
# 中文 | [English](https://github.com/lazy-luo/smarGate/blob/master/README_en.md)
|
||||
# 快速概览<a href=https://github.com/lazy-luo/smarGate/wiki/快速上手手册>【快速上手手册】</a> <a href="https://b23.tv/nm52P5Q">【三方视频教学- B站】</a><br>
|
||||
* 平台适配,支持linux、windows、macos、android、(tob,小型机:hp-unix、solaris、AIX)<br>
|
||||
* cpu架构,支持x86、arm、mips、riscv(tob:alpha、PowerPC、SPRAC)<br>
|
||||
# samrGate(SG) 中文 | [English](https://github.com/lazy-luo/smarGate/blob/master/README_en.md)
|
||||
|
||||
## SG是什么?
|
||||
* 是个跨网段远程端口映射工具
|
||||
* 支持内网到内网、内网到外网映射
|
||||
* 是个随身携带可灵活控制访问入口的工具
|
||||
* 所有配置操作都在app客户端,一眼看全、高度安全可控
|
||||
* 访问入口既可配置到app所在手机上,也能配置到任意SG服务端电脑上
|
||||
* 是个简单的远程文件管理工具
|
||||
* 可对手机及服务端所在服务器进行文件管理操作
|
||||
* 是个简单的socks代理工具
|
||||
* 是个简单的http(s)代理工具
|
||||
* ......
|
||||
|
||||
## SG有什么特点?
|
||||
* 所有映射都通过app客户端进行配置,服务端运行时免配置
|
||||
* 支持服务端到APP及服务端到服务端的端口映射
|
||||
* 可以将服务端所在内网任意机器任意端口映射到app所在手机上,通过访问手机本地端口进行穿透访问
|
||||
* 可以通过app客户端配置,将A服务端内网任意主机任意端口映射到B服务端所在主机上
|
||||
* 支持链式代理
|
||||
* 支持多用户隔离
|
||||
* 支持ipv4/6,基于TCP进行P2P穿透
|
||||
* 支持自建代理进行数据转发
|
||||
* 支持数据隧道加密(TLS)
|
||||
* 支持自动数据隧道选择
|
||||
* 优先P2P,次选自定义代理,官方代理兜底
|
||||
* 支持自动版本升级及APP客户端上一键升级
|
||||
* socks及http(s)代理支持自定义ip白名单及域名白名单,支持CIDR格式IP段及域名统配符
|
||||
* 支持TCP协议服务,也支持UDP协议
|
||||
* UDP采用UDP over TCP模式
|
||||
* ......
|
||||
|
||||
## SG能解决什么问题?
|
||||
* 无视内外网,安全访问内网资源的场景
|
||||
* 需要P2P高带宽安全传输的场景
|
||||
* 有公网IP,需要将内网服务发布出去的场景
|
||||
* ......
|
||||
|
||||
## SG怎么使用?
|
||||
* 下载APP并注册
|
||||
* 下载合适的服务端版本,根据用户ID进行配置并运行
|
||||
* 登录APP进行端口映射配置
|
||||
* 使用配置的映射进行访问
|
||||
|
||||
## 有兴趣再细看
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
<mark><font size=3 color=darkred>查看详细</font></mark>
|
||||
</summary>
|
||||
|
||||
#
|
||||
## 快速概览<a href=https://github.com/lazy-luo/smarGate/wiki/快速上手手册>【快速上手手册】</a> <a href="https://www.bilibili.com/video/BV1LM411k7Rf">【三方视频教学- B站】</a><br>
|
||||
* 平台适配,支持linux、windows、macos、android(tob,小型机:hp-unix、solaris、AIX)<br>
|
||||
* cpu架构,支持x86、arm、mips、riscv、LoongArch64(tob:alpha、PowerPC、SPRAC)<br>
|
||||
* 注重安全,“内网”到“内网”的穿透,无需映射任何端口到外网,不更改任何防火墙配置<br>
|
||||
* 注重带宽,”4G手机+v6宽带“采用P2P方式访问内网服务(基于TCP协议,v4支持NAT1-3穿透)<br>
|
||||
* 注重节约,无需购买vps、无需公网IP;家中淘汰Android手机可做服务器<br>
|
||||
@@ -13,7 +64,7 @@
|
||||
* 免费,测试稳定后考虑开源. <br>
|
||||
* 包含一个android客户端和需内网安装的服务端.<br>
|
||||
|
||||
# APP端配置(必须)--- 无法正常使用典型情况
|
||||
## APP端配置(必须)--- 无法正常使用典型情况
|
||||
* 必须配置“允许后台运行”权限,否则切后台即被系统断连
|
||||
* 必须配置“休眠时始终保持网络连接”,否则一旦休眠则被系统断连
|
||||
* 可以配置“允许自启动”权限,否则Android服务端模式下无法开机启动(v0.30及后续版本)
|
||||
@@ -163,13 +214,18 @@
|
||||
。android手机可作为服务端
|
||||
20、支持远程文件管理功能:浏览、上传、下载、删除,支持断点续传(version >= v0.31.6)
|
||||
。在有p2p或自定义代理时,激活文件管理功能,可对手机和服务端电脑文件进行基本操作
|
||||
21、支持内置socks5、http代理(version >= v0.32.1)
|
||||
。毕竟有三方专业工具如ss5、squid等,因此socks5及http代理是可选的功能
|
||||
22、socks5、http代理支持域名和IP白名单(version >= v0.32.1)
|
||||
。域名白名单支持四种模式匹配(完全匹配、向前匹配、向后匹配、中间匹配),默认配置文件名.white_list
|
||||
。IP白名单支持CIDR格式ip-range配置,默认配置文件名.ipchecks
|
||||
。。。待续
|
||||
|
||||
```
|
||||
</details>
|
||||
|
||||
## 使用指南:<br>
|
||||
<a href="https://b23.tv/nm52P5Q">三方视频教学- B站</a><br><br>
|
||||
<a href="https://www.bilibili.com/video/BV1LM411k7Rf">三方视频教学- B站</a><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>
|
||||
### 1、下载app && 注册新用户
|
||||
@@ -181,8 +237,7 @@
|
||||
<mark><font size=5 color=darkred>展开图示</font></mark>
|
||||
</summary>
|
||||
<img src="https://github.com/lazy-luo/smarGate/blob/master/res/login.png" /><br>
|
||||
<img src="https://github.com/lazy-luo/smarGate/blob/master/res/register.png" /><br>
|
||||
<img src="https://github.com/lazy-luo/smarGate/blob/master/res/registerok.png" /><br>
|
||||
<img src="https://github.com/lazy-luo/smarGate/blob/master/res/reg.png" /><br>
|
||||
</details>
|
||||
|
||||
### 2、下载服务端 && 配置
|
||||
@@ -229,12 +284,15 @@
|
||||
<summary>
|
||||
<mark><font size=5 color=darkred>展开图示</font></mark>
|
||||
</summary>
|
||||
<img src="https://github.com/lazy-luo/smarGate/blob/master/res/oper2.png" /><br>
|
||||
<b>配置中的“远程ip”为“访问点”对应内网中的某台主机ip(localhost或127.0.0.1代表内网server端所在机器本身)</b>
|
||||
<img src="https://github.com/lazy-luo/smarGate/blob/master/res/oper3.png" /><br>
|
||||
<img src="https://github.com/lazy-luo/smarGate/blob/master/res/proxy.png" /><br>
|
||||
<b>服务端间端口映射配置需要在ip后加上服务端index序号,格式为:ip@idx</b>
|
||||
<img src="https://github.com/lazy-luo/smarGate/blob/master/res/server-proxy.png" /><br>
|
||||
</details>
|
||||
|
||||
### 5、电脑或手机可以直接访问手机客户端设置的服务(如ssh、http等)<br>
|
||||
|
||||
</details>
|
||||
|
||||
## 补充说明:<br>
|
||||
* 所有版本已经打包了依赖,开箱即用.<br>
|
||||
* 系统将自动清除30天以上未使用的“僵尸账号”.<br>
|
||||
@@ -245,6 +303,11 @@
|
||||
>> 1、设置 -> 无线及网络 -> WLAN -> 系统休眠保持连接 "允许" (否则,系统休眠会被断连)<br>
|
||||
>> 2、设置 -> 无线及网络 -> 移动网络 -> 高级 ->始终保持数据连接 "允许"<br>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
<mark><font size=5 color=darkred>常见问题答疑</font></mark>
|
||||
</summary>
|
||||
|
||||
* Q:如何下载安装 android app?<br>
|
||||
>> 1、用android手机浏览器打开 https://github.com/lazy-luo/smarGate/raw/master/app-release.apk <br>
|
||||
>> 2、弹出框中下载安装 <br>
|
||||
@@ -283,7 +346,9 @@
|
||||
<br>
|
||||
>> A:自定义路由标识为:<br>
|
||||
<br>
|
||||
|
||||
|
||||
</details>
|
||||
|
||||
## 最佳实践<br>
|
||||
* 以下为推荐使用的最佳实践,供参考:<br>
|
||||
1、android客户端设置为“自动登录”,免除每次输入用户名/密码的麻烦;<br>
|
||||
@@ -310,6 +375,84 @@ ps:捐赠建议附上注册用户名<br>
|
||||
<summary>
|
||||
<mark><font size=5 color=darkred>更新历史</font></mark>
|
||||
</summary>
|
||||
|
||||
### 2025-03-25<br>
|
||||
1、文件管理新增空目录删除功能<br>
|
||||
2、服务端间连接增加使用时连接功能(20秒内重连1次)<br>
|
||||
3、增强稳定性,修复异常退出问题<br>
|
||||
|
||||
### 2024-10-12更新到v0.40.4:<br>
|
||||
1、新增PROXY协议,单端口同时支持socks5及http代理<br>
|
||||
2、新增http代理用户/密码认证<br>
|
||||
|
||||
```
|
||||
<app-parameter>
|
||||
...
|
||||
<httpx-user value="user" />
|
||||
<httpx-passwd value="pwd" />
|
||||
<socks-user value="user" />
|
||||
<socks-passwd value="pwd" />
|
||||
...
|
||||
</app-parameter>
|
||||
```
|
||||
3、其它优化<br>
|
||||
|
||||
### 2024-08-20<br>
|
||||
1、提升文件传输速度<br>
|
||||
2、其它优化<br>
|
||||
|
||||
### 2024-08-17<br>
|
||||
1、修复网络出口变化时服务端长时间丢失的BUG<br>
|
||||
2、改进P2P连接机制,提升P2P连接成功率<br>
|
||||
|
||||
### 2024-08-06更新到v0.40.3<br>
|
||||
1、修复windows下代理连接偶发断开的BUG<br>
|
||||
2、修复windows下低带宽时高CPU占用的BUG<br>
|
||||
3、服务端支持动态资源回收,适合内存限制设备<br>
|
||||
4、新增编译包,支持LoongArch64架构<br>
|
||||
5、版本更新到v0.40.3<br>
|
||||
|
||||
### 2024-07-11<br>
|
||||
1、修复代理地址错误显示为localhost的BUG<br>
|
||||
2、修复windows下偶发coredump的BUG<br>
|
||||
|
||||
### 2024-05-11<br>
|
||||
1、启用异步连接,防止慢连接阻塞正常连接<br>
|
||||
2、修复链式代理、Socks5、http代理在特定情况下无法释放连接的BUG<br>
|
||||
|
||||
### 2024-04-27更新到v0.40.2:<br>
|
||||
1、改进P2P的连接成功率<br>
|
||||
2、修复部分已知BUG<br>
|
||||
3、版本更新到v0.40.2<br>
|
||||
|
||||
### 2024-04-18:<br>
|
||||
1、收藏夹BUG修复<br>
|
||||
2、新增服务备注功能,便于服务识别及打标<br>
|
||||
|
||||
### 2024-04-10:<br>
|
||||
1、VIP支持百度地图定位<br>
|
||||
* APP服务端支持GPS定位
|
||||
* 百度地图开放平台,自行申请“浏览器端”AK,然后将AK配置到SG客户端中,即可正常使用地图定位功能
|
||||
|
||||
2、版本更新到v0.40.1<br>
|
||||
|
||||
### 2024-02-02:<br>
|
||||
1、APP易用性更新,后续版本将采用全新界面<br>
|
||||
2、修复特定情况无法创建ipv6隧道的BUG<br>
|
||||
3、APP增加收藏夹功能,常用连接一览无余<br>
|
||||
4、版本更新到v0.32.3<br>
|
||||
|
||||
### 2023-11-28:<br>
|
||||
1、老幼安全防护,支持GPS定位,便于掌握关怀对象所在经纬度(自行手动授权)<br>
|
||||
* 此功能仅支持Android服务端<br>
|
||||
* 坐标获取成功,则经纬度坐标将会自动复制到剪贴板<br>
|
||||
|
||||
2、其它优化<br>
|
||||
|
||||
### 2023-11-17更新到v0.32.2:<br>
|
||||
1、socks协议支持用户名/密码验证<br>
|
||||
2、支持保存及播放录音(VIP)<br>
|
||||
3、版本更新到v0.32.2<br>
|
||||
|
||||
### 2023-10-25更新到v0.32.1:<br>
|
||||
1、修复bug<br>
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 214 KiB After Width: | Height: | Size: 202 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 224 KiB |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 348 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 360 KiB |
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user