Black Lives Matter. Support the Equal Justice Initiative and read our statement here.
shadowsocks-electron

shadowsocks-electron

Shadowsocks GUI application made for Ubuntu/Mac users.

GitHub repo size Lines of code GitHub

GitHub issues GitHub contributors

Shadowsocks Electron

Test on Ubuntu20.4/21.04/22.04 (amd64) ● MacOS catalina (x64) ● Windows 10/11 (x64)

Shadowsocks GUI client with cross-platform desktop support powered by Electron⚛️, made specially for Linux / Windows users.

Features

➣ Supported

  • SS / SSR Protocol
  • PAC Mode (GFWList)
  • Global Mode (socks proxy)
  • Manual Mode (no system-wide proxy set)
  • HTTP(S) Proxy
  • Clipboard / QR-code Import
  • Subscription Import
  • Language Detecting And Switching (zh-CN / en-US)
  • Configuration Backup / Recovery
  • Dark / Light Mode
  • Auto Start
  • Server Share
  • Activity Logs

➣ In Testing

  • AEAD ciphers
  • SIP003 plugins (v2ray & kcptun)

➣ Comming Soon

  • ACL
  • v2ray-plugin

Supported Platforms & Arch

system

More architecture will be supported if necessary, just give me an issue.

  • Ubuntu
    • deb x64/x86/arm64
    • AppImage x64/x86/arm64
    • snap x64
  • MacOS
    • dmg x64
  • Windows
    • exe x64
    • zip x64/x86

Screenshots

Main Page

main.png

Dark Mode

dark.png

Fixed Menu

fixed_menu.png

Server Add

add.png

Context Menu

context_menu.png

Server Edit

edit.png

Server Share

share.png

Downloads

Plugins Downloads

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 the correct version, unpack and rename it to kcptun, then put the file into system dir (such as /usr/local/bin/) on unix like systems. OR you may need to configure system variables on windows.
  • 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 the correct version, unpack and rename it to v2ray-plugin, then put the file into system dir (such as /usr/local/bin/) on unix like systems. OR You may need to configure system variables on windows.

Why?

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.

Development

1. Env

  • 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

2. Prepare

The step is not necessary, there are some buildin ssr/ss executable files provided in bin dir, Only do this when you want to use external bin for test/dev.

  • Mac developers need to install shadowsocks-libev at 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-libev with 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>

3. Run commands in terminal

# [01]clone
$: git clone https://github.com/nojsja/shadowsocks-electron.git
$: cd shadowsocks-electron

# for china developers
$: npm config set electron_custom_dir "13.4.0"
$: 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 start

Mention

The repo is cloned from robertying/shadowsocks-electron which is no longer maintained. I create a new repo based on that in order to be found in github search list.

Credit

not_used
Main Main

Something missing? Edit this app.

Keyboard Shortcuts

Key Action
/ Focus the search bar
Esc Focus the search bar and cleans it
Select the next search result
Select the previous search result
Enter Open the selected search result
cmdEnter Ctrl+Enter Open the selected search result in a new tab