Convert Figma logo to code with AI

shadowsocks logoshadowsocks-android

A shadowsocks client for Android

34,998
11,574
34,998
42

Top Related Projects

A C# port of shadowsocks

A platform for building proxies to bypass network restrictions.

18,819

An unidentifiable mechanism that helps you bypass GFW.

14,481

Lantern官方版本下载 蓝灯 翻墙 代理 科学上网 外网 加速器 梯子 路由 - Быстрый, надежный и безопасный доступ к открытому интернету - lantern proxy vpn censorship-circumvention censorship gfw accelerator پراکسی لنترن، ضدسانسور، امن، قابل اعتماد و پرسرعت

66,794

A GUI client for Windows, support Xray core and v2fly core and others

Quick Overview

Shadowsocks-android is an open-source Android client for the Shadowsocks proxy. It provides a secure and efficient way to bypass internet censorship and access restricted content on Android devices. The project is actively maintained and offers a user-friendly interface for configuring and managing Shadowsocks connections.

Pros

  • Easy to use interface for managing Shadowsocks connections
  • Supports various encryption methods and protocols
  • Regular updates and active community support
  • Integrates well with Android's VPN API for system-wide proxy

Cons

  • May require technical knowledge to set up and configure servers
  • Performance can vary depending on server location and network conditions
  • Some advanced features may be complex for novice users
  • Potential legal concerns in certain jurisdictions

Getting Started

To use Shadowsocks-android:

  1. Download the latest APK from the releases page or install from Google Play Store.
  2. Install the APK on your Android device.
  3. Open the app and tap the '+' button to add a new server configuration.
  4. Enter your server details (address, port, password, and encryption method).
  5. Tap the server to connect.

For developers who want to contribute or build from source:

git clone https://github.com/shadowsocks/shadowsocks-android.git
cd shadowsocks-android
./gradlew assembleDebug

This will build a debug APK that you can install on your device.

Competitor Comparisons

A C# port of shadowsocks

Pros of shadowsocks-windows

  • Native Windows UI integration, providing a seamless user experience
  • More extensive configuration options for advanced users
  • Built-in update mechanism for easy maintenance

Cons of shadowsocks-windows

  • Limited to Windows platform, reducing cross-platform compatibility
  • Potentially higher resource usage compared to the Android version
  • May require additional setup for system-wide proxy configuration

Code Comparison

shadowsocks-windows (C#):

public class Shadowsocks
{
    public static void Main(string[] args)
    {
        Application.Run(new MainForm());
    }
}

shadowsocks-android (Kotlin):

class ShadowsocksApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        Core.init(this, MainActivity::class)
    }
}

The Windows version uses C# and WinForms for the GUI, while the Android version is built with Kotlin and Android-specific components. The Windows version's main entry point is more straightforward, whereas the Android version initializes the core functionality within the application lifecycle.

Both repositories share the common goal of providing a Shadowsocks client for their respective platforms, but their implementations differ significantly due to the target operating systems and development ecosystems.

A platform for building proxies to bypass network restrictions.

Pros of v2ray-core

  • More versatile with support for multiple protocols and transport layers
  • Better obfuscation capabilities, making it harder to detect
  • Modular design allows for easier customization and extension

Cons of v2ray-core

  • More complex configuration and setup process
  • Higher resource consumption due to additional features
  • Steeper learning curve for new users

Code Comparison

v2ray-core (Go):

type Server struct {
    config *Config
    ohm    outbound.Manager
    router routing.Router
    ihm    inbound.Manager
}

func New(config *Config) (*Server, error) {
    // Server initialization
}

shadowsocks-android (Kotlin):

class Core {
    companion object {
        @JvmStatic external fun init(context: Context)
        @JvmStatic external fun stopTun2socks()
        @JvmStatic external fun startTun2socks()
    }
}

The code snippets show that v2ray-core is written in Go and has a more complex structure with separate managers for inbound and outbound connections, as well as routing. shadowsocks-android, on the other hand, is written in Kotlin and has a simpler interface with basic initialization and control functions.

18,819

An unidentifiable mechanism that helps you bypass GFW.

Pros of Trojan

  • Designed to mimic HTTPS traffic, making it harder to detect and block
  • Supports multiple protocols (TCP, UDP, and TLS) for versatile deployment
  • Lightweight and efficient, with minimal overhead

Cons of Trojan

  • Less widespread adoption compared to Shadowsocks, potentially limiting community support
  • Requires a valid TLS certificate for optimal performance and security
  • May be more complex to set up for beginners

Code Comparison

Shadowsocks-Android (Kotlin):

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
    return inflater.inflate(R.layout.layout_apps, container, false)
}

Trojan (C++):

int trojan_run(Config &config, bool test) {
    try {
        Service service(config, test);
        return service.run();
    } catch (const exception &e) {
        Log::log_with_date_time(string("fatal: ") + e.what(), Log::FATAL);
        return -1;
    }
}

The code snippets demonstrate the different languages and approaches used in each project. Shadowsocks-Android is primarily written in Kotlin and focuses on Android-specific implementations, while Trojan is written in C++ and provides a more low-level, cross-platform approach to network protocol handling.

14,481

Lantern官方版本下载 蓝灯 翻墙 代理 科学上网 外网 加速器 梯子 路由 - Быстрый, надежный и безопасный доступ к открытому интернету - lantern proxy vpn censorship-circumvention censorship gfw accelerator پراکسی لنترن، ضدسانسور، امن، قابل اعتماد و پرسرعت

Pros of Lantern

  • More user-friendly interface, making it easier for non-technical users
  • Offers both free and paid versions with additional features
  • Supports multiple protocols, including HTTP, HTTPS, and SOCKS5

Cons of Lantern

  • Less customizable than Shadowsocks-android
  • May be slower in some regions due to its centralized infrastructure
  • Closed-source nature limits community contributions and auditing

Code Comparison

Shadowsocks-android (Kotlin):

override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
    if (intent?.action == Action.SERVICE && !data.state.canStop) {
        stopRunner()
    }
    return super.onStartCommand(intent, flags, startId)
}

Lantern (Go):

func (c *Client) Start() error {
    if c.started {
        return errors.New("client already started")
    }
    c.started = true
    go c.run()
    return nil
}

Both projects use different programming languages, with Shadowsocks-android primarily using Kotlin and Lantern using Go. The code snippets show basic service management functions, highlighting the different approaches in implementation due to language differences and project architectures.

66,794

A GUI client for Windows, support Xray core and v2fly core and others

Pros of v2rayN

  • More comprehensive protocol support, including V2Ray, Trojan, and others
  • Advanced routing capabilities and customizable rules
  • Active development with frequent updates and new features

Cons of v2rayN

  • Steeper learning curve due to more complex configuration options
  • Primarily Windows-focused, limiting cross-platform availability
  • Larger resource footprint compared to the lightweight Shadowsocks-android

Code Comparison

v2rayN (C#):

public static int SetListenerType(Config config)
{
    if (config.listenerType == ListenerType.GlobalPac)
    {
        return (int)ListenerType.GlobalPac;
    }
    return (int)config.listenerType;
}

Shadowsocks-android (Kotlin):

override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
    if (intent?.action == Action.SERVICE && !data.state.canStop) return START_NOT_STICKY
    if (super.onStartCommand(intent, flags, startId) == START_STICKY) return START_STICKY
    stopRunner()
    return START_NOT_STICKY
}

The code snippets demonstrate different approaches to handling configuration and service management in the respective projects. v2rayN focuses on configuration parsing, while Shadowsocks-android emphasizes service lifecycle management.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Shadowsocks for Android

CircleCI API Releases Language: Kotlin Codacy Badge License: GPL-3.0

for Android & Chrome OS (beta)
for Android TV (beta)

PREREQUISITES

  • JDK 11+
  • Android SDK
    • Android NDK
  • Rust with Android targets installed using rustup target add armv7-linux-androideabi aarch64-linux-android i686-linux-android x86_64-linux-android

BUILD

You can check whether the latest commit builds under UNIX environment by checking Travis status.

  • Install prerequisites
  • Clone the repo using git clone --recurse-submodules <repo> or update submodules using git submodule update --init --recursive
  • Build it using Android Studio or gradle script

CONTRIBUTING

If you are interested in contributing or getting involved with this project, please read the CONTRIBUTING page for more information. The page can be found here.

TRANSLATE

OPEN SOURCE LICENSES

LICENSE

Copyright (C) 2017 by Max Lv <max.c.lv@gmail.com>
Copyright (C) 2017 by Mygod Studio <contact-shadowsocks-android@mygod.be>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.