███████╗██╗ ██╗ █████╗ ██████╗ ██████╗ ██╗ ██╗███████╗ ██████╗ ██████╗██╗ ██╗███████╗ ███████╗██╗ ███████╗ ██████╗████████╗██████╗ ██████╗ ███╗ ██╗
██╔════╝██║ ██║██╔══██╗██╔══██╗██╔═══██╗██║ ██║██╔════╝██╔═══██╗██╔════╝██║ ██╔╝██╔════╝ ██╔════╝██║ ██╔════╝██╔════╝╚══██╔══╝██╔══██╗██╔═══██╗████╗ ██║
███████╗███████║███████║██║ ██║██║ ██║██║ █╗ ██║███████╗██║ ██║██║ █████╔╝ ███████╗█████╗█████╗ ██║ █████╗ ██║ ██║ ████****██╔╝██║ ██║██╔██╗ ██║
╚════██║██╔══██║██╔══██║██║ ██║██║ ██║██║███╗██║╚════██║██║ ██║██║ ██╔═██╗ ╚════██║╚════╝██╔══╝ ██║ ██╔══╝ ██║ ██║ ██╔══██╗██║ ██║██║╚****██╗██║
███████║██║ ██║██║ ██║██████╔╝╚██████╔╝╚███╔███╔╝███████║╚██████╔╝╚██████╗██║ ██╗███████║ ███████╗███████╗███████╗╚██████╗ ██║ ██║ ██║╚██████╔╝██║ ╚████║
╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝ ╚═════╝ ╚═════╝╚═╝ ╚═╝╚══════╝ ╚══════╝╚══════╝╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝Shadowsocks GUI client with cross-platform desktop support powered by Electron⚛️, made specially for Linux / Windows users.
sudo xattr -r -d com.apple.quarantine /Applications/Shadowsocks\ Electron.app.
- Ubuntu20.4/21.04/22.04 (amd64)
- Ubuntu22.10 (arm64)
- MacOS Catalina (x64)
- MacOS Monterey (arm64/x64)
- Windows10/11 (x64)
- Linux Kali/Manjaro (x64)
- Windows7/8 (x64/arm64)
- MacOS Big Sur/Mojave (x64/arm64)
- SS / SSR Protocol
- PAC Mode
- Auto proxy mode for browser that use GFWList as default rules.
- Allow custom rules.
- Global Mode
- Global socks5 proxy for browser.
- Manual Mode
- Get some tools like SwitchOmega to enable browser proxy on this mode.
- HTTP(S) Proxy
- On Windows, commands for terminal proxy(port 1095 as default):
$env:HTTPS_PROXY="http://127.0.0.1:1095"(powershell)$env:HTTP_PROXY="http://127.0.0.1:1095"(powershell)set http_proxy=http://127.0.0.1:1095(cmd)set https_proxy=http://127.0.0.1:1095(cmd)
- On Linux/MacOS, commands for terminal proxy:
export http_proxy="127.0.0.1:1095"export https_proxy="127.0.0.1:1095"- Some tools like
proxychainsis deep recommended.
- On Windows, commands for terminal proxy(port 1095 as default):
- ACL (access control list)
- Nodes Load-Balancing Mode
- Clipboard / QR-code Import
- Subscription Import
- Language Detecting And Switching (zh-CN / en-US / ru-RU)
- Configuration Backup / Recovery
- Dark / Light Mode
- Auto Start
- Server Share
- Activity Logs
- Process Manager
- AEAD ciphers
- SIP003 plugins (v2ray-plugin,kcptun and more)
- Tunnel Mode
- QRCode-Import may not work on some devices.
- Linux without Gnome-desktop may not work, working for that.
- Snap package for Linux has some abnormal behavior.
More architectures will be supported if necessary, just give me an issue.
- Ubuntu
- deb
x64/x86/arm64 - AppImage
x64/x86/arm64 - snap
x64
- deb
- MacOS
- dmg
x64/arm64 - zip
x64/arm64
- dmg
- Windows
- exe
x64/x86 - zip
x64/x86
- exe
-
GitHub Releases
-
ElectronJs Website
-
Snapcraft Store (linux)
not necessary, just for some advanced users.
-
kcptun
- effect: Use the plugin for ss server speed up. You must install it on you system first and enable it on ss server configuration.
- ↪ kcptun repo releases
- install: Download a certain version plugin, unpack and rename it to
kcptun, then put the file into system dir (such as/usr/bin/) on unix like systems. OR you may put the file intoplugins diron Windows (check "Open Plugins Directory" button from settings page).
-
v2ray-plugin
- effect: Use the plugin for traffic obfuscation. You must install it on you system first and enable it on ss server configuration.
- ↪ v2ray-plugin repo releases
- install: Download a certain version plugin, unpack and rename it to
v2ray-plugin, then put the file into system dir (such as/usr/bin/) on unix like systems. OR you may put the file intoplugins diron Windows (check "Open Plugins Directory" button from settings page).
1. Download ACL file and saved it to local directory.
- inchina.acl: Proxy only sites blocked by the firewall.
- inforeign.acl: Proxy the sites in china which restricted access to overseas.
2. Enable ACL Mode and load the file on settings page of client.
- The official qt-version app -
shadowsocks-qt5has been deprecated, which has an old interface but still working. - Only
Shadowsocks-libevandShadowsocks for Androidsupport ACL (bypass China IPs, etc.)
This project was heavily inspired by shadowsocks/ShadowsocksX-NG, which uses local Shadowsocks-libev binary to avoid complex integration with native C code. This means it can always use the latest Shadowsocks-libev version.
It also uses Electron to bring the most powerful cross-platform desktop support with great developing experience.
- Node@^
14.18 - Ubuntu18.04 or higher version
- Mac catalina or other versions (works in most recent versions in theory)
- Windows 10 or higher version
The step is not necessary, there are some buildin
ssr/ssexecutable files provided in bin dir, Only do this when you want to use external bin for test/dev.
- Mac developers need to install
shadowsocks-libevat first, use command here:brew install shadowsocks-libev. For china users, if brew is not installed, run this in terminal:/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"to install brew. - Ubuntu developers can install
shadowsocks-libevwith apt manager.
# for ubuntu developers
$: sudo apt install shadowsocks-libev
$: sudo snap install multipass
# for mac developers
$: brew install shadowsocks-libev
# proxy env set (if your local machine support)
export HTTPS_PROXY=http://127.0.0.1:<port>
export HTTP_PROXY=http://127.0.0.1:<port># [01]clone
$: git clone https://github.com/nojsja/shadowsocks-electron.git
$: cd shadowsocks-electron
# for china developers
$: npm config set electron_mirror http://npm.taobao.org/mirrors/electron/
# [02]npm
$: npm i -g yarn
$: npm i
# [03]run scripts/download.js for env prepare
$: cd scripts
$: node download.js
# for ubuntu developers
$: cp pac/gfwlist.txt ~/.config/shadowsocks-electron/pac/
# for mac developers
$: cp pac/gfwlist.txt ~/Library/Application\ Support/shadowsocks-electron/pac/
# [04]start
$: npm startThe repo is cloned from
robertying/shadowsocks-electronwhich is no longer maintained. I create a new repo based on that in order to be found in github search list.






