docker安装
nps的服务端
一款轻量级、功能强大的内网穿透代理服务器。支持tcp、udp流量转发,支持内网http代理、内网socks5代理,同时支持snappy压缩、站点保护、加密传输、多路复用、header修改等。支持web图形化管理,集成多用户模式。
nps的服务端
一款轻量级、功能强大的内网穿透代理服务器。支持tcp、udp流量转发,支持内网http代理、内网socks5代理,同时支持snappy压缩、站点保护、加密传输、多路复用、header修改等。支持web图形化管理,集成多用户模式。
使用方式
拉取镜像
docker pull yisier1/nps
启动
docker run -d –restart=always –name nps –net=host -v <本机conf目录>:/conf -v /etc/localtime:/etc/localtime:ro yisier1/nps
下载conf文件夹并解压,(升级请忽略)
阅读文档修改配置文件(升级请忽略)
启动:
docker run -d –restart=always –name nps –net=host -v 本机conf目录路径:/conf -v /etc/localtime:/etc/localtime:ro yisier1/nps
示例:
docker run -d --restart=always --name nps --net=host -v /home/data/nps/conf:/conf -v /etc/localtime:/etc/localtime:ro yisier1/nps
请确保为conf文件夹
查看日志
docker logs nps
拉取镜像
docker pull yisier1/nps
启动
docker run -d –restart=always –name nps –net=host -v <本机conf目录>:/conf -v /etc/localtime:/etc/localtime:ro yisier1/nps
下载conf文件夹并解压,(升级请忽略)
阅读文档修改配置文件(升级请忽略)
启动:
docker run -d –restart=always –name nps –net=host -v 本机conf目录路径:/conf -v /etc/localtime:/etc/localtime:ro yisier1/nps
示例:
docker run -d --restart=always --name nps --net=host -v /home/data/nps/conf:/conf -v /etc/localtime:/etc/localtime:ro yisier1/nps
请确保为conf文件夹
查看日志
docker logs nps
nps的客户端npc
一款轻量级、功能强大的内网穿透代理服务器。支持tcp、udp流量转发,支持内网http代理、内网socks5代理,同时支持snappy压缩、站点保护、加密传输、多路复用、header修改等。支持web图形化管理,集成多用户模式。
一款轻量级、功能强大的内网穿透代理服务器。支持tcp、udp流量转发,支持内网http代理、内网socks5代理,同时支持snappy压缩、站点保护、加密传输、多路复用、header修改等。支持web图形化管理,集成多用户模式。
使用方式
拉取镜像:
docker pull yisier1/npc
无配置文件命令:docker run -d –name npc –net=host yisier1/npc -server=ip:port -vkey=web界面中显示的密钥 以及一些其他参数
创建容器并启动:
docker run -d –restart=always –name 自定义名称 –net=host yisier1/npc -server=xxxx -vkey=xxxx
或指定配置文件启动:
docker run -d –name npc –net=host -v 本机conf目录:/conf ffdfgdfg/npc -config=/conf/npc.conf
参数附在后面即可 请确保为conf文件夹下的npc.conf
查看日志
docker logs npc
安装包安装
NPS releases
下载对应的系统版本即可,服务端和客户端是单独的
源码安装
安装源码 go get -u ehang.io/nps
编译
服务端go build cmd/nps/nps.go
客户端go build cmd/npc/npc.go
拉取镜像:
docker pull yisier1/npc
无配置文件命令:docker run -d –name npc –net=host yisier1/npc -server=ip:port -vkey=web界面中显示的密钥 以及一些其他参数
创建容器并启动:
docker run -d –restart=always –name 自定义名称 –net=host yisier1/npc -server=xxxx -vkey=xxxx
或指定配置文件启动:
docker run -d –name npc –net=host -v 本机conf目录:/conf ffdfgdfg/npc -config=/conf/npc.conf
参数附在后面即可 请确保为conf文件夹下的npc.conf
查看日志
docker logs npc
安装包安装
NPS releases
下载对应的系统版本即可,服务端和客户端是单独的
源码安装
安装源码 go get -u ehang.io/nps
编译
服务端go build cmd/nps/nps.go
客户端go build cmd/npc/npc.go
容器启动示例:
Command(启动命令)
示例:
‘-server=9.137.8.102:58024’ ‘-vkey=vnhuq8h0ls88widw’
Windows 段以服务启动:
执行命令完成操作
自动安装服务
.\npc.exe install
自动删除服务
.\npc.exe uninstall
官方指导文档:
自动安装服务
.\npc.exe install
自动删除服务
.\npc.exe uninstall
官方指导文档:
基本使用
无配置文件模式
此模式的各种配置在服务端web管理中完成,客户端除运行一条命令外无需任何其他设置
./npc -server=ip:port -vkey=web界面中显示的密钥
此模式的各种配置在服务端web管理中完成,客户端除运行一条命令外无需任何其他设置
./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
,再重新注册
如果需要当客户端退出时自动重启客户端,请按照如图所示配置
注册到服务后,日志文件windows位于当前目录下,linux和darwin位于/var/log/npc.log
对于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
,再重新注册如果需要当客户端退出时自动重启客户端,请按照如图所示配置
注册到服务后,日志文件windows位于当前目录下,linux和darwin位于/var/log/npc.log
客户端更新
首先进入到对于的客户端二进制文件目录
请首先执行sudo npc stop
或者npc.exe stop
停止运行,然后
对于linux
sudo npc-update update
对于windows
npc-update.exe update
更新完成后,执行执行sudo npc start
或者npc.exe start
重新运行即可完成升级
如果无法更新成功,可以直接自行下载releases压缩包然后覆盖原有的npc二进制文件
首先进入到对于的客户端二进制文件目录
请首先执行sudo npc stop
或者npc.exe stop
停止运行,然后
对于linux
sudo npc-update update
对于windows
npc-update.exe update
更新完成后,执行执行sudo npc start
或者npc.exe start
重新运行即可完成升级
如果无法更新成功,可以直接自行下载releases压缩包然后覆盖原有的npc二进制文件
配置文件模式
此模式使用nps的公钥或者客户端私钥验证,各种配置在客户端完成,同时服务端web也可以进行管理
./npc -config=npc配置文件路径
此模式使用nps的公钥或者客户端私钥验证,各种配置在客户端完成,同时服务端web也可以进行管理
./npc -config=npc配置文件路径
配置文件说明
[common]
server_addr=127.0.0.1:8024
conn_type=tcp
vkey=123
auto_reconnection=true
max_conn=1000
flow_limit=1000
rate_limit=1000
basic_username=11
basic_password=3
web_username=user
web_password=1234
crypt=true
compress=true
#pprof_addr=0.0.0.0:9999
disconnect_timeout=60
[health_check_test1]
health_check_timeout=1
health_check_max_failed=3
health_check_interval=1
health_http_url=/
health_check_type=http
health_check_target=127.0.0.1:8083,127.0.0.1:8082
[health_check_test2]
health_check_timeout=1
health_check_max_failed=3
health_check_interval=1
health_check_type=tcp
health_check_target=127.0.0.1:8083,127.0.0.1:8082
[web]
host=c.o.com
target_addr=127.0.0.1:8083,127.0.0.1:8082
[tcp]
mode=tcp
target_addr=127.0.0.1:8080
server_port=10000
[socks5]
mode=socks5
server_port=19009
multi_account=multi_account.conf
[file]
mode=file
server_port=19008
local_path=/Users/liuhe/Downloads
strip_pre=/web/
[http]
mode=httpProxy
server_port=19004
[udp]
mode=udp
server_port=12253
target_addr=114.114.114.114:53
[ssh_secret]
mode=secret
password=ssh2
target_addr=123.206.77.88:22
[ssh_p2p]
mode=p2p
password=ssh3
[secret_ssh]
local_port=2001
password=ssh2
[p2p_ssh]
local_port=2002
password=ssh3
target_addr=123.206.77.88:22
[common]
server_addr=127.0.0.1:8024
conn_type=tcp
vkey=123
auto_reconnection=true
max_conn=1000
flow_limit=1000
rate_limit=1000
basic_username=11
basic_password=3
web_username=user
web_password=1234
crypt=true
compress=true
#pprof_addr=0.0.0.0:9999
disconnect_timeout=60
[health_check_test1]
health_check_timeout=1
health_check_max_failed=3
health_check_interval=1
health_http_url=/
health_check_type=http
health_check_target=127.0.0.1:8083,127.0.0.1:8082
[health_check_test2]
health_check_timeout=1
health_check_max_failed=3
health_check_interval=1
health_check_type=tcp
health_check_target=127.0.0.1:8083,127.0.0.1:8082
[web]
host=c.o.com
target_addr=127.0.0.1:8083,127.0.0.1:8082
[tcp]
mode=tcp
target_addr=127.0.0.1:8080
server_port=10000
[socks5]
mode=socks5
server_port=19009
multi_account=multi_account.conf
[file]
mode=file
server_port=19008
local_path=/Users/liuhe/Downloads
strip_pre=/web/
[http]
mode=httpProxy
server_port=19004
[udp]
mode=udp
server_port=12253
target_addr=114.114.114.114:53
[ssh_secret]
mode=secret
password=ssh2
target_addr=123.206.77.88:22
[ssh_p2p]
mode=p2p
password=ssh3
[secret_ssh]
local_port=2001
password=ssh2
[p2p_ssh]
local_port=2002
password=ssh3
target_addr=123.206.77.88:22
全局配置
[common]
server_addr=1.1.1.1:8024
conn_type=tcp
vkey=123
username=111
password=222
compress=true
crypt=true
rate_limit=10000
flow_limit=100
remark=test
max_conn=10
#pprof_addr=0.0.0.0:9999
项 含义 server_addr 服务端ip/域名:port conn_type 与服务端通信模式(tcp或kcp) vkey 服务端配置文件中的密钥(非web) username socks5或http(s)密码保护用户名(可忽略) password socks5或http(s)密码保护密码(可忽略) compress 是否压缩传输(true或false或忽略) crypt 是否加密传输(true或false或忽略) rate_limit 速度限制,可忽略 flow_limit 流量限制,可忽略 remark 客户端备注,可忽略 max_conn 最大连接数,可忽略 pprof_addr debug pprof ip:port
[common]
server_addr=1.1.1.1:8024
conn_type=tcp
vkey=123
username=111
password=222
compress=true
crypt=true
rate_limit=10000
flow_limit=100
remark=test
max_conn=10
#pprof_addr=0.0.0.0:9999
项 | 含义 |
server_addr | 服务端ip/域名:port |
conn_type | 与服务端通信模式(tcp或kcp) |
vkey | 服务端配置文件中的密钥(非web) |
username | socks5或http(s)密码保护用户名(可忽略) |
password | socks5或http(s)密码保护密码(可忽略) |
compress | 是否压缩传输(true或false或忽略) |
crypt | 是否加密传输(true或false或忽略) |
rate_limit | 速度限制,可忽略 |
flow_limit | 流量限制,可忽略 |
remark | 客户端备注,可忽略 |
max_conn | 最大连接数,可忽略 |
pprof_addr | debug pprof ip:port |
域名代理
[common]
server_addr=1.1.1.1:8024
vkey=123
[web1]
host=a.proxy.com
target_addr=127.0.0.1:8080,127.0.0.1:8082
host_change=www.proxy.com
header_set_proxy=nps
项 含义 web1 备注 host 域名(http target_addr 内网目标,负载均衡时多个目标,逗号隔开 host_change 请求host修改 header_xxx 请求header修改或添加,header_proxy表示添加header proxy:nps
[common]
server_addr=1.1.1.1:8024
vkey=123
[web1]
host=a.proxy.com
target_addr=127.0.0.1:8080,127.0.0.1:8082
host_change=www.proxy.com
header_set_proxy=nps
项 | 含义 |
web1 | 备注 |
host | 域名(http |
target_addr | 内网目标,负载均衡时多个目标,逗号隔开 |
host_change | 请求host修改 |
header_xxx | 请求header修改或添加,header_proxy表示添加header proxy:nps |
tcp隧道模式
[common]
server_addr=1.1.1.1:8024
vkey=123
[tcp]
mode=tcp
target_addr=127.0.0.1:8080
server_port=9001
项 含义 mode tcp server_port 在服务端的代理端口 tartget_addr 内网目标
[common]
server_addr=1.1.1.1:8024
vkey=123
[tcp]
mode=tcp
target_addr=127.0.0.1:8080
server_port=9001
项 | 含义 |
mode | tcp |
server_port | 在服务端的代理端口 |
tartget_addr | 内网目标 |
udp隧道模式
[common]
server_addr=1.1.1.1:8024
vkey=123
[udp]
mode=udp
target_addr=127.0.0.1:8080
server_port=9002
项 含义 mode udp server_port 在服务端的代理端口 target_addr 内网目标
[common]
server_addr=1.1.1.1:8024
vkey=123
[udp]
mode=udp
target_addr=127.0.0.1:8080
server_port=9002
项 | 含义 |
mode | udp |
server_port | 在服务端的代理端口 |
target_addr | 内网目标 |
http代理模式
[common]
server_addr=1.1.1.1:8024
vkey=123
[http]
mode=httpProxy
server_port=9003
项 含义 mode httpProxy server_port 在服务端的代理端口
[common]
server_addr=1.1.1.1:8024
vkey=123
[http]
mode=httpProxy
server_port=9003
项 | 含义 |
mode | httpProxy |
server_port | 在服务端的代理端口 |
socks5代理模式
[common]
server_addr=1.1.1.1:8024
vkey=123
[socks5]
mode=socks5
server_port=9004
multi_account=multi_account.conf
项 含义 mode socks5 server_port 在服务端的代理端口 multi_account socks5多账号配置文件(可选),配置后使用basic_username和basic_password无法通过认证
[common]
server_addr=1.1.1.1:8024
vkey=123
[socks5]
mode=socks5
server_port=9004
multi_account=multi_account.conf
项 | 含义 |
mode | socks5 |
server_port | 在服务端的代理端口 |
multi_account | socks5多账号配置文件(可选),配置后使用basic_username和basic_password无法通过认证 |
私密代理模式
[common]
server_addr=1.1.1.1:8024
vkey=123
[secret_ssh]
mode=secret
password=ssh2
target_addr=10.1.50.2:22
项 含义 mode secret password 唯一密钥 target_addr 内网目标
[common]
server_addr=1.1.1.1:8024
vkey=123
[secret_ssh]
mode=secret
password=ssh2
target_addr=10.1.50.2:22
项 | 含义 |
mode | secret |
password | 唯一密钥 |
target_addr | 内网目标 |
p2p代理模式
[common]
server_addr=1.1.1.1:8024
vkey=123
[p2p_ssh]
mode=p2p
password=ssh2
target_addr=10.1.50.2:22
项 含义 mode p2p password 唯一密钥 target_addr 内网目标
[common]
server_addr=1.1.1.1:8024
vkey=123
[p2p_ssh]
mode=p2p
password=ssh2
target_addr=10.1.50.2:22
项 | 含义 |
mode | p2p |
password | 唯一密钥 |
target_addr | 内网目标 |
文件访问模式
利用nps提供一个公网可访问的本地文件服务,此模式仅客户端使用配置文件模式方可启动
[common]
server_addr=1.1.1.1:8024
vkey=123
[file]
mode=file
server_port=9100
local_path=/tmp/
strip_pre=/web/
项 含义 mode file server_port 服务端开启的端口 local_path 本地文件目录 strip_pre 前缀
对于strip_pre
,访问公网ip:9100/web/
相当于访问/tmp/
目录
利用nps提供一个公网可访问的本地文件服务,此模式仅客户端使用配置文件模式方可启动
[common]
server_addr=1.1.1.1:8024
vkey=123
[file]
mode=file
server_port=9100
local_path=/tmp/
strip_pre=/web/
项 | 含义 |
mode | file |
server_port | 服务端开启的端口 |
local_path | 本地文件目录 |
strip_pre | 前缀 |
对于strip_pre
,访问公网ip:9100/web/
相当于访问/tmp/
目录
断线重连
[common]
auto_reconnection=true
[common]
auto_reconnection=true