Skip to main content

No project description provided

Project description

内网穿透工具

github: https://github.com/sazima/proxynt

原理

原理

特性

  1. 随时随地打开浏览器管理端口映射
  2. 公网服务器和内网客户端之间使用 WebSocket 加密传输
  3. 依赖少, 使用 pip一键安装
  4. 稳定, 自动重连, 已在生产环境中使用

常用场景

  1. 在家托管网站服务器
  2. 管理物联网设备

安装

pip install proxynt

使用

客户端

# 查看帮助
nt_client --help
# 启动客户端
nt_client -c config_c.json

服务端

# 查看帮助
nt_server --help
# 启动服务端
nt_server -c config_s.json

服务端ui

管理页面路径为websocket路径+/admin,
比如 
http://192.168.9.224:18888/websocketpath/admin

ui

示例, 通过 SSH 访问内网机器

假设公网机器的ip是 192.168.9.224

1. 在公网机器上配置config_s.json

{
  "port": 18888,
  "password": "helloworld",
  "path": "/websocket_path",
  "admin": {
    "enable": true,  
    "admin_password": "new_password"  
  }
}

说明:

  • port: 监听端口
  • password: 连接密码
  • path: websocket路径
  • admin: 管理页配置(非必须)
  • admin.enable: 是否启用管理页
  • admin.admin_password: 管理密码

然后启动: nt_server -c config_s.json

2. 在需要被访问的内网电脑上配置config_c.json

配置config_c.json

{
  "server": {
    "port": 18888,
    "host": "192.168.9.224",
    "https": false,
    "password": "helloworld",
    "path": "/websocket_path"
  },
  "client_name": "我家里的小电脑",
  "client": [
    {
      "name": "ssh1",
      "remote_port": 12222,
      "local_port": 22,
      "local_ip": "127.0.0.1"
    }
  ]
}

说明:

  • server: 要连接的服务器端口, ip, 是否是https, 密码, websocket路径
  • client_name: 客户端名称
  • client: 这里是将本机的22端口映射到服务器的12222端口上

然后启动: nt_client -c config_c.json

3. ssh 连接:

ssh -oPort=12222 [email protected]

打开管理页面:

http://192.168.9.224:18888/websocketpath/admin

完整配置说明

  • 客户端 config_c.json
{
  "server": {  // 要连接的服务端配置
    "port": 18888,  // 端口
    "host": "192.168.9.224",  // 端ip
    "https": false,  //服务端是否启动https
    "password": "helloworld",  // 密码
    "path": "/websocket_path"  // websocket 路径
  },
  "client": [  // 转发的配置列表
    {
      "name": "ssh",
      "remote_port": 1222,
      "local_port": 22,
      "local_ip": "127.0.0.1"
    },
    {
      "name": "mongo",
      "remote_port": 1223,
      "local_port": 27017,
      "local_ip": "127.0.0.1"
    }
  ],
  "client_name": "ubuntu1",  // 客户端名称, 要唯一
  "log_file": "/var/log/nt/nt.log"  // 日志路径
}
  • 服务端 config_c.json
{
    "port": 18888,  // 监听端口
    "password": "helloworld",  // 密码
    "path": "/websocket_path",  // websocket路径
    "log_file": "/var/log/nt/nt.log",  // 日志路径
    "admin": {  
        "enable": true,  // 是否启用管理页
        "admin_password": "new_password"  // 管理页密码
    }
}

更新记录

  • 1.1.5: 修复客户端 WebSocketException: socket is already opened

4

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

proxynt-1.1.5.tar.gz (339.0 kB view details)

Uploaded Source

Built Distribution

proxynt-1.1.5-py3-none-any.whl (367.4 kB view details)

Uploaded Python 3

File details

Details for the file proxynt-1.1.5.tar.gz.

File metadata

  • Download URL: proxynt-1.1.5.tar.gz
  • Upload date:
  • Size: 339.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.26.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.6.12

File hashes

Hashes for proxynt-1.1.5.tar.gz
Algorithm Hash digest
SHA256 4aae55ad5d20aa1df243cc84b71f1e6c7fe780a92c6ba18cf8711f3be9d2cb03
MD5 6e4de983e44ef2431395a2034600b10e
BLAKE2b-256 5ee2c47ed39ae9918427cdfcd15c533f5eefb6d2dbfb67018df4fc26b5f0ad43

See more details on using hashes here.

File details

Details for the file proxynt-1.1.5-py3-none-any.whl.

File metadata

  • Download URL: proxynt-1.1.5-py3-none-any.whl
  • Upload date:
  • Size: 367.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.26.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.6.12

File hashes

Hashes for proxynt-1.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 b6d251850468ee59cda023909681bc2f6c6853cebcf9b5517da64ac08b4a57bc
MD5 afd8c8b821c2e545f61a561b517a514f
BLAKE2b-256 4a6d04e10ba3211cf94a69c341d92587dc80b00db3d93c25f62105593adddeb5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page