Metadata-Version: 2.1
Name: web3pi-tunnel
Version: 0.1a1
Summary: A Web3 Pi tunnel - a basic tcp reverse tunnel
Home-page: https://github.com/Web3-Pi/basic-tcp-tunnel
License: GNU GENERAL PUBLIC LICENSE Version 3
Keywords: web3pi,web3,tcp,tunnel,ethereum,proxy
Requires-Python: >=3.10,<4.0
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: colorama (>=0.4.6)
Requires-Dist: python-dotenv (>=1.0.1)
Requires-Dist: upnpclient (>=1.0.3)
Requires-Dist: whatismyip (>=2022.7.10)
Project-URL: Repository, https://github.com/Web3-Pi/basic-tcp-tunnel
Description-Content-Type: text/markdown

# Basic TCP Tunnel
PoC Python implementation of a basic TCP tunnel. Primary purpose: provide a public IP to clients behind NATs.

It was initially developed on **Windows 10 Pro** with **PyCharm 2022.3.1 (Community Edition)** and **Python 3.11** alongside the [Web3 Reverse Proxy](https://github.com/jimmyisthis/web3-reverse-proxy).


## Configure and Run
To configure and run this project, follow this [README.md](https://github.com/jimmyisthis/web3-reverse-proxy/blob/main/README.md).

### Client
- Add a valid server address to the `config/cliconf.py` file
- Make sure that the server is running
- Activate venv
- Run `basic_tcp_tunnel/client.py`

### Server
- Add a valid local address to the `config/srvconf.py` file (preferably a **public ip**)
- Activate venv
- Run `basic_tcp_tunnel/server.py`

## TODO
- Warnings
  - Response parser may fail (only rudimentary parsing was implemented)

