|
2 | 2 |
|
3 | 3 | Global Proxy App for Android System |
4 | 4 |
|
5 | | -ProxyDroid is distributed under GPLv3 with many other open source software, |
| 5 | +ProxyDroid is distributed under GPLv3 with many other open source software, |
6 | 6 | here is a list of them: |
7 | 7 |
|
8 | | - * cntlm - authentication proxy: http://cntlm.sourceforge.net/ |
9 | 8 | * redsocks - transparent socks redirector: http://darkk.net.ru/redsocks/ |
| 9 | + * tun2socks - VPN-based transparent proxy |
10 | 10 | * netfilter/iptables - NAT module: http://www.netfilter.org/ |
11 | | - * transproxy - transparent proxy for HTTP: http://transproxy.sourceforge.net/ |
12 | | - * stunnel - multiplatform SSL tunneling proxy: http://www.stunnel.org/ |
13 | 11 |
|
14 | | -## TRAVIS CI STATUS |
| 12 | +## PREREQUISITES |
15 | 13 |
|
16 | | -[](http://travis-ci.org/madeye/proxydroid) |
| 14 | +* JDK 11+ |
| 15 | +* Android Studio or Gradle 8.1+ |
| 16 | +* Android SDK (compileSdk 33) |
| 17 | +* Android NDK 25.1.8937393 |
| 18 | +* CMake 3.22.1 |
17 | 19 |
|
18 | | -[Nightly Builds](http://buildbot.sinaapp.com) |
| 20 | +## BUILD |
19 | 21 |
|
20 | | -## PREREQUISITES |
| 22 | +### Using Android Studio |
21 | 23 |
|
22 | | -* JDK 1.6+ |
23 | | -* Maven 3.0.5 |
24 | | -* Android SDK r17+ |
25 | | -* Android NDK r8+ |
| 24 | +1. Open the project in Android Studio |
| 25 | +2. Sync Gradle files |
| 26 | +3. Build the project using `Build > Make Project` |
26 | 27 |
|
27 | | -* Local Maven Dependencies |
| 28 | +### Using Command Line |
28 | 29 |
|
29 | | - Use Maven Android SDK Deployer to install all android related dependencies. |
| 30 | +```bash |
| 31 | +./gradlew assembleDebug |
| 32 | +``` |
30 | 33 |
|
31 | | - ```bash |
32 | | - git clone https://github.com/mosabua/maven-android-sdk-deployer.git |
33 | | - pushd maven-android-sdk-deployer |
34 | | - export ANDROID_HOME=/path/to/android/sdk |
35 | | - mvn install -P 4.1 |
36 | | - popd |
37 | | - ``` |
| 34 | +For release build: |
38 | 35 |
|
39 | | -## BUILD |
| 36 | +```bash |
| 37 | +./gradlew assembleRelease |
| 38 | +``` |
40 | 39 |
|
41 | | -Invoke the building like this |
| 40 | +## PROJECT STRUCTURE |
42 | 41 |
|
43 | | -```bash |
44 | | - mvn clean install |
45 | 42 | ``` |
| 43 | +app/ |
| 44 | +├── src/main/ |
| 45 | +│ ├── java/org/proxydroid/ # Kotlin source files |
| 46 | +│ │ ├── ProxyDroid.kt # Main activity |
| 47 | +│ │ ├── ProxyDroidService.kt |
| 48 | +│ │ ├── ProxyDroidVpnService.kt |
| 49 | +│ │ ├── AppManager.kt |
| 50 | +│ │ ├── Profile.kt |
| 51 | +│ │ └── utils/ # Utility classes |
| 52 | +│ └── cpp/ # Native code |
| 53 | +│ ├── exec/ # Native exec helper |
| 54 | +│ ├── libevent/ # libevent library |
| 55 | +│ ├── redsocks/ # redsocks proxy |
| 56 | +│ └── tun2socks/ # tun2socks VPN helper |
| 57 | +└── build.gradle |
| 58 | +``` |
| 59 | + |
| 60 | +## SUPPORTED ARCHITECTURES |
| 61 | + |
| 62 | +* armeabi-v7a |
| 63 | +* arm64-v8a |
| 64 | +* x86 |
| 65 | +* x86_64 |
| 66 | + |
| 67 | +## REQUIREMENTS |
| 68 | + |
| 69 | +* Minimum SDK: 21 (Android 5.0) |
| 70 | +* Target SDK: 33 (Android 13) |
0 commit comments