#shadowsocks #gui #linux

bin+lib shadowsocks-gtk-rs

A desktop GUI frontend for shadowsocks-rust client implemented with gtk-rs

5 unstable releases

Uses new Rust 2021

new 0.3.1 Jun 23, 2022
0.3.0 Jun 22, 2022
0.2.0 Nov 12, 2021
0.1.2 Nov 12, 2021

#89 in GUI

Download history 7/week @ 2022-03-07 20/week @ 2022-03-14 14/week @ 2022-03-21 4/week @ 2022-03-28 8/week @ 2022-04-04 3/week @ 2022-04-11 2/week @ 2022-04-18 23/week @ 2022-04-25 35/week @ 2022-05-02 4/week @ 2022-05-09 56/week @ 2022-05-16 16/week @ 2022-05-23 33/week @ 2022-05-30 13/week @ 2022-06-06 3/week @ 2022-06-13 47/week @ 2022-06-20

100 downloads per month

GPL-3.0-or-later

310KB
2K SLoC

shadowsocks-gtk-rs

Auto compile test

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 probably want to read the configuration guide first.

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

Build

Dependencies

  • A working installation of rust, see here.
  • A shadowsocks binary as the backend. The default is shadowsocks-rust.
    • Strictly speaking, this is only required at runtime.
  • GTK3 and libappindicator, 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

Useful Reading

Dependencies

~19–53MB
~1M SLoC