NPS内网穿透
https://ehang-io.github.io/nps/#/install
https://github.com/ehang-io/nps/releases
// docker服务器
nps的服务端
一款轻量级、功能强大的内网穿透代理服务器。支持tcp、udp流量转发,支持内网http代理、内网socks5代理,同时支持snappy压缩、站点保护、加密传输、多路复用、header修改等。支持web图形化管理,集成多用户模式。
使用方式
docker pull ffdfgdfg/nps
下载conf文件夹并解压,或前往项目主页自行下载(升级请忽略)
继续阅读文档修改配置文件(升级请忽略)
启动:docker run --restart=always -d --name nps --net=host -v <本机conf目录>:/conf ffdfgdfg/nps
请确保为conf文件夹
查看日志docker logs nps
// docker客户端
nps的客户端npc
一款轻量级、功能强大的内网穿透代理服务器。支持tcp、udp流量转发,支持内网http代理、内网socks5代理,同时支持snappy压缩、站点保护、加密传输、多路复用、header修改等。支持web图形化管理,集成多用户模式。
使用方式
docker pull ffdfgdfg/npc
下载conf文件夹并解压,或前往项目主页自行下载(升级请忽略)
继续阅读文档按照不同的启动方式启动(升级请忽略)
无配置文件:docker run --restart=always -d --name npc --net=host ffdfgdfg/npc -server=<ip:port> -vkey=<web界面中显示的密钥> <以及一些其他参数>
配置文件:docker run --restart=always -d --name npc --net=host -v <本机conf目录>:/conf ffdfgdfg/npc -config=/conf/npc.conf
参数附在后面即可 请确保为conf文件夹下的npc.conf
查看日志docker logs npc
// windows客户端
无配置文件:./npc -server=ip:port -vkey=web界面中显示的密钥
// 注册到系统服务(开机启动、守护进程)
对于linux、darwin
注册:sudo ./npc install 其他参数(例如-server=xx -vkey=xx或者-config=xxx)
启动:sudo npc start
停止:sudo npc stop
如果需要更换命令内容需要先卸载./npc uninstall,再重新注册
对于windows,使用管理员身份运行cmd
注册:npc.exe install 其他参数(例如-server=xx -vkey=xx或者-config=xxx)
启动:npc.exe start
停止:npc.exe stop
如果需要更换命令内容需要先卸载npc.exe uninstall,再重新注册
// 代理
通过代理连接nps
有时候运行npc的内网机器无法直接访问外网,此时可以可以通过socks5代理连接nps
对于配置文件方式启动,设置
[common]
proxy_url=socks5://111:222@127.0.0.1:8024
对于无配置文件模式,加上参数
-proxy=socks5://111:222@127.0.0.1:8024
支持socks5和http两种模式
即socks5://username:password@ip:port
或http://username:password@ip:port
docker 使用 p2p
docker run --restart=always -d --name npc --net=host ffdfgdfg/npc -server=<ip:port> -vkey=<web界面中显示的要连接客户端密钥> -type=tcp -password=<web界面p2p唯一标识密钥> -target=<目标端口> -local_port=<本地端口>
FRP内网穿透
https://my.oschina.net/u/3269106/blog/3028563
GitHub地址:https://github.com/fatedier/frp
文档地址:https://gofrp.org/zh-cn/docs/
ZeroTier打洞技术
网址:https://www.zerotier.com/
账号:谷歌账号
Linux部署zerotier
在线安装zerotier
curl -s https://install.zerotier.com | sudo bash
查看安装zerotier版本
sudo zerotier-cli status
加入一个netWork
sudo zerotier-cli join ################(networkid)
查看加入的网络的信息,比如network
sudo zerotier-cli listnetworks
退出加入的network网段
sudo zerotier-cli leave ################(networkid)
启动、停止服务(mac下,linux尝试发现没有launchctl command)
#Stop and start the service with launchctl
停止
sudo launchctl unload /Library/LaunchDaemons/com.zerotier.one.plist
启动
sudo launchctl load /Library/LaunchDaemons/com.zerotier.one.plist
卸载服务(未尝试)
#Cleanly uninstall ZeroTier One, preserving only your secret identity
sudo "/Library/Application Support/ZeroTier/One/uninstall.sh"
创建和配置moon服务,加速国内p2p访问
#进入zerotier文件夹内
cd /var/lib/zerotier-one/
#生成moon.json文件
sudo zerotier-idtool initmoon identity.public > moon.json
#修改moon.json文件
找到stableENdpoints 在【】内填写自己的云服务的IP:“xxx.xxx.xxx.xxx/9993”,9993为服务默认端口
#生成密钥文件
#在/var/lib/zerotier-one下执行生成命令
zerotier-idtool genmoon moon.json
加入MOON节点进入网络
创建moons.d的文件夹,代码如下:
sudo mkdir moos.d
创建好后将密钥文件移动进去,代码如下:
sudo mv 000000axxxxxxxxx.moon moons.d/
重启服务
sudo systemctl restart zerotier-one
客户端连接并使用服务器上的Moon
接下来就需要在各客户端zerotier上配置,并连接此服务器,
Linux: 直接在zerotier目录下,创建moons.d文件夹,并且将生成的00000018fasd2319.moon文件拷入,并重启服务即可.
Windows(10):由于大部分人常用环境都是windows,所以此处着重对在windows环境下的配置说明下:
打开服务程序services.msc, 找到服务"ZeroTier One", 并且在属性内找到该服务可执行文件路径,我的环境下为C:\ProgramData\ZeroTier\One\zerotier-one_x64.exe, 打开该文件夹, 并且在其下建立moons.d文件夹,然后将moon服务器下生成的000xxxx.moon文件,拷贝到此文件夹内..再重启该服务即可..
(注,此处重启的是该项服务,不是电脑右下角的图标程序..网上大多资料都没法特别说明,或者含糊没说清,甚至重启电脑之类的说法都说出来了,比较马虎..右下角任务栏程序路径是在C:\Program Files (x86)\ZeroTier\One目录下,而服务路径却并非在该路径,若将moons.d文件夹放不对位置,是无法连上Moon服务器的.)
要验证是否moon生效,只需要在客户端zerotier程序目录下,执行以下命令即可:
zerotier-cli listpeers
ProxyAdmin
https://github.com/snail007/goproxy
Proxy是golang实现的高性能http,https,websocket,tcp,socks5代理服务器,支持内网穿透,链式代理,通讯加密,智能HTTP,SOCKS5代理,黑白名单,限速,限流量,限连接数,跨平台,KCP支持,认证API。
curl -L https://mirrors.host900.com/https://raw.githubusercontent.com/snail007/goproxy/master/install_auto.sh | bash
curl -L https://mirrors.host900.com/https://github.com/snail007/proxy_admin_free/blob/master/install_auto.sh | bash
下面的操作必须是已经安装了服务才能使用。
管理服务有两种方式:
1.使用程序 proxy-admin 可以管理服务。
proxy-admin install 安装为系统服务
proxy-admin uninstall 卸载服务
proxy-admin start 启动服务
proxy-admin stop 停止服务
proxy-admin restart 重启服务
2.使用系统服务管理工具管理。
proxy-admin 系统服务名称是:proxyadmin
Linux下面可以通过systemctl管理。
MacOS下面可以通过命令管理。
Windows下面可以使用系统的服务管理器管理。
ZeroTier与Tailscale技术比较
https://blog.51cto.com/fxn2025/5480342?articleABtest=1