#proxy-server #local-server #socks5-proxy #proxy #firewall #sock #socks5

shadowsocks-service

shadowsocks is a fast tunnel proxy that helps you bypass firewalls

51 stable releases

1.20.2 Jul 10, 2024
1.19.0 May 25, 2024
1.18.2 Mar 13, 2024
1.17.1 Nov 26, 2023
1.10.2 Mar 28, 2021

#4 in #local-server

Download history 4056/week @ 2024-03-30 5003/week @ 2024-04-06 4879/week @ 2024-04-13 3860/week @ 2024-04-20 4144/week @ 2024-04-27 3605/week @ 2024-05-04 6223/week @ 2024-05-11 4343/week @ 2024-05-18 4621/week @ 2024-05-25 4434/week @ 2024-06-01 4381/week @ 2024-06-08 4616/week @ 2024-06-15 4039/week @ 2024-06-22 3153/week @ 2024-06-29 2217/week @ 2024-07-06 2347/week @ 2024-07-13

12,020 downloads per month
Used in shadowsocks-rust

MIT license

2.5MB
70K SLoC

shadowsocks-service

License crates.io docs.rs

This is a port of shadowsocks.

shadowsocks is a fast tunnel proxy that helps you bypass firewalls.

Features

  • Local Server

    • SOCKS 5
    • SOCKS 4/4a (local-socks4)
    • HTTP (local-http)
    • Tunnel (local-tunnel)
    • Redir, aka Transparent Proxy (local-redir)
    • DNS (local-dns)
    • Tun (local-tun)
    • FakeDNS (local-fake-dns)
    • SIP008 Online Config (local-online-config)
  • Server

  • Manager


lib.rs:

Shadowsocks Service

https://shadowsocks.org/

shadowsocks is a fast tunnel proxy that helps you bypass firewalls.

Usage

Build shadowsocks and you will get at least 2 binaries: sslocal and ssserver

Write your servers in a configuration file. Format is defined in shadowsocks' documentation

For example:

{
   "server": "my_server_ip",
   "server_port": 8388,
   "local_address": "127.0.0.1",
   "local_port": 1080,
   "password": "mypassword",
   "timeout": 300,
   "method": "aes-256-cfb"
}

Save it in file shadowsocks.json and run local proxy server with

cargo run --bin sslocal -- -c shadowsocks.json

Now you can use SOCKS5 protocol to proxy your requests, for example:

curl --socks5-hostname 127.0.0.1:1080 https://www.google.com

On the server side, you can run the server with

cargo run --bin ssserver -- -c shadowsocks.json

Server should use the same configuration file as local, except the listen addresses for servers must be socket addresses.

Of course, you can also use cargo install to install binaries.

Dependencies

~20–62MB
~1M SLoC