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

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
```