Linux
Supported: kernel 4.4+, glibc-based distros. Tested on Ubuntu 22.04+, Debian 12, Fedora 39+, Alpine 3.19+. Architectures: amd64, arm64.
Install
Section titled “Install”-
Open a shell.
-
Run the installer:
Terminal window curl -sSL https://proxy.sotatek.works/releases/download/latest/install.sh | bashThe script downloads the matching binary, verifies the SHA256 checksum, places it under
/usr/local/bin/sotatek-proxy(or~/.local/bin/sotatek-proxyif/usr/local/binis not writable), seeds a default config under~/.config/sotatek-proxy/, and registers a systemd--userunit that auto-starts on session. -
Verify the daemon is up:
Terminal window sotatek-proxy statuscurl http://127.0.0.1:3817/_proxy/healthz
-
Clone the repository:
Terminal window git clone https://github.com/sotatek-dev/sotatek-proxy.gitcd sotatek-proxy -
Build and install:
Terminal window bash scripts/install-from-source.shThe script detects your architecture (amd64 or arm64), runs
make build-linux-amd64/make build-linux-arm64, copies the binary to/usr/local/bin/sotatek-proxy(or~/.local/bin/sotatek-proxyif/usr/local/binis not writable), seeds a default config under~/.config/sotatek-proxy/, and registers a systemd--userunit.Optional flags:
Flag Description --no-serviceBinary only — skip systemd unit registration --prefix DIROverride install directory -
Verify the daemon is up:
Terminal window sotatek-proxy statuscurl http://127.0.0.1:3817/_proxy/healthz
Where things live
Section titled “Where things live”| What | Path |
|---|---|
| Binary | /usr/local/bin/sotatek-proxy (or ~/.local/bin/sotatek-proxy) |
| Config | ~/.config/sotatek-proxy/config.yaml ($XDG_CONFIG_HOME respected) |
| Logs | ~/.local/state/sotatek-proxy/sotatek-proxy.log |
| Unit | ~/.config/systemd/user/sotatek-proxy.service |
Service commands
Section titled “Service commands”sotatek-proxy status # running / stoppedsotatek-proxy start # start nowsotatek-proxy stop # stop nowsotatek-proxy logs # tail last 100 linessotatek-proxy uninstall # remove systemd unitYou can also use systemd directly:
systemctl --user status sotatek-proxyjournalctl --user -u sotatek-proxy -fTroubleshooting
Section titled “Troubleshooting”ss -tlnp 'sport = 3817'sotatek-proxy stop && sotatek-proxy startOr set port: 3818 in config.yaml and restart.
sotatek-proxy logssystemctl --user status sotatek-proxyjournalctl --user -u sotatek-proxy --since "10 min ago"sotatek-proxy daemon # foreground for debuggingEnable linger:
loginctl enable-linger $USERloginctl show-user $USER | grep LingerUninstall
Section titled “Uninstall”sotatek-proxy uninstallrm /usr/local/bin/sotatek-proxy # or ~/.local/bin/sotatek-proxyrm -rf ~/.config/sotatek-proxyrm -rf ~/.local/state/sotatek-proxy