一款轻量级、高性能、功能强大的内网穿透代理服务器

简介

nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理p2p等,并带有功能强大的web管理端。

效果图

安装

安装服务端

mkdir /opt/nps
cd /opt/nps
wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz
tar -xvf linux_amd64_server.tar.gz

 安装客户端

mkdir /opt/npc
cd /opt/npc
wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_client.tar.gz
tar -xvf linux_amd64_client.tar.gz

服务端基本使用

提示:使用web模式时,服务端执行文件必须在项目根目录,否则无法正确加载配置文件

web管理

进入web界面,公网ip:web界面端口(默认8080),密码默认为123

进入web管理界面,有详细的说明

服务端配置文件重载

对于linux、darwin

 sudo nps reloadCopy to clipboardErrorCopied

对于windows

 nps.exe reloadCopy to clipboardErrorCopied

说明: 仅支持部分配置重载,例如allow_user_login auth_crypt_key auth_key web_username web_password 等,未来将支持更多

服务端停止或重启

对于linux、darwin

 sudo nps stop|restartCopy to clipboardErrorCopied

对于windows

 nps.exe stop|restartCopy to clipboardErrorCopied

服务端更新

请首先执行 sudo nps stop 或者 nps.exe stop 停止运行,然后

对于linux

 sudo nps-update updateCopy to clipboardErrorCopied

对于windows

 nps-update.exe updateCopy to clipboardErrorCopied

更新完成后,执行执行 sudo nps start 或者 nps.exe start 重新运行即可完成升级

如果无法更新成功,可以直接自行下载releases压缩包然后覆盖原有的nps二进制文件和web目录

注意:nps install 之后的 nps 不在原位置,请使用 whereis nps 查找具体目录覆盖 nps 二进制文件

客户端基本使用

无配置文件模式

此模式的各种配置在服务端web管理中完成,客户端除运行一条命令外无需任何其他设置

 ./npc -server=ip:port -vkey=web界面中显示的密钥Copy to clipboardErrorCopied

注册到系统服务(开机启动、守护进程)

对于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 updateCopy to clipboardErrorCopied

对于windows

npc-update.exe updateCopy to clipboardErrorCopied

更新完成后,执行执行sudo npc start或者npc.exe start重新运行即可完成升级

如果无法更新成功,可以直接自行下载releases压缩包然后覆盖原有的npc二进制文件

配置文件模式

此模式使用nps的公钥或者客户端私钥验证,各种配置在客户端完成,同时服务端web也可以进行管理

 ./npc -config=npc配置文件路径Copy to clipboardErrorCopied

配置文件说明

示例配置文件

