feat: v0.3.0 stabilization -- systemd, tests, API docs
All checks were successful
ci / secrets (push) Successful in 9s
ci / test (push) Successful in 20s
ci / build (push) Successful in 15s

- 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
This commit is contained in:
user
2026-02-21 18:35:51 +01:00
parent 53fdc4527f
commit a741c0a017
11 changed files with 820 additions and 38 deletions

View File

@@ -42,6 +42,37 @@ 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