一、项目介绍
本项目是GitHub上一位大佬(lazy-luo/smarGate)开发的内网穿透服务,用于实现公司和家里都没有公网的情况下,实现内网穿透访问家里或者公司内部服务,项目需要用到一台手机作为客户端,一台windows或者Linux或者软路由OpenWrt作为服务端。
1.1、平台适配:
支持linux、windows、macos、android、(tob,小型机:hp-unix、solaris、AIX)
1.2、CPU架构
支持x86、arm、mips、riscv(tob:alpha、PowerPC、SPRAC)
1.3、项目优势
注重安全,“内网”到“内网”的穿透,无需映射任何端口到外网,不更改任何防火墙配置
注重带宽,”4G手机+v6宽带“采用P2P方式访问内网服务(基于TCP协议,v4支持NAT1-3穿透)
注重节约,无需购买vps、无需公网IP;家中淘汰Android手机可做服务器
注重可靠,随用随有,可7*24不间断服务,且不受UDP协议Qos之苦
注重可控,客户端一点配置,且随时随地控制服务开启/关闭
注重环保,免安装,体量小巧(mini版1MB左右) allinone,高性能且资源占用最少
注重便携,无论工作或是度假,不管在任何地方,只要手机有网络,一切尽在掌控
1.4、主要功能
1、支持基于tcp的P2P连接隧道—安全可靠,避免Qos
2、支持所有基于tcp的各类协议”透明代理”—可代理所有内网tcp服务(ssh、rdp、smb、vnc、摄像头、数据库服务等)
3、支持HTTP、HTTPS to HTTP—支持http-head rewrite,支持将https服务代理成http
4、支持udp over tcp—支持udp协议的服务代理
5、透明方式(无需关注ipv6地址)支持ipv6隧道—自动建立v6隧道,访问时始终使用v4地址
6、支持自定义代理(需外网ip),接管所有数据转发—无法p2p时,自动连接自定义代理,实现数据转发
7、自定义代理支持token及白名单配置—支持安全机制
8、支持多级级联代理—支持链式代理,支持多级无环代理
9、支持手机作为访问唯一入口 —— 安全 + 移动便捷—手机在手、随用随有
10、端口映射全动态配置,支持映射配置“热拔插”—代理增、删及时生效,无需重启
11、所有功能app端“一点配置”—客户端一点配置,服务端运行时免配
12、支持P2P隧道及自定义代理隧道自动探测及连接—无需干预,app自动连接,自动重试
13、支持动态协商端口,支持指定协商端口—默认动态端口协商,支持配合防火墙配置协商端口
14、支持隧道连接优先级(P2P—>自定义代理–>官网代理)—数据传输时,支持优先级隧道
15、支持ssl加密隧道—支持P2P及代理隧道ssl加密,确保数据传输不泄密
16、支持流量限制—支持进行网络带宽限制,默认不限流
17、支持网络切换(如:移动<—>wifi)自动识别+自动连接—app端智能重连,始终确保服务可用性
18、支持不同局域网主机间端口映射 —— 如有一端主机有外网ip则可直接外网访问(version > v0.31)—支持服务端组网映射,流量无需通过手机app(传统穿透模式)
19、app支持服务端模式,可以将手机配置成服务端—android手机可作为服务端
20、支持远程文件管理功能:浏览、上传、下载、删除,支持断点续传(version >= v0.31.6)—在有p2p或自定义代理时,激活文件管理功能,可对手机和服务端电脑文件进行基本操作
二、项目示意图
三、快速上手指南
作者在GitHub上写的非常清晰,我就不在演示了,我只写几个我自己初步使用遇到的问题,供大家参考
3.1、快速上手手册
【点击直达】
3.2、B站视频指导
3.3、遇到的问题
1. 问:Windows下启动服务后怎么关闭?
答1:“任务管理器”,找到proxy_server进程,结束即可。
答2:使用CMD命令行kill进程
tasklist /FI "IMAGENAME eq proxy_server.exe" #查找进程
taskkill /F /IM proxy_server.exe #结束进程
2. 问:这些参数什么意思?【proxy_server.exe -i1000 -o1000 -w8】
答:-i参数指定最大入站连接数量,-o参数指定最大出站连接数量,-w参数指定工作线程数(一般小于2倍cpu数量)
3. 问:手机客户端注册的邀请码填什么?
答:随便写即可,只填数字。