Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

中文

ProxyNT is a reverse proxy server that can expose a local server to the internet through NATs and firewalls

原理

Features

  1. Open port mapping via browser anytime and anywhere
  2. Encrypted transmission between public network server and local network client via WebSocket
  3. Few dependencies, one-click installation via pip
  4. Stable, automatically reconnect, and already in production environment
  5. Support for rate limiting

Common Scenarios

  1. Hosting website server at home
  2. Managing IoT devices

Installation

pip install -U proxynt

Example: Accessing an Internal Network Machine via SSH

Suppose the public server's IP is 192.168.9.224.

1. Create config_s.json file on the public network machine

config_s.json content:

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

Then start: nt_server -c config_s.json

Explanation:

  • port: Listening port
  • password: Connection password
  • path: WebSocket path
  • admin: Management page configuration (optional)
  • admin.enable: Whether to enable management page
  • admin.admin_password: Management password

2. Create config_c.json file on the local network computer that needs to be accessed

config_c.json content:

{
  "server": {
    "url": "ws://192.168.9.224:18888/websocket_path",
    "password": "helloworld"
  },
  "client_name": "home_pc"
}

Then start: nt_client -c config_c.json

Explanation:

  • server: Configuration of the server to be connected, including port, IP address, whether to use HTTPS, password, and WebSocket path.
  • client_name: Client name, needs to be unique.
  • client: Empty array.

3. Open the server webpage http://192.168.9.224:18888/websocket_path/admin and add a port:

VWCvq.md.png

Explanation: The management page path is WebSocket path + /admin .

4. Configuration succeeded, use SSH to connect:

ssh -oPort=12222 test@192.168.9.224

Complete Configuration Instructions (please delete the comments when using)

  • Client config_c.json
{
  "server": {  // Server configuration to connect to
    "port": 18888,  // Port
    "host": "192.168.9.224",  // IP address
    "https": false,  // Whether the server is using HTTPS
    "password": "helloworld",  // Password
    "path": "/websocket_path"  // WebSocket path
  },
  "client": [  // List of forwarding configurations
    {
      "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",  // Client name, must be unique
  "log_file": "/var/log/nt/nt.log"  // Path to log file
}
  • Server config_c.json
{
    "port": 18888,  // Listening port
    "password": "helloworld",  // Password
    "path": "/websocket_path",  // WebSocket path
    "log_file": "/var/log/nt/nt.log",  // Path to log file
    "admin": {  
        "enable": true,  // Whether to enable admin page
        "admin_password": "new_password"  // Password for admin page
    }
}

Stargazers over time

Stargazers over time

Update history

  • 1.1.9: Bandwidth limitation
  • 1.1.8: Display client version
  • 1.1.7: Fixed duplicate client_name
  • 1.1.6: Fixed client WebSocketException: socket is already opened.

Metadata

Release files for proxynt 2.0.61rc1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for proxynt 2.0.61rc1
File Size Uploaded
proxynt-2.0.61rc1.tar.gz 501.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for proxynt 2.0.61rc1
File Interpreter ABI Platform
proxynt-2.0.61rc1-py3-none-any.whl Python 3 none any Details

Total release size: 1.1 MB

Release files / proxynt-2.0.61rc1.tar.gz

Download URL proxynt-2.0.61rc1.tar.gz
Size 501.6 kB
Tags Source
SHA-256 checksum
How to use checksums
01b686f34afd1abf4133814b885c4b044349360844e2ac932caf5488e86a4612
BLAKE2b-256 checksum
How to use checksums
691305e58e0ffb6d775e661ab4bd9b29b02d16631500ca1cef5f86a0270cc4e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.10.0 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/1.0.0 urllib3/1.26.20 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.15

Release files / proxynt-2.0.61rc1-py3-none-any.whl

Download URL proxynt-2.0.61rc1-py3-none-any.whl
Size 574.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
457e010a1cecf4ecf81abc4114b0316304c1217bf41d104658829ee4899f7c95
BLAKE2b-256 checksum
How to use checksums
9610460bc3ff5056fe080ba5248d5893dd9c64558bc6f8d7bf7fa225d42f954c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.10.0 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/1.0.0 urllib3/1.26.20 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.15

Release history Release notifications | RSS feed

This release

2.0.61rc1 This release

2 release files

2.0.59

2 release files

2.0.58

2 release files

2.0.54

2 release files

2.0.52

2 release files

2.0.51

2 release files

2.0.46

2 release files

2.0.45

2 release files

2.0.44

2 release files

2.0.40

2 release files

2.0.38

2 release files

2.0.36

2 release files

2.0.32

2 release files

2.0.26

2 release files

2.0.24

2 release files

2.0.20

2 release files

2.0.19

2 release files

2.0.16

2 release files

2.0.13

2 release files

2.0.11

2 release files

2.0.9

2 release files

2.0.8

2 release files

2.0.7

2 release files

2.0.3

2 release files

1.1.54

2 release files

1.1.49

2 release files

1.1.48

2 release files

1.1.47

2 release files

1.1.46

2 release files

1.1.43

2 release files

1.1.33

2 release files

1.1.30

2 release files

1.1.28

2 release files

1.1.25

2 release files

1.1.24

2 release files

1.1.22

2 release files

1.1.14

2 release files

1.1.13

2 release files

1.1.9

2 release files

1.1.8

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.1

2 release files

1.0.0

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page