Skip to main content

No project description provided

Project description

内网穿透工具

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

原理

原理

特性

  1. 随时随地打开浏览器管理端口映射
  2. 公网服务器和内网客户端之间只建立一个 WebSocket 连接
  3. 依赖少. 工具用到的 Python 第三方库有: tornado, typing_extensions

常用场景

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

安装

安装

pip install proxynt

使用

客户端

nt_client -c config_c.json

服务端

nt_server -c config_s.json

服务端ui

管理页面路径为websocket路径+admin,
比如 
http://192.168.9.224:18888/websocketpath1/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": "ssh1",
      "remote_port": 12222,
      "local_port": 22,
      "local_ip": "127.0.0.1"
    }
  ]
}

然后启动: 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"  // 管理页密码
    }
}

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-0.0.6.tar.gz (355.8 kB view details)

Uploaded Source

Built Distribution

proxynt-0.0.6-py3-none-any.whl (387.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: proxynt-0.0.6.tar.gz
  • Upload date:
  • Size: 355.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.10

File hashes

Hashes for proxynt-0.0.6.tar.gz
Algorithm Hash digest
SHA256 e3d39697d39b166ac74ba9a499bc7b352736f46fe4ff895e9d75cdffa58b8538
MD5 c05194705b5d12bace641b6bda1d299c
BLAKE2b-256 08ccb6122f2b4346634cf2acd8a398924bf130f98fc6f262eb0817e1fa6d8c90

See more details on using hashes here.

File details

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

File metadata

  • Download URL: proxynt-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 387.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.10

File hashes

Hashes for proxynt-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 7c1d5b5409d62e753c2cb440d26572d6b5781d2904ebe64ee0619ec0f4cb2616
MD5 4c39433ca3de9a2c5830d8590c8da992
BLAKE2b-256 5ca69d9d83dbcb5f1845b7e7fd5b8ba08483a16c707e5308c8e9d645367e09ef

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