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

shadowsocks-android

A shadowsocks client for Android

36,764 stars11,461 forksKotlinNOASSERTION
01
DEEP OPEN-SOURCE ANALYSIS

Building the shadowsocks Android client from source

The app is easy to describe, a shadowsocks client for Android. The README is mostly aimed at people compiling it themselves, and the prerequisite list is not short.

02
DEEP OPEN-SOURCE ANALYSIS

What lives in the repo

The repository holds the Android client for shadowsocks, written in Kotlin, with around 36,800 stars. Beyond a short description of the app itself, the README reads as developer documentation: what to install, how to fetch the code, how to build it, and where to look before contributing.

03
DEEP OPEN-SOURCE ANALYSIS

Prerequisites

Four things need to be present before a build can start: JDK 11 or later, the Android SDK, the Android NDK, and Rust with the Android targets installed. That combination of a JVM toolchain, the Android toolchain, and a Rust toolchain tells you the native parts of the app are substantial.

04
DEEP OPEN-SOURCE ANALYSIS

The build path

Clone the repository with submodules, then build either through Android Studio or with a gradle script. If you want to know whether the latest commit even builds under a UNIX environment, the README points you at the Travis status rather than promising anything on its own behalf.

05
DEEP OPEN-SOURCE ANALYSIS

The dependency licenses

A section of the README credits the open source components the app carries: redsocks, libevent, tun2socks, shadowsocks-rust, libsodium, and OpenSSL. It is a longer list than most apps bother to surface, and it sketches the shape of the networking stack sitting underneath the UI.

06
DEEP OPEN-SOURCE ANALYSIS

The license it ships under

The app itself is distributed under the GNU General Public License, with the standard text about free software provided without warranty. So the client is copyleft while several of its dependencies are permissive, a mix that is common enough but worth knowing if you plan to redistribute anything.

08
DEEP OPEN-SOURCE ANALYSIS

Official sources

09
Community notes

Community notes