Files
s5p/docs/INSTALL.md
user a741c0a017
All checks were successful
ci / secrets (push) Successful in 9s
ci / test (push) Successful in 20s
ci / build (push) Successful in 15s
feat: v0.3.0 stabilization -- systemd, tests, API docs
- 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
2026-02-21 18:35:51 +01:00

1.6 KiB

s5p -- Installation

Prerequisites

  • Python >= 3.11
  • pip
  • Tor (optional, for Tor-based chains)
  • podman + podman-compose (optional, for container deployment)

Local Install

cd ~/git/s5p
python -m venv .venv
source .venv/bin/activate
pip install -e .

Verify

s5p --version
which s5p
ln -sf ~/git/s5p/.venv/bin/s5p ~/.local/bin/s5p

Container Install

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.

# 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)

sudo apt install tor
sudo systemctl enable --now tor

# Verify Tor SOCKS5 port
ss -tlnp | grep 9050