全局配置
[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:9999Copy to clipboardErrorCopied
含义
server_addr服务端ip/域名:port
conn_type与服务端通信模式(tcp或kcp)
vkey服务端配置文件中的密钥(非web)
usernamesocks5或http(s)密码保护用户名(可忽略)
passwordsocks5或http(s)密码保护密码(可忽略)
compress是否压缩传输(true或false或忽略)
crypt是否加密传输(true或false或忽略)
rate_limit速度限制,可忽略
flow_limit流量限制,可忽略
remark客户端备注,可忽略
max_conn最大连接数,可忽略
pprof_addrdebug 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=npsCopy to clipboardErrorCopied
含义
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=9001Copy to clipboardErrorCopied
含义
modetcp
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=9002Copy to clipboardErrorCopied
含义
modeudp
server_port在服务端的代理端口
target_addr内网目标
http代理模式
[common]
server_addr=1.1.1.1:8024
vkey=123
[http]
mode=httpProxy
server_port=9003Copy to clipboardErrorCopied
含义
modehttpProxy
server_port在服务端的代理端口
socks5代理模式
[common]
server_addr=1.1.1.1:8024
vkey=123
[socks5]
mode=socks5
server_port=9004
multi_account=multi_account.confCopy to clipboardErrorCopied
含义
modesocks5
server_port在服务端的代理端口
multi_accountsocks5多账号配置文件(可选),配置后使用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:22Copy to clipboardErrorCopied
含义
modesecret
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:22Copy to clipboardErrorCopied
含义
modep2p
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/Copy to clipboardErrorCopied
含义
modefile
server_port服务端开启的端口
local_path本地文件目录
strip_pre前缀

对于strip_pre,访问公网ip:9100/web/相当于访问/tmp/目录

断线重连
[common]
auto_reconnection=true

官方文档

https://ehang-io.github.io/nps/#/install

github:

https://github.com/ehang-io/nps.git

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/662039.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

reactnative 调用原生ui组件

reactnative 调用原生ui组件 ![组件对应关系](https://img-blog.csdnimg.cn/direct/c4351ad7bd38411e9c13087f1059a4b0.png)1.该样例已textView,介绍。 新建MyTextViewManager 文件,继承SimpleViewManager。import android.graphics.Color; import andr…

2024年美国大学生数学建模竞赛F题思路分析

题目 非法野生动物贸易对环境造成了负面影响,并威胁全球生物多样性。据估计,其涉及高达265亿美元的年交易额,被认为是全球所有非法交易中的第四大。[1] 你需要开发一个基于数据驱动的5年项目,旨在显著减少非法野生动物贸易。你的…

MySQL中SQL查询语句优化

在现代的Web应用中,数据库的性能往往决定了整个应用的响应速度和用户体验。而SQL查询语句的优化是提高数据库性能的关键所在。MySQL作为一款广泛使用的关系型数据库,如何对其SQL查询进行优化是许多开发者关心的焦点。 一、查询优化基础 索引优化&#…

2024美赛数学建模F题思路分析 - 减少非法野生动物贸易

1 赛题 问题F:减少非法野生动物贸易 非法的野生动物贸易会对我们的环境产生负面影响,并威胁到全球的生物多样性。据估计,它每年涉及高达265亿美元,被认为是全球第四大非法交易。[1]你将开发一个由数据驱动的5年项目,…

2024年美赛F题Problem F Reducing Illegal Wildlife Trade减少非法野生动物贸易的完整思路代码分享

非法的野生动物贸易会对我们的环境产生负面影响,并威胁到全球的生物多样性。据估计,它每年涉及高达265亿美元,被认为是全球第四大非法交易。[1]你将开发一个由数据驱动的5年项目,旨在显著减少非法野生动物贸易。你的目标是说服一个…

Leetcode2772. 使数组中的所有元素都等于零

Every day a Leetcode 题目来源:2772. 使数组中的所有元素都等于零 解法1:差分数组 令差分数组 diff[i] nums[i] - nums[i - 1],特别地,diff[0] nums[0],diff[n] -nums[n-1]。 可以发现,差分数组具…

用Audio2Face导出Unity面部动画

开始之前说句话,新年前最后一篇文章了 一定别轻易保存任何内容,尤其是程序员不要轻易Ctrl S 在A2F去往Unity的路上,还要经历特殊Blender,自己电脑中已下载好的可能不是很好使。 如果想查看UE相关的可以跳转到下边这两篇链接 1. …

Linux小知识分享-压缩包解压之后属主和属组不是当前用户问题

今天给大家分享一个Linux小知识 背景 假设当前Linux下用户是root,我们从网络上或者其他环境下载了个压缩包进行本地解压。 结果发现解压之后的文件或者文件夹的 属主和属主 都不是当前用户root # 检查当前用户 [roottest-xxxx-01-vm /tmp/colinspace ]# id uid0(…

IDEA 配置和缓存目录 设置

IDEA系列产品&#xff0c;一般会在用户目录创建 配置 和 缓存 目录&#xff1a; %APPDATA%\JetBrains%LOCALAPPDATA%\JetBrains 一般会展示为&#xff1a; C:\Users\<username>\AppData\Roaming\JetBrainsC:\Users\<username>\AppData\Local\JetBrains 一般占用…

MtfLive直播导航PHP源码,附带系统搭建教程

将自动采集斗鱼、虎牙、触手、YY、章鱼、电视直播按分类/关键词聚合&#xff0c;用户选择分类&#xff0c;可以观看到全网该关键词下正在直播的内容。 特点 PC站和H5移动站自适应 自动缓存&#xff0c;避免频繁抓取数据 自定义抓取采集规则&#xff0c;同时支持HTML和JSON …

【Java实战】农行支付对接流程开发详解

文章目录 前言📝一、环境配置1.对接资料2.导入接口包 JAR 文件3.引入配置文件二、接口对接1.微信支付2.农行页面支付3.支付回调4.担保确认及担保确认查询总结前言📝 在实际开发中,涉及金钱那就少不了对接支付,常用的支付方式有微信支付和支付宝支付,这两个在其官网都有…

Character Auras 3

该包包含12种惊人的光环效果! 列表: 秋天的氛围 血光 五彩纸屑的光环 疾风 火光光环 森林氛围 治疗光环 冰系光环 爱的光环 毒气环 星光气场 所有预制件都已准备好用于游戏,只需将它们拖放到游戏中即可! 下载: ​​Unity资源商店链接 资源下载链接 效果图:

OJ刷题:《剑指offer》之左旋字符串!

目录 1.题目描述 2.方法一&#xff08;元素一一挪&#xff09; 2.1算法解析 2.2代码实现 3.方法二&#xff08;三次逆置&#xff09; 3.1算法解析 3.2代码实现 4.方法三&#xff08;库方法&#xff09; 4.1算法解析 4.2代码实现 5.完结散花 创作不易&#xff0c;宝子…

以太网-环回地址

文章目录 环回地址在同一台电脑上开发两个可执行文件(EXE)并使用环回地址进行通信交互Python示例代码环回地址 环回地址是指在计算机网络中,用来标识设备自身的一个逻辑地址,也被称为本地环回地址。它是一个虚拟的接口,可以确保路由 ID 的稳定性,且不会出现链路失效的情…

实习记录——第九天

今天早上下雨了&#xff0c;不过我没有迟到&#xff0c;刚刚好到公司&#xff0c;早上说的渗透测试的项目我并没有看见PM来找我&#xff0c;我还以为他把我忘了&#xff0c;到了中午我实在耐不住性子&#xff0c;就去问他了&#xff0c;他甩给我一些资产&#xff0c;当时觉得他…

TDengine 签约杭州云润,助力某大型水表企业时序数据处理

在智慧电表水表的数据采集和存储过程中&#xff0c;时序数据处理成为一个重要的问题。由于电表水表数据具有时间序列的特点&#xff0c;传统的数据库和数据处理方式往往难以满足大规模数据的高速采集、存储和实时分析需求。因此&#xff0c;越来越多的企业开始进行数据架构改造…

【制作100个unity游戏之23】实现类似七日杀、森林一样的生存游戏8(附项目源码)

本节最终效果演示 文章目录 本节最终效果演示系列目录前言配置可使用物品功能下载一些水果模型代码实现使用物品 源码完结 系列目录 前言 欢迎来到【制作100个Unity游戏】系列&#xff01;本系列将引导您一步步学习如何使用Unity开发各种类型的游戏。在这第23篇中&#xff0c…

Java面对对象

Java面向对象 面对对象概述&#xff0c;类与对象&#xff0c;继承&#xff0c;重写与重载&#xff0c;多态&#xff0c;抽象&#xff0c;封装&#xff0c;包&#xff0c;泛型&#xff0c;异常 面对对象概述 什么是面向对象&#xff08;OOP&#xff09; 面向对象(Object Ori…

程控设备和电脑通信的总线和协议选择

文章目录 程控设备都通过什么协议和总线和电脑通信?工控设备都使用什么通信协议与电脑通信?各种工控设备通信协议的优缺点如何选择适合工控设备的通信协议?各种工控设备通信总线的优缺点如何判断一种总线是否适合特定的应用场景?程控设备都通过什么协议和总线和电脑通信? …

【python3.8 pre-commit报错】记录pre-commit install报错

一、问题 在执行pre-commit install --allow-missing-config命令时&#xff0c;报错 Traceback (most recent call last):File "C:\ProgramData\Anaconda3\envs\py38\lib\runpy.py", line 192, in _run_module_as_mainreturn _run_code(code, main_globals, None,F…