socksy

Installation

Install socksy from source, or from a .deb / .rpm package.

From source

git clone https://github.com/Nrentzilas/socksy.git
cd socksy
./install.sh

That copies socksy into ~/.local/bin and ensures it's on your PATH. Restart your shell (or source ~/.bashrc) if the command isn't found yet.

To install somewhere else, pass --prefix:

./install.sh --prefix /usr/local     # system-wide (needs write access)
./install.sh --no-path               # never touch ~/.bashrc or ~/.zshrc

Uninstalling mirrors it: ./uninstall.sh [--prefix DIR] [--purge].

Packages (.deb / .rpm)

Every release also ships a .deb and an .rpm. socksy is a shell script, so a single architecture-independent package covers every machine.

ver=0.5.0

curl -LO "https://github.com/Nrentzilas/socksy/releases/download/v$ver/socksy_${ver}_all.deb"
sudo apt install "./socksy_${ver}_all.deb"

A package puts socksy in /usr/bin instead of ~/.local/bin, and that is the only difference. Everything socksy creates at runtime stays per-user either way: the relay, your saved profiles, and the gost binary still live under ~/.config/socksy and ~/.local/bin. Remove it with sudo apt remove socksy or sudo dnf remove socksy, which leaves that per-user state alone, so run socksy off first if a proxy is still applied.

Each release carries a SHA256SUMS covering all three artifacts:

ver=0.5.0

curl -LO "https://github.com/Nrentzilas/socksy/releases/download/v$ver/SHA256SUMS"
sha256sum -c SHA256SUMS --ignore-missing

Shell completions

install.sh installs completions automatically, for both a source install and a package:

  • bash — completes commands, sub-actions (dns on|off|...), flags, and saved profile names. Installed to <prefix>/share/bash-completion/completions/socksy, which bash-completion picks up on its own.

  • zsh — installed to <prefix>/share/zsh/site-functions/_socksy (~/.local/share/zsh/site-functions by default). Make sure that directory is in your fpath before compinit runs:

    fpath+=(~/.local/share/zsh/site-functions)
    autoload -U compinit && compinit

Open a new shell after installing for completions to take effect.

The relay binary

socksy needs gost for the local relay. If a gost is already on your PATH, socksy uses it. Otherwise it downloads a checksum-verified copy to ~/.local/bin/gost on first use, no root required. Set SOCKSY_GOST=/path/to/gost or the gost_path config key to pin a specific binary.

Uninstall

./uninstall.sh            # removes socksy + service, keeps gost & profiles
./uninstall.sh --purge    # also removes gost and saved profiles

Next: the command reference for a full at-a-glance list, or jump straight into a guide like proxying a single app.

On this page