Global Proxy for Android

Related tags

Kotlin proxydroid
Overview

INTRO

Global Proxy App for Android System

ProxyDroid is distributed under GPLv3 with many other open source software, here is a list of them:

TRAVIS CI STATUS

Build Status

Nightly Builds

PREREQUISITES

  • JDK 1.6+

  • Maven 3.0.5

  • Android SDK r17+

  • Android NDK r8+

  • Local Maven Dependencies

    Use Maven Android SDK Deployer to install all android related dependencies.

    git clone https://github.com/mosabua/maven-android-sdk-deployer.git 
    pushd maven-android-sdk-deployer
    export ANDROID_HOME=/path/to/android/sdk
    mvn install -P 4.1
    popd

BUILD

Invoke the building like this

  mvn clean install
Comments
  • run daemon as unprivilleged user

    run daemon as unprivilleged user

    Only iptables needs to be run as root. Running daemons as root is a security risk.

    As pid files created by daemons in previous version are owned by root, daemons run as unprivilleged user are not able to access it any more. Hence, the app data may need to be cleared (although I have not test whether it would work without a data clearing).

    opened by nicolas-yangli 4
  • fix bug:

    fix bug: "too many open files"

    In some android 5,redsock will say about "too many open files",and does not work, because redsocks open socket connect too many than $(ulimit -n) so I add "ulimit -HSn 4096" let it be enough. poor English.Let me describe in Chinese. 我用了很多安卓手机,发现在许多安卓5上,会出现成功转发了数据包却没有成功代理, 于是把redsocks改成调试模式,发现"too many open files" 虽然不明白默认的上限$(ulimit -n)1024为什么会不够, 但是我把上限设置成4倍ulimit -HSn 4096,问题就不再出现了,

    opened by AoEiuV020 3
  • Fix compilation

    Fix compilation

    Hi,

    I added some missing directories from your Mercurial repository on GoogleCode, and commented a line which makes compilation fail with the 'ant' compiler (ie. the command line).

    Regards, Valentin

    opened by progval 2
  • Enable basic authentication by default

    Enable basic authentication by default

    I am developer of VProxy, an HTTPS Forward proxy hidden in HTTPS web site.

    VProxy pretends to be an HTTPS web site and only handles HTTPS proxy requests when the supplied credentials are valid. VProxy does not support challenge–response authentication for its HTTPS proxy because that would make it possible to detect it is running an HTTPS proxy.

    As a result, VProxy works as reverse proxy when the credentials in HTTPS proxy request are missing or invalid. In this case, VProxy does not response HTTP error code 401 or 407 error challenge–response authentication will not be triggered.

    This PR set basic authentization header by default when username and password are supplied. It will not break exsiting logic -- for classic http proxy when they response 401/407 error, the previous logic is applied.

    opened by vproxy666 1
  • fix handle proxy request in http relay

    fix handle proxy request in http relay

    if client requests with absolute uri: GET http://www.github.com HTTP/1.1 Host: www.github.com

    tcp-relay will redirect it as: GET http://http://www.github.com HTTP/1.1 Host: www.github.com

    opened by V-E-O 1
  • Improve magisk compatibility on AOSP Userdebug build

    Improve magisk compatibility on AOSP Userdebug build

    On a userdebug build device with magisk installed, two su files exist on the same system:

    • /system/xbin/su - added by userdebug config, restricted to root and shell users
    • /sbin/su - added by magisk

    Despite the fact that magisk's su is available, the default logic will attempt to test for /system/xbin/su first, resulting in a failed attempt and empty ScriptRunner result.

    Given magisk has gained great popularity over the years, it may worth considering to move /sbin/su to the first of DEFAULT_ROOTS so as to improve the overall compatibility.

    opened by senyuuri 0
  • Add compatibility with SuperSU 2.76

    Add compatibility with SuperSU 2.76

    SuperSU 2.76 (maybe and some previous beta versions) moves su binary to /su/bin/su. It also makes an empty directory /su/xbin/. Both of them could be the path to get root shell. So now supports su in the following paths:

    • /system/bin/su
    • /system/xbin/su
    • /su/bin/su
    • /su/xbin/su
    opened by sunner 0
  • Add HTTPS support to PAC files

    Add HTTPS support to PAC files

    I know that there is HTTPS support in the app but it doesn't work with PAC files which contains something like HTTPS host:port in it. So I've made tiny change to add support to the feature. I didn't test it though.

    opened by koteq 0
  • avoid NullPointerException

    avoid NullPointerException

    E/ProxyDroidService(20295): Error setting up port forward during connect E/ProxyDroidService(20295): java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference E/ProxyDroidService(20295): at org.proxydroid.ProxyDroidService.enableProxy(ProxyDroidService.java:263) E/ProxyDroidService(20295): at org.proxydroid.ProxyDroidService.handleCommand(ProxyDroidService.java:394) E/ProxyDroidService(20295): at org.proxydroid.ProxyDroidService$3.run(ProxyDroidService.java:715) E/ProxyDroidService(20295): at java.lang.Thread.run(Thread.java:818)

    opened by twu2 0
  • Update CHN route with shrinked china_ip_list

    Update CHN route with shrinked china_ip_list

    China routes are gotten from https://github.com/17mon/china_ip_list Shrinked for better performance by remove subnets which have netmasks >= 20.

    Tested on two phone: Nexus 5 and Nexus 5X. Both have rooted stock 6.0.1. No performance issue is found except a longer delay time when enable proxy.

    The old CHN route includes some new Google IPs. So I made this pull request.

    opened by sunner 0
  • add client certificate support for https

    add client certificate support for https

    A new text preference field "certificate" is added to store the certificate. As specified in stunnel, the certificate should be in PEM format, starting with a private key and immediately followed by the corresponding certificate. Plain text certificate should not be included.

    The content of such a PEM certificate is to be paste into the 'Certificate' field in the UI. The field will be enabled when proxyType "HTTPS" is selected. For HTTPS proxies which do not require a client certificate, the field may be leave empty.

    opened by nicolas-yangli 0
Owner
Max Lv
Manager of Architecture at NVIDIA
Max Lv
Android MVVM framework write in kotlin, develop Android has never been so fun.

KBinding 中文版 Android MVVM framework write in kotlin, base on anko, simple but powerful. It depends on my another project AutoAdapter(A library for sim

Benny 413 Dec 5, 2022
Klimatic is an android app built using Kotlin. It try to showcase all the latest technologies used in android.

Klimatic Klimatic is an android app built using Kotlin. It try to showcase all the latest technologies used in android. Built using Android Architectu

Shivam Satija 34 Oct 11, 2022
Oratio Library for Android Studio helps you simplify your Android TTS codes

Oratio Oratio is a library for Android Studio. This library is useful to a number of developers who are currently making apps using android TTS(Text-T

Jacob Lim 1 Oct 28, 2021
This is a demo android app representing implementation of SE principles in android app development

Articles Demo This repository contains a sample Android App that shows most popular articles data from NY Times API. This is a sample app that shows h

Waesem Abbas 2 Jan 20, 2022
Android-Boilerplate - Base project for android development with new technology

Android-Boilerplate Base project for android development with new technology, in

Muhammad Rizky Arifin 1 Aug 15, 2022
Gits-android-extensions - A collection of Kotlin extensions to simplify Android development

gits-android-extensions A collection of Kotlin extensions to simplify Android de

GITS Indonesia 3 Feb 3, 2022
Android Clean Architecture in Rorty is a sample project that presents modern, approach to Android application development using Kotlin and latest tech-stack.

Android Clean Architecture in Rorty is a sample project that presents modern, approach to Android application development using Kotlin and latest tech-stack.

Mr.Sanchez 176 Jan 4, 2023
Android Ptrace Inject for all ABIs and all APIs. Help you inject Shared Library on Android.

Android Ptrace Inject 中文可以参考我的注释内容进行理解 我写的注释相对来说比较全面了 How to build Make sure you have CMake and Ninja in your PATH Edit CMakeLists.txt. Set ANDROID_ND

SsageParuders 65 Dec 19, 2022
Pleasant Android application development

⚠️ Anko is deprecated. Please see this page for more information. Anko is a Kotlin library which makes Android application development faster and easi

Kotlin 15.9k Jan 5, 2023
YouTube Player library for Android and Chromecast, stable and customizable.

android-youtube-player android-youtube-player is a stable and customizable open source YouTube player for Android. It provides a simple View that can

Pierfrancesco Soffritti 2.9k Jan 2, 2023
A highly customizable calendar library for Android, powered by RecyclerView.

CalendarView A highly customizable calendar library for Android, powered by RecyclerView. With this library, your calendar will look however you want

Kizito Nwose 3.4k Jan 3, 2023
View "injection" library for Android.

Kotter Knife Deprecated: This was a terrible idea because it allocates an object for every view reference. Do not use, and do not use anything like it

Jake Wharton 2.2k Dec 28, 2022
Android library that creates app shortcuts from annotations

Shortbread Android library that generates app shortcuts for activities and methods annotated with @Shortcut. No need to touch the manifest, create XML

Matthias Robbers 1.8k Dec 30, 2022
Android + Kotlin + Github Actions + ktlint + Detekt + Gradle Kotlin DSL + buildSrc = ❤️

kotlin-android-template ?? A simple Github template that lets you create an Android/Kotlin project and be up and running in a few seconds. This templa

Nicola Corti 1.5k Jan 3, 2023
🛠️ The missing drawable toolbox for Android. Create drawables programmatically and get rid of the boring and always repeated drawable.xml files.

DrawableToolbox English | 中文 The missing DrawableToolbox for Android. Create drawables programmatically and get rid of the boring and always repeated

Hong Duan 1.1k Jan 4, 2023
Kotlin library for Android

KAndroid Kotlin library for Android providing useful extensions to eliminate boilerplate code in Android SDK and focus on productivity. Download Downl

Paweł Gajda 890 Nov 13, 2022
📒 NotyKT is a complete 💎Kotlin-stack (Backend + Android) 📱 application built to demonstrate the use of Modern development tools with best practices implementation🦸.

NotyKT ??️ NotyKT is the complete Kotlin-stack note taking ??️ application ?? built to demonstrate a use of Kotlin programming language in server-side

Shreyas Patil 1.4k Jan 4, 2023
Android sliding panel that is part of the view hierarchy, not above it.

sliding-panel A ViewGroup that implements a sliding panel that is part of the view hierarchy, not above it. Difference from other libraries All other

Pierfrancesco Soffritti 441 Nov 12, 2022
{ } Declarative Kotlin DSL for choreographing Android transitions

Transition X Kotlin DSL for choreographing Android Transitions TransitionManager makes it easy to animate simple changes to layout without needing to

Arunkumar 520 Dec 16, 2022