Hysen Labs
Open-source project
shadowsocks/shadowsocks-windows avatar
shadowsocks

shadowsocks-windows

GitHub describes it as A C port of shadowsocks. The repository metadata lists C# as its primary language. The metadata lists the NOASSERTION license. This article stays within the project description and details documented in the GitHub repository README.

59,584 stars16,203 forksC#NOASSERTION
01
DEEP OPEN-SOURCE ANALYSIS

shadowsocks/shadowsocks-windows: Features

GitHub describes it as A C port of shadowsocks. The repository metadata lists C# as its primary language. The metadata lists the NOASSERTION license. This article stays within the project description and details documented in the GitHub repository README.

02
DEEP OPEN-SOURCE ANALYSIS

Repository scope

GitHub describes it as A C port of shadowsocks. The repository metadata lists C# as its primary language. The metadata lists the NOASSERTION license. The README describes the project this way: 1. System proxy configuration 2. PAC mode and global mode 3. [GeoSite] and user rules 4. Supports HTTP proxy 5. Supports server auto switching 6. Supports UDP relay (see Usage) 7. Supports plugins

03
DEEP OPEN-SOURCE ANALYSIS

Basics

The README section "Basics" states: 1. Find Shadowsocks icon in the notification tray 2. You can add multiple servers in servers menu 3. Select Enable System Proxy menu to enable system proxy. Please disable other proxy addons in your browser, or set them to use system proxy 4. You can also configure your browser proxy manually if you don't want to enable system proxy. Set Socks5 or HTTP proxy to 127.0.0.1:1080. You can change this port in Servers - Edit Servers

04
DEEP OPEN-SOURCE ANALYSIS

PAC

The README section "PAC" states: - The PAC rules are generated from the geosite database in v2fly/domain-list-community. - Generation modes: whitelist mode and blacklist mode. - Domain groups: geositeDirectGroups and geositeProxiedGroups . - geositeDirectGroups is initialized with cn and geolocation-!cn@cn . - geositeProxiedGroups is initialized with geolocation-!cn . - To switch between different modes, modify the geositePreferDirect property in gui-config.json - When geositePreferDirect is false (default), PAC works in whitelist mode. Exception rules are generated from geositeDirectGroups . Unmatched domains goes through the proxy. - When geositePreferDirect is true, PAC works in blacklist mode. Blocking rules are generated from geositeProxiedGroups . Exception rules are generated from geositeDirectGroups . Unmatched domains are connected to directly. - Starting from 4.3.0.0, shadowsocks-windows defaults to whitelist mode with Chinese domains excluded from connecting via the proxy. - The new default values make sure that: - When in whitelist mode, Chinese domains, including non-Chinese companies' Chinese CDNs, are connected to directly. - When in blacklist mode, only non-Chinese domains goes through the proxy. Chinese domains, as well as non-Chinese companies' Chinese CDNs, are connected to directly.

05
DEEP OPEN-SOURCE ANALYSIS

User-defined rules

The README section "User-defined rules" states: - To define your own PAC rules, it's recommended to use the user-rule.txt file. - You can also modify pac.txt directly. But your modifications won't persist after updating geosite from the upstream.

06
DEEP OPEN-SOURCE ANALYSIS

Editorial conclusion

The repository README is the source for this review. It does not replace a local installation or an independent test.

07
DEEP OPEN-SOURCE ANALYSIS

Official sources

08
Community notes

Community notes