Awesome
shadowsocks-gtk-rs
A desktop GUI frontend for shadowsocks-rust client implemented with gtk-rs.
This application is currently Linux only. Compatibility with other OSes isn't planned, because there already exists plenty of alternative solutions for Windows and MacOS.
This package contains two binaries:
Binary | Functionality |
---|---|
ssgtk | The main executable; launches the GUI application. |
ssgtkctl | The runtime API controller; see Q&A. |
Table of Contents
Work in Progress
Be advised that this application may be incomplete and/or buggy. But do rest assured that it won't destroy your OS or something.
Your input is very welcomed! If you have any suggestions or have found any issue (no matter how small or unimportant) with the code or the documentation, please feel free to raise an issue. Or better yet, submit a PR if you can!
Install
Read the Documentation!
If you are using this application for the first time, you should first read the configuration guide.
Arch Linux and Derivatives
You can install the AUR package that I maintain.
# install with paru
paru shadowsocks-gtk-rs
Any Linux
You can always install directly from crates.io.
cargo install shadowsocks-gtk-rs
Limitations of Using cargo-install
- you will need to manually install dependencies first.
- support files (e.g. desktop entry, icon) cannot be automatically installed.
Build
Dependencies
- A working installation of
rust
, see here. - The
sslocal
binary fromshadowsocks-rust
as the backend.- Strictly speaking, this is only required at runtime.
GTK3
andlibappindicator
, using your distro's package manager.
The latest versions are highly recommended.
Distro | GTK3 | libappindicator |
---|---|---|
Arch pacman | gtk3 | libappindicator-gtk3 |
Debian apt | libgtk-3-dev | libappindicator3-dev |
Fedora dnf | gtk3-devel | libappindicator-gtk3 |
If you are using any recent version of Gnome as your desktop environment, you also need gnome-shell-extension-appindicator for the tray icon to show up.
Clone Source and Run
git clone https://github.com/spyophobia/shadowsocks-gtk-rs.git
cd shadowsocks-gtk-rs
# this script runs locally in the project directory
./run-local.sh