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

简介

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Node需要了解的知识

Node能执行javascript的原因。 浏览器之所以能执行Javascript代码,因为内部含有v8引擎。Node.js基于v8引擎封装,因此可以执行javascript代码。Node.js环境没有DOM和BOM。DOM能访问HTML所有的节点对象,BOM是浏览器对象。但是node中提供了cons…

网络攻防模拟与城市安全演练 | 图扑数字孪生

在数字化浪潮的推动下,网络攻防模拟和城市安全演练成为维护社会稳定的不可或缺的环节。基于数字孪生技术我们能够在虚拟环境中进行高度真实的网络攻防模拟,为安全专业人员提供实战经验,从而提升应对网络威胁的能力。同时,在城市安…

【Android】二级分类双列表联动Demo

先上图: Demo解释 demo使用的是双列表展示(准确的说是三个,二级分类那里嵌套了一个),点击左边的条目,右边的列表会跳转相应的条目,滑动右边的列表,左边的列表也会相应的滑动。 代…

2024 年 10 款最佳免费无限的数据恢复软件工具

十大无限的数据恢复软件工具 数据丢失可能是一场噩梦,无论是由于意外删除、系统崩溃还是硬件故障。值得庆幸的是,有多种数据恢复软件工具可以帮助您检索珍贵的文件和文档。在本文中,我们将探讨可以拯救世界的十大最佳免费无限数据恢复软件工…

第二百零五回

文章目录 1. 概念介绍2. 实现方法2.1 文字信息2.2 红色边框 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何实现密码输入框"相关的内容,本章回中将介绍如何在在输入框中提示错误.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们…

RT-Thread线程管理(使用篇)

layout: post title: “RT-Thread线程管理” date: 2024-1-26 15:39:08 0800 tags: RT-Thread 线程管理(使用篇) 之后会做源码分析 线程是任务的载体,是RTT中最基本的调度单位。 线程执行时的运行环境称为上下文,具体来说就是各个变量和数据&#xff0c…

stable diffusion学习笔记——高清修复

ai画图中通常存在以下痛点: 受限于本地设备的性能(主要是显卡显存),无法跑出分辨率较高的图片。生图的时候分辨率一调大就爆显存。即便显存足够。目前主流的模型大多基于SD1.0和SD1.5,这些模型在训练的时候通常使用小…

【Java】IoC五大注解和@Bean注解

1、用于类的五大注解 Controller 控制器存储 Service 服务存储 Component 组件存储 Configuration 配置存储 Repository 仓库存储 从功能上看,除了Controller,其他效果一样:接口的入口必须为Controller ​几者的关系如下 2、用于方法的…

Leetcode92:反转链表II(区间反转链表)

一、题目 给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从位置 left 到位置 right 的链表节点&#xff0c;返回 反转后的链表 。 示例&#xff1a; 输入&#xff1a;head [1,2,3,4,5], left 2, right 4 输出&#xff1a…

一篇文章解决你的无线AP选型难题:从入门到精通

无线网络覆盖项目中&#xff0c;无线AP的合理选型和部署非常重要。今天给大家安排。 这篇文章&#xff0c;给你总结了6类典型的无线组网场所&#xff0c;针对每种场景的特点&#xff0c;给出相应的设备选型和部署的方案&#xff0c;同时整理了一些部署无线AP过程中容易忽略的细…

阿里云服务器一键部署幻兽帕鲁专属服务器,图形化可视化修改游戏参数是如此简单!

幻兽帕鲁这款游戏最近很火&#xff0c;在线玩家太多了&#xff0c;官方服务器也是承压巨大&#xff0c;很多玩家现在都是搭建自己的专属幻兽帕鲁服务器来玩。搭建教程现在也是越来越简单了&#xff0c;可以说是真正的零基础&#xff0c;一看就会&#xff0c;并且开箱即玩&#…

GMT绘图笔记

(1)图框设置。在利用GMT绘制图件时&#xff0c;需要设置边框的类型&#xff0c;字体的大小&#xff0c;标记距离边框的距离。主要涉及的参数有&#xff1a; gmt set MAP_FRAME_TYPE plain/fancy 可以调整边框为火车轨道或者线段。 (2)调整图框的粗细&#xff1a;主要是包含有…

浅析Redis③:命令处理之数据返回Client(下)

写在前面 Redis作为我们日常工作中最常使用的缓存数据库&#xff0c;其重要性不言而喻&#xff0c;作为普通开发者&#xff0c;我们在日常开发中使用Redis&#xff0c;主要聚焦于Redis的基层数据结构的命令使用&#xff0c;很少会有人对Redis的内部实现机制进行了解&#xff0c…

Python算法题集_合并区间

本文为Python算法题集之一的代码示例 题目56&#xff1a;合并区间 说明&#xff1a;以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需…

leetcode 1.两数之和(C++)DAY1(待补充哈希表法)

文章目录 1.题目描述示例提示 2.解答思路3.实现代码结果4.总结 1.题目描述 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&…

假期2.3

第二章 引用内联重载 一&#xff0e;选择题-* 1、适宜采用inline定义函数情况是&#xff08;C&#xff09; A. 函数体含有循环语句 B. 函数体含有递归语句‘、考科一 ’ C. 函数代码少、频繁调用 D. 函数代码多、不常调用 2、假定一个函数为A(int i4, int j0) {;}, 则执行“A …

Datawhale组队学习 Task10 环境影响

第12章 环境影响 在本章中&#xff0c;首先提出一个问题&#xff1a;大语言模型对环境的影响是什么&#xff1f; 这里给出的一个答案是&#xff1a;气候变化 一方面&#xff0c;我们都听说过气候变化的严重影响(文章1、文章2)&#xff1a; 我们已经比工业革命前的水平高出1.…

LeetCode热题HOT100【栈的压入、弹出序列】

&#x1f525;LeetCode热题HOT100【栈的压入、弹出序列】 1. 题目来源2.题目 1. 题目来源 来自LeetCode热题HOT100 https://leetcode.cn/studyplan/top-100-liked/?isDarktrue 2.题目 题目地址 Leetcode地址 3.Stack 在Java中&#xff0c;Stack 是一个基于后进先出&#…

玩美移动为花西子海外官网打造AR虚拟试妆决方案

全球领先的增强现实&#xff08;AR&#xff09;及人工智能&#xff08;AI&#xff09;美妆科技领导者及玩美系列APP开发商——玩美移动&#xff08;纽交所代码&#xff1a;PERF&#xff09;于近日宣布携手知名美妆品牌花西子&#xff0c;在其线海外官方网页提供多项彩妆虚拟试妆…

TanDEM-X30米DEM数据介绍

一、背景 之前介绍了Copernicus 30米DEM以及Alos 30米DEM数据的详细介绍以及接入到Cesium中的效果展示&#xff0c;有遥感专业工作者对比了Copernnicus、ALOA、ASTER、NASA、SRTM这几家30米DEM数据&#xff0c;得出了Copernicus 30米DEM数据是最好的全球级30米DEM数据&#xf…