No project description provided
Project description
ProxyNT is a reverse proxy server that can expose a local server to the internet through NATs and firewalls
Features
- Open port mapping via browser anytime and anywhere
- Encrypted transmission between public network server and local network client via WebSocket
- Few dependencies, one-click installation via pip
- Stable, automatically reconnect, and already in production environment
- Support for rate limiting
Common Scenarios
- Hosting website server at home
- 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 portpassword: Connection passwordpath: WebSocket pathadmin: Management page configuration (optional)admin.enable: Whether to enable management pageadmin.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:
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
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file proxynt-2.0.46.tar.gz.
File metadata
- Download URL: proxynt-2.0.46.tar.gz
- Upload date:
- Size: 395.2 kB
- Tags: Source
- Uploaded using 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
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e28bc79d0d6cced1c5ac3d87219952e333b9bc753b82690d0c24fb806982094e
|
|
| MD5 |
23f4d0e857da8a4ceccf252eabe91b84
|
|
| BLAKE2b-256 |
c87bcd1546c5f43387595a877cce2cb527a7e6a40a6a5d4c561345a95e598a99
|
File details
Details for the file proxynt-2.0.46-py3-none-any.whl.
File metadata
- Download URL: proxynt-2.0.46-py3-none-any.whl
- Upload date:
- Size: 434.0 kB
- Tags: Python 3
- Uploaded using 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
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1c9348e1da2a12958e3e10a0bce52e5e9ab9267813a84e8096034a0aeb90956
|
|
| MD5 |
7e3328a5be271d15bc4b1d9e4612260f
|
|
| BLAKE2b-256 |
08ee56c346d4cb157fb265a591d2495d1bee6a3a3f0830dc3bb88338550ac6d8
|