Gnome Extension Shadowsocks
My first GJS project. This project is only for learning developing Gnome extensions.
- switch ss server and change proxy mode (direct, PAC, manual) from Gnome tray
- support getting server profiles from Surge subscription link
- also supports Vmess (V2ray) via v2socksAUR and v2rayN format subscription link
for Arch users: gnome-shell-extension-shadowsocks-gitAUR is avalible in AUR.
For non-Arch users, follow the easy steps:
cd /tmp git clone https://github.com/ylxdzsw/gnome-shell-extension-shadowsocks mv email@example.com ~/.local/share/gnome-shell/extensions
Alt+F2 and enter
r to reload, and enable it in Tweak Tool.
This extension makes use of the following commands, make sure they are accessible in path.
ss-local: shadowsocks or shadowsocks-libev executable
v2socks: to support Vmess protocol
xdg-open: to open the configure directory for you
curl: to sync subscription
This extension uses a JSON file for configuration, since it is much easier to copy and share than gsettings. This
configs/config.json under the its installation directory.
config.example.json in the same folder can
be copied as a start point, which contains the descriptions of each settings and itself is valid in format (but the
server is not accessible, of course).
Forked from gnome-shell-extension-services-systemd, which is under GPLv3.
- SSR subscription
- host local pac file
- show pings?
- show status on icon?
- allow multiple PAC/manuals, set them by ourself
- listen to config file?
- show tooltip on items in menu that display basic information of a server?
- add button for restarting?