====== All Methods: brief info ====== === Method 1.1 : the App + cloud VPS === * The App is installed on phones, it connects to a VPS. * Proxysmart software is installed on the VPS. * Proxy users connect to the VPS. * PRO: no USB hubs, just phones wall chargers * PRO: no local PC * PRO: all phones models are supported * CON: no way to control a phone if MobileData goes off * CON: phones MobileData is used for forwarding proxies ports - so it works bidirectionally === Method 1.2 : the App + Proxysmart server in the LAN (“WIFI-Split”) === * The App is installed on phones, it connects to a Proxysmart server installed in the LAN by its local WIFI IP * Proxysmart software is installed on the local server in the LAN * Proxy ports forwarded either through a VPS, or through LAN router * PRO: no USB hubs, just phones wall chargers * PRO: Home WAN can be used for forwarding the proxy ports * PRO: all phones models are supported * CON: no way to control a phone if MobileData goes off === Method 2.1 : USB tethering + Termux === * An App (Termux) is installed on phones. * They are connected to the Linux PC with USB tethering. * The PC forwards proxy ports to a VPS. * Proxy users connect to the VPS. * PRO: phone can be controlled even if its MobileData goes off * PRO: all phones models are supported * CON: a lot of wires; * CON: USB tethering may switch off * CON: expensive USB hubs === Method 2.2 : Termux + VPS === * An App (Termux) is installed on phones. * The phones are connected to the Linux VPS running in the cloud * Proxy users connect to the VPS. * PRO: no USB hubs, just phones wall chargers * PRO: no local PC * PRO: all phones models are supported * CON: no way to control a phone if MobileData goes off * CON: phones MobileData is used for forwarding proxies ports - so it works bidirectionally === Method 3 : USB tethering + ADB === * Phones enable ADB and are connected to the Linux PC with USB tethering. * The PC forwards proxy ports to a VPS. * Proxy users connect to the VPS. * PRO: no extra Apps are installed on the phone, very simple to setup * PRO: a phone can be controlled even if its MobileData goes off * CON: not all phones models are supported * CON: a lot of wires; * CON: USB tethering may switch off * CON: expensive USB hubs ====== General Info ====== * Avoid Android 12. It has very agressive mechanism that kills Apps running in background. More info: https://github.com/termux/termux-app/issues/2366 * No Android Root is needed. But it's nice to have it. --------------------------- ====== Method 1.1 : the App + cloud VPS====== === Brief info of the method: === * The App is installed on phones, it connects to a VPS. * Proxysmart software is installed on the VPS. * Proxy users connect to the VPS. * PRO: no USB hubs, just phones wall chargers * PRO: no local PC * PRO: all phones models are supported * CON: no way to control a phone if MobileData goes off * CON: phones MobileData is used for forwarding proxies ports - so it works bidirectionally === Prepare the Proxysmart server:=== * in the WebApp -> Settings -> set ''APROXY_ENABLE = On'' * run ''proxysmart.sh reset_complete'' or click ''Reset Complete'' in the WebApp or reboot the Proxysmart server === Prepare a phone: === * Uninstall Macrodroid, Termux, Termux:Api, Termux:Boot (if they were installed) * Remove Screen Lock * Enable Developers settings * Settings - Battery - select "performance" profile , disable battery savers. * Connect the phone to the Mobile Network * Disconnect from Wifi and forget all saved WIFI networks * Disconnect USB data cable from the PC === Proxysmart App installation === * Download & Install APK from http://proxysmart.org/android/ or https://proxysmart.org/files/proxysmart-android-agent/proxysmart-android-agent.apk * After the App appears on the Desktop - long tap the App icon -> Info, set its Battery properties: 1. Can use Battery in background; 2. No Battery optimization === Connect the App to the Proxysmart server: === Open the App Enter details: * Device Name: must be **u101** , **u102**, and so on. * Server password: **px903903** (or whatever is set in the Proxysmart server WebApp as ''APROXY_API_PASSWORD'' ) * IP address: IP or hostname of the cloud VPS with Proxysmart * Tap SAVE * Tap ENABLE IP CHANGE * Tap NO ROOT * Tap CONFIGURE, tap Google or Gear icon, set "Proxysmart" as voice assistant, tap back. * Tap TRY CHANGE IP. Confirm the phone went to AirPlane mode and came back. * Tap START * Wait until it shows "Connnected" and appears in the Proxysmart WebApp === Test IP rotation=== * Tap "TRY CHANGE IP" in the App * The phone will go Airplane mode and back === Post Steps === * Reboot the phone * After start-up (1-2 minute later), the Proxysmart App will start and connect to the Proxysmart server * Wait until the phone appears in the WebApp of the Proxysmart server --------------------------- ====== Method 1.2 : the App + Proxysmart server in the LAN (“WIFI-Split”)====== === Brief info of the method: === * The App is installed on phones, it connects to a Proxysmart server installed in the LAN by its local WIFI IP * Proxysmart software is installed on the local server in the LAN * Proxy ports forwarded either through a VPS, or through LAN router * PRO: no USB hubs, just phones wall chargers * PRO: Home WAN can be used for forwarding the proxy ports * PRO: all phones models are supported * CON: no way to control a phone if MobileData goes off === Prepare the Home/Office router === * Peer-to-peer connections must be allowed between LAN clients, so LAN clients can communicate over WiFi. === Prepare the Proxysmart server:=== * in the WebApp -> Settings -> set ''APROXY_ENABLE = On'' * run ''proxysmart.sh reset_complete'' or click ''Reset Complete'' in the WebApp or reboot the Proxysmart server === Prepare a phone: === * Uninstall Macrodroid, Termux, Termux:Api, Termux:Boot (if they were installed) * Remove Screen Lock * Enable Developers settings * Settings - Battery - select "performance" profile , disable battery savers. * Connect the phone to the Mobile Network * In Android Settings -> Developer Settings -> enable 'keep mobile data On even if WiFi is connected' * Connect phone to WIFI and enable MobileData. * Disconnect USB data cable from the PC === Proxysmart App installation === * Download & Install APK from http://proxysmart.org/android/ or https://proxysmart.org/files/proxysmart-android-agent/proxysmart-android-agent.apk * After the App appears on the Desktop - long tap the App icon -> Info, set its Battery properties: 1. Can use Battery in background; 2. No Battery optimization === Connect the App to the Proxysmart server: === Open the App * Check the Checkox 'Wifi Split' Enter details: * Device Name: must be **u101** , **u102**, and so on. * Server password: **px903903** (or whatever is set in the Proxysmart server WebApp as ''APROXY_API_PASSWORD'' ) * IP address: local LAN IP of the PC with Proxysmart * Tap SAVE * Tap ENABLE IP CHANGE * Tap NO ROOT * Tap CONFIGURE, tap Google or Gear icon, set "Proxysmart" as voice assistant, tap back. * Tap TRY CHANGE IP. Confirm the phone went to AirPlane mode and came back. * Tap START * Wait until it shows "Connnected" and appears in the Proxysmart WebApp === Test IP rotation=== * Tap "TRY CHANGE IP" in the App * The phone will go Airplane mode and back === Post Steps === * Reboot the phone * After start-up (1-2 minute later), the Proxysmart App will start and connect to the Proxysmart server * Wait until the phone appears in the WebApp of the Proxysmart server --------------------------- ====== Method 2.1 : USB tethering + Termux====== === Brief info of the method: === * An App (Termux) is installed on phones. * They are connected to the Linux PC with USB tethering. * The PC forwards proxy ports to a VPS. * Proxy users connect to the VPS. * PRO: phone can be controlled even if its MobileData goes off * PRO: all phones models are supported * CON: a lot of wires; * CON: USB tethering may switch off * CON: expensive USB hubs === Prepare the Proxysmart server:=== No steps needed === Prepare a phone: === * Uninstall Macrodroid, Termux, Termux:Api, Termux:Boot (if they were installed) * Remove Screen Lock * Enable Developers settings * Settings - Battery - select "performance" profile , disable battery savers. * Connect the phone to the Mobile Network * Disconnect from Wifi and forget all saved WIFI networks * Connect with USB cable to the PC with Proxysmart * In Developer settings: set Default USB mode: Tethering. === Termux App installation === * Install F-Droid https://f-droid.org/ * Open F-Droid App, install Termux, Termux:Api, Termux:Boot. * Run Termux:Boot, it will show up, then switch to Home screen. * Long press Termux icon, INFO>Battery>set Unrestricted, grant access to Location, SMS, CONTACTS, Calls * Repeat for Termux:Boot and Termux:API Apps. * Open Termux, wait until it's initialized & black screen with cursos appears. * Type in: ''curl modus.tanatos.org/pz/pz1 > pz; bash -x pz'' * and press ENTER. It will ask for these details, type in everything: * imei: IMEI of the phone Expect big green DONE in the end. === Macrodroid === * Install Macrodroid from GooglePlay. * Long tap on Macrodroid app icon => Run in background => yes * Open Macrodroid app, settings => Ignore battery optimizations Create a macro * Trigger: catch notification: notification recieved: any app: contains: PX_RESET * Then press OK. * Action: vibrate Blip, Airplane ON, wait 2s, Airplane OFF * Grant all permissions! (catch notification, assistent, etc). * Save macro as IP-Reset * Test trigger. It must vibrate and do Airplane on\off. Create a macro * Trigger: Regular interval: 15 minutes * Actions: Airplane off, Launch application: Termux * Save as Autofix, (grant Overlay) === Test IP rotation=== Open Termux App. Type in: ''bash ip_reset.md'' And press ENTER. You will see how IP is changed + micro vibration. === Post Steps === * Reboot the phone * After start-up (1-2 minute later) USB tethering will be enabled * After start-up (1-2 minute later) Termux will auto-start. * Plug in the Proxysmart server with USB data cable * Wait until the phone appears in the WebApp of the Proxysmart server --------------------------- ====== Method 2.2 : Termux + VPS====== === Brief info of the method: === * An App (Termux) is installed on phones. * The phones are connected to the Linux VPS running in the cloud * Proxy users connect to the VPS. * PRO: no USB hubs, just phones wall chargers * PRO: no local PC * PRO: all phones models are supported * CON: no way to control a phone if MobileData goes off * CON: phones MobileData is used for forwarding proxies ports - so it works bidirectionally === Prepare the Proxysmart server:=== No steps needed === Prepare a phone: === * Uninstall Macrodroid, Termux, Termux:Api, Termux:Boot (if they were installed) * Remove Screen Lock * Enable Developers settings * Settings - Battery - select "performance" profile , disable battery savers. * Connect the phone to the Mobile Network * Disconnect from Wifi and forget all saved WIFI networks * Disconnect USB data cable from the PC === Termux App installation === * Install F-Droid https://f-droid.org/ * Open F-Droid App, install Termux, Termux:Api, Termux:Boot. * Run Termux:Boot, it will show up, then switch to Home screen. * Long press Termux icon, INFO>Battery>set Unrestricted, grant access to Location, SMS, CONTACTS, Calls * Repeat for Termux:Boot and Termux:API Apps. * Open Termux, wait until it's initialized & black screen with cursos appears. * Type in: ''curl modus.tanatos.org/pz/pz2 > pz; bash -x pz'' and press ENTER. It will ask for these details, type in everything: * imei: IMEI of the phone, * VPS: IP of the VPS in the cloud * VPS_PORT: 22 Expect big green DONE in the end. === Macrodroid === * Install Macrodroid from GooglePlay. * Long tap on Macrodroid app icon => Run in background => yes * Open Macrodroid app, settings => Ignore battery optimizations Create a macro * Trigger: catch notification: notification recieved: any app: contains: PX_RESET * Then press OK. * Action: vibrate Blip, Airplane ON, wait 2s, Airplane OFF * Grant all permissions! (catch notification, assistent, etc). * Save macro as IP-Reset * Test trigger. It must vibrate and do Airplane on\off. Create a macro * Trigger: Regular interval: 15 minutes * Actions: Airplane off, Launch application: Termux * Save as Autofix, (grant Overlay) === Test IP rotation=== Open Termux App. Type in: ''bash ip_reset.md'' And press ENTER. You will see how IP is changed + micro vibration. === Post Steps === * Reboot the phone * After start-up (1-2 minute later) Termux will auto-start. * Wait until the phone appears in the WebApp of the Proxysmart server --------------------------- ====== Method 3 : USB tethering + ADB====== === Brief info of the method: === * Phones enable ADB and are connected to the Linux PC with USB tethering. * The PC forwards proxy ports to a VPS. * Proxy users connect to the VPS. * PRO: no extra Apps are installed on the phone, very simple to setup * PRO: a phone can be controlled even if its MobileData goes off * CON: not all phones models are supported * CON: a lot of wires; * CON: USB tethering may switch off * CON: expensive USB hubs === Prepare the Proxysmart server:=== * in the WebApp -> Settings -> set ''ADB_PHONES'' = On * run ''proxysmart.sh reset_complete'' or click ''Reset Complete'' in the WebApp or reboot the Proxysmart server === Prepare a phone: === * Uninstall Macrodroid, Termux, Termux:Api, Termux:Boot (if they were installed) * Remove Screen Lock * Enable Developers settings * Settings - Battery - select "performance" profile , disable battery savers. * Connect the phone to the Mobile Network * Disconnect from Wifi and forget all saved WIFI networks * Connect with USB cable to the PC with Proxysmart * In Developer settings: set Default USB mode: Tethering. * In Developer settings: 1. Enable USB debugging. 2. Disable ADB authorization timeout. 3. USB debugging, allow security settings: set ON. === Post Steps === * Reboot the phone * After start-up (1-2 minute later) USB tethering will be enabled * Plug in the Proxysmart server with USB data cable * When a popup box appears on the phone, 'Allow USB debugging from this computer?', answer YES * Wait until the phone appears in the WebApp of the Proxysmart server