====== 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 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:=== * Create a cloud VPS e.g. DigitalOcean, Linode, Vultr. Disable firewall on it completely. * Install Proxysmart on the VPS. * in the Proxysmart 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 * [[v2:android_apk_enable_reboot|Grant reboot permission]] (optional!) so the phone could be rebooted remotely. --------------------------- ====== 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:=== * Install Proxysmart on the local PC * in the Proxysmart 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 * [[v2:android_apk_enable_reboot|Grant reboot permission]] (optional!) so the phone could be rebooted remotely. --------------------------- ====== 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:=== * Install Proxysmart on the local PC * 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 * Enable USB tethering (USB hotspot) * 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