Metadata-Version: 2.1
Name: forwarderd
Version: 9
Summary: SSH Forward Daemon
Author-email: Elchin Sarkarov <elchin751@gmail.com>
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX
Classifier: Operating System :: Microsoft :: Windows
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Provides-Extra: daemon
License-File: LICENSE

SSH port forwarder daemon

### Daemon
Install `forwarderd[daemon]` and run `forwarderd.__main__` any suitable way

Example for Linux, will create systemd service "forwarderd":
```bash
mkdir forwarderd
cd forwarderd
python3 -m venv .  # python version should be 3.7 or higher
source bin/activate
python3 -m pip install pip --upgrade
python3 -m pip install pip forwarderd[daemon]
python3 -m forwarderd --systemd-install
systemctl start forwarderd
```

### Usage
Install `forwarderd`, then request tunnel spawn such way
```python
from forwarderd import spawn_tunnel, SpawnTunnelRequest

spawn_resp = await spawn_tunnel(
    SpawnTunnelRequest(
        ssh_addr='hostname:port',  # port is optional, 22 by default
        ssh_user='user',
        ssh_identity_file='/root/.ssh/forward_key',  # must be accessible for daemon
        remote_addr='localhost:80',
    )
)
spawn_resp.host  # local bind host
spawn_resp.port  # local bind port
```
