Skip to content

Commit d427104

Browse files
author
刘河
committed
Readme
1 parent 42a73fa commit d427104

File tree

3 files changed

+55
-49
lines changed

3 files changed

+55
-49
lines changed

README.md

Lines changed: 51 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ nps是一款轻量级、高性能、功能强大的**内网穿透**代理服务
4343
* [服务端配置文件重载](#服务端配置文件重载)
4444
* [服务端停止或重启](#服务端停止或重启)
4545
* [配置文件说明](#服务端配置文件)
46-
4746
* [使用https](#使用https)
4847
* [与nginx配合](#与nginx配合)
4948
* [关闭http|https代理](#关闭代理)
@@ -53,6 +52,7 @@ nps是一款轻量级、高性能、功能强大的**内网穿透**代理服务
5352
* [关闭公钥访问](#关闭公钥访问)
5453
* [关闭web管理](#关闭web管理)
5554
* [服务端多用户登陆](#服务端多用户登陆)
55+
* [监听指定ip](#监听指定ip)
5656
* [客户端](#客户端)
5757
* [客户端启动](#客户端启动)
5858
* [无配置文件模式](#无配置文件模式)
@@ -405,6 +405,12 @@ web上可以自定义客户端连接的密钥,但是必须具有唯一性
405405
### 服务端多用户登陆
406406
如果将`nps.conf`中的`allow_user_login`设置为true,服务端web将支持多用户登陆,登陆用户名为user,密码为每个客户端的验证密钥,默认该功能是关闭的。
407407

408+
### 监听指定ip
409+
410+
nps支持每个隧道监听不同的服务端端口,可在web中控制,或者npc配置文件中(可忽略,默认为0.0.0.0)
411+
```ini
412+
server_ip=xxx
413+
```
408414

409415
## 客户端
410416

@@ -424,8 +430,8 @@ web上可以自定义客户端连接的密钥,但是必须具有唯一性
424430
##### 全局配置
425431
```ini
426432
[common]
427-
server=1.1.1.1:8284
428-
tp=tcp
433+
server_addr=1.1.1.1:8284
434+
conn_type=tcp
429435
vkey=123
430436
username=111
431437
password=222
@@ -438,11 +444,11 @@ max_conn=10
438444
```
439445
项 | 含义
440446
---|---
441-
server | 服务端ip:port
442-
tp | 与服务端通信模式(tcp或kcp)
447+
server_addr | 服务端ip:port
448+
conn_type | 与服务端通信模式(tcp或kcp)
443449
vkey|服务端配置文件中的密钥(非web)
444450
username|socks5或http(s)密码保护用户名(可忽略)
445-
username|socks5或http(s)密码保护密码(可忽略)
451+
password|socks5或http(s)密码保护密码(可忽略)
446452
compress|是否压缩传输(true或false或忽略)
447453
crypt|是否加密传输(true或false或忽略)
448454
rate_limit|速度限制,可忽略
@@ -453,136 +459,136 @@ max_conn|最大连接数,可忽略
453459

454460
```ini
455461
[common]
456-
server=1.1.1.1:8284
462+
server_addr=1.1.1.1:8284
457463
vkey=123
458464
[web1]
459465
host=a.proxy.com
460-
target=127.0.0.1:8080,127.0.0.1:8082
466+
target_addr=127.0.0.1:8080,127.0.0.1:8082
461467
host_change=www.proxy.com
462468
header_set_proxy=nps
463469
```
464470
项 | 含义
465471
---|---
466472
web1 | 备注
467473
host | 域名(http|https都可解析)
468-
target|内网目标,负载均衡时多个目标,逗号隔开
474+
target_addr|内网目标,负载均衡时多个目标,逗号隔开
469475
host_change|请求host修改
470476
header_xxx|请求header修改或添加,header_proxy表示添加header proxy:nps
471477

472478
##### tcp隧道模式
473479

474480
```ini
475481
[common]
476-
server=1.1.1.1:8284
482+
server_addr=1.1.1.1:8284
477483
vkey=123
478484
[tcp]
479485
mode=tcp
480-
target=127.0.0.1:8080
481-
port=9001
486+
target_addr=127.0.0.1:8080
487+
server_port=9001
482488
```
483489
项 | 含义
484490
---|---
485491
mode | tcp
486-
port | 在服务端的代理端口
487-
target|内网目标
492+
server_port | 在服务端的代理端口
493+
tartget_addr|内网目标
488494

489495
##### udp隧道模式
490496

491497
```ini
492498
[common]
493-
server=1.1.1.1:8284
499+
server_addr=1.1.1.1:8284
494500
vkey=123
495501
[udp]
496502
mode=udp
497-
target=127.0.0.1:8080
498-
port=9002
503+
target_addr=127.0.0.1:8080
504+
server_port=9002
499505
```
500506
项 | 含义
501507
---|---
502508
mode | udp
503-
port | 在服务端的代理端口
504-
target|内网目标
509+
server_port | 在服务端的代理端口
510+
target_addr|内网目标
505511
##### http代理模式
506512

507513
```ini
508514
[common]
509-
server=1.1.1.1:8284
515+
server_addr=1.1.1.1:8284
510516
vkey=123
511517
[http]
512518
mode=httpProxy
513-
port=9003
519+
server_port=9003
514520
```
515521
项 | 含义
516522
---|---
517523
mode | httpProxy
518-
port | 在服务端的代理端口
524+
server_port | 在服务端的代理端口
519525
##### socks5代理模式
520526

521527
```ini
522528
[common]
523-
server=1.1.1.1:8284
529+
server_addr=1.1.1.1:8284
524530
vkey=123
525531
[socks5]
526532
mode=socks5
527-
port=9004
533+
server_port=9004
528534
```
529535
项 | 含义
530536
---|---
531537
mode | socks5
532-
port | 在服务端的代理端口
538+
server_port | 在服务端的代理端口
533539
##### 私密代理模式
534540

535541
```ini
536542
[common]
537-
server=1.1.1.1:8284
543+
server_addr=1.1.1.1:8284
538544
vkey=123
539545
[secret_ssh]
540546
mode=secret
541547
password=ssh2
542-
target=10.1.50.2:22
548+
target_addr=10.1.50.2:22
543549
```
544550
项 | 含义
545551
---|---
546552
mode | secret
547553
password | 唯一密钥
548-
target|内网目标
554+
target_addr|内网目标
549555

550556
##### p2p代理模式
551557

552558
```ini
553559
[common]
554-
server=1.1.1.1:8284
560+
server_addr=1.1.1.1:8284
555561
vkey=123
556562
[p2p_ssh]
557563
mode=p2p
558564
password=ssh2
559-
target=10.1.50.2:22
565+
target_addr=10.1.50.2:22
560566
```
561567
项 | 含义
562568
---|---
563569
mode | p2p
564570
password | 唯一密钥
565-
target|内网目标
571+
target_addr|内网目标
566572

567573

568574
##### 文件访问模式
569575
利用nps提供一个公网可访问的本地文件服务,此模式仅客户端使用配置文件模式方可启动
570576

571577
```ini
572578
[common]
573-
server=1.1.1.1:8284
579+
server_addr=1.1.1.1:8284
574580
vkey=123
575581
[file]
576582
mode=file
577-
port=9100
583+
server_port=9100
578584
local_path=/tmp/
579585
strip_pre=/web/
580586
````
581587

582588
项 | 含义
583589
---|---
584590
mode | file
585-
port | 服务端开启的端口
591+
server_port | 服务端开启的端口
586592
local_path|本地文件目录
587593
strip_pre|前缀
588594

@@ -698,20 +704,20 @@ allow_ports=9001-9009,10001,11000-12000
698704
```ini
699705
[tcp]
700706
mode=tcp
701-
port=9001-9009,10001,11000-12000
702-
target=8001-8009,10002,13000-14000
707+
server_port=9001-9009,10001,11000-12000
708+
target_port=8001-8009,10002,13000-14000
703709
```
704710

705711
逗号分隔,可单个或者范围,注意上下端口的对应关系,无法一一对应将不能成功
706712
### 端口范围映射到其他机器
707713
```ini
708714
[tcp]
709715
mode=tcp
710-
port=9001-9009,10001,11000-12000
711-
target=8001-8009,10002,13000-14000
712-
targetAddr=10.1.50.2
716+
server_port=9001-9009,10001,11000-12000
717+
target_port=8001-8009,10002,13000-14000
718+
target_ip=10.1.50.2
713719
```
714-
填写targetAddr后则表示映射的该地址机器的端口,忽略则便是映射本地127.0.0.1,仅范围映射时有效
720+
填写target_ip后则表示映射的该地址机器的端口,忽略则便是映射本地127.0.0.1,仅范围映射时有效
715721
### 守护进程
716722
本代理支持守护进程,使用示例如下,服务端客户端所有模式通用,支持linux,darwin,windows。
717723
```
@@ -736,11 +742,11 @@ KCP 是一个快速可靠协议,能以比 TCP浪费10%-20%的带宽的代价
736742
```ini
737743
[web1]
738744
host=a.proxy.com
739-
target=127.0.0.1:7001
745+
target_addr=127.0.0.1:7001
740746
location=/test
741747
[web2]
742748
host=a.proxy.com
743-
target=127.0.0.1:7002
749+
target_addr=127.0.0.1:7002
744750
location=/static
745751
```
746752
对于`a.proxy.com/test`将转发到`web1`,对于`a.proxy.com/static`将转发到`web2`
@@ -792,13 +798,13 @@ export NPC_SERVER_VKEY=xxxxx
792798
**在配置文件启动模式下:**
793799
```ini
794800
[common]
795-
server={{.NPC_SERVER_ADDR}}
796-
tp=tcp
801+
server_addr={{.NPC_SERVER_ADDR}}
802+
conn_type=tcp
797803
vkey={{.NPC_SERVER_VKEY}}
798804
auto_reconnection=true
799805
[web]
800806
host={{.NPC_WEB_HOST}}
801-
target={{.NPC_WEB_TARGET}}
807+
target_addr={{.NPC_WEB_TARGET}}
802808
```
803809
在配置文件中填入相应的环境变量名称,npc将自动进行渲染配置文件替换环境变量
804810

conf/npc.conf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[common]
22
server_addr=127.0.0.1:8024
33
conn_type=tcp
4-
vkey=nps
4+
vkey=123
55
auto_reconnection=true
66

77
[health_check_test1]
@@ -20,11 +20,11 @@ health_check_type=tcp
2020
health_check_target=127.0.0.1:8083,127.0.0.1:8082
2121
[web]
2222
host=b.o.com
23-
target_addr=127.0.0.1:8080
23+
target_addr=127.0.0.1:8080,127.0.0.1:8082
2424

2525
[tcp]
2626
mode=tcp
27-
target=127.0.0.1:8080
27+
target_addr=127.0.0.1:8080
2828
server_port=10000
2929

3030
[socks5]

lib/config/config.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ func dealHost(s string) *file.Host {
161161
h.Target = strings.Replace(item[1], ",", "\n", -1)
162162
case "host_change":
163163
h.HostChange = item[1]
164-
case "schemego":
164+
case "scheme":
165165
h.Scheme = item[1]
166166
case "location":
167167
h.Location = item[1]

0 commit comments

Comments
 (0)