- Bump version 0.1.0 -> 0.3.0 - Add systemd service unit (config/s5p.service) and install-service Makefile target - Add CLI argument parsing tests (tests/test_cli.py, 27 tests) - Expand protocol tests with SOCKS5/4/HTTP handshake, error, and auth coverage (tests/test_proto.py, 30 tests) - Add full API reference to docs/USAGE.md with response schemas for all GET/POST endpoints - Update INSTALL.md, CHEATSHEET.md with systemd section - Update ROADMAP.md, TASKS.md for v0.3.0
85 lines
1.6 KiB
Markdown
85 lines
1.6 KiB
Markdown
# s5p -- Installation
|
|
|
|
## Prerequisites
|
|
|
|
- Python >= 3.11
|
|
- pip
|
|
- Tor (optional, for Tor-based chains)
|
|
- podman + podman-compose (optional, for container deployment)
|
|
|
|
## Local Install
|
|
|
|
```bash
|
|
cd ~/git/s5p
|
|
python -m venv .venv
|
|
source .venv/bin/activate
|
|
pip install -e .
|
|
```
|
|
|
|
## Verify
|
|
|
|
```bash
|
|
s5p --version
|
|
which s5p
|
|
```
|
|
|
|
## Symlink (alternative)
|
|
|
|
```bash
|
|
ln -sf ~/git/s5p/.venv/bin/s5p ~/.local/bin/s5p
|
|
```
|
|
|
|
## Container Install
|
|
|
|
```bash
|
|
cd ~/git/s5p
|
|
cp config/example.yaml config/s5p.yaml # edit with your proxies
|
|
make build # podman-compose build
|
|
make up # podman-compose up -d
|
|
```
|
|
|
|
The Alpine-based image (~59MB) contains Python, PyYAML, and baked-in
|
|
source. Config is mounted at runtime. The compose.yaml volume mount
|
|
overrides source for local dev.
|
|
|
|
## Systemd Service
|
|
|
|
Install s5p as a systemd service for automatic startup and restart.
|
|
|
|
```bash
|
|
# Install the binary
|
|
cd ~/git/s5p
|
|
source .venv/bin/activate
|
|
pip install -e .
|
|
|
|
# Copy config
|
|
sudo mkdir -p /etc/s5p
|
|
sudo cp config/example.yaml /etc/s5p/s5p.yaml
|
|
sudo nano /etc/s5p/s5p.yaml # edit with your settings
|
|
|
|
# Install the unit (copies service file + daemon-reload)
|
|
make install-service
|
|
|
|
# Enable and start
|
|
sudo systemctl enable --now s5p
|
|
|
|
# Check status
|
|
sudo systemctl status s5p
|
|
journalctl -u s5p -f
|
|
```
|
|
|
|
The service unit expects:
|
|
- Binary at `/usr/local/bin/s5p`
|
|
- Config at `/etc/s5p/s5p.yaml`
|
|
- Restarts on failure with 5-second delay
|
|
|
|
## Install Tor (optional)
|
|
|
|
```bash
|
|
sudo apt install tor
|
|
sudo systemctl enable --now tor
|
|
|
|
# Verify Tor SOCKS5 port
|
|
ss -tlnp | grep 9050
|
|
```
|