Risposte:
Server Ultimate è un'app avanzata per trasformare il tuo telefono in un server. Dallo stesso sviluppatore, Proxy Server offre un approccio più semplice ed esclusivamente "basato su proxy server". Come indicato nella sua descrizione:
Esegui il tuo server proxy sul tuo dispositivo! L'app può gestire protocolli HTTP e HTTPS e richieste GET / POST. Puoi anche impostare l'app per inoltrare tutte le connessioni a un host e una porta predefiniti in modo da poter utilizzare anche altri protocolli tramite il socket!
Più tardi aggiungono
Per altri server e funzionalità dai un'occhiata alla nostra app Server Ultimate
Per ulteriori informazioni su Servers Ultimate, consulta questo articolo su LifeHacker , questo articolo su XDA e il thread XDA delle app .
Se sei solo interessato a configurare un proxy sul tuo Wifi, puoi farlo con Server Ultimate abbastanza facilmente, ma non so perché qualcuno vorrebbe davvero farlo. Un'opzione molto più utile è quella di utilizzare i dati mobili, ma come ha detto @Kevin avrai un sacco di mal di testa, soprattutto a livello di ISP (Verizon, AT&T, ecc.). È probabile che non riuscirai a farli cambiare la loro politica NAT per te.
È difficile utilizzare i dati mobili come proxy perché tutte le connessioni in entrata sono bloccate. Ma se hai un laptop collegato al wifi e il tuo telefono è collegato al laptop tramite adb, un'opzione è quella di eseguire un comando come questo:
adb forward tcp:6400 tcp:8080
Questo comando inoltra tutte le connessioni TCP inviate alla porta 6400 dell'host (laptop) alla porta 8080 del telefono. Quindi, imposta un server proxy sulla tua app Server Ultimate in esecuzione sulla porta 8080. Non è richiesto il root!
Ora, qualsiasi richiesta al tuo laptop tramite la porta 6400 verrà inoltrata ai tuoi dati mobili! Prova questo aprendo firefox, andando su impostazioni, Reti e usando 127.0.0.1 e la porta 6400 come proxy. Puoi aprire il tuo router per accedere al wifi pubblico usando questa porta, anche se ti consiglio di impostare una sorta di politica di sicurezza.
Ci sono tonnellate di tutorial per abilitare le opzioni degli sviluppatori e adb sul tuo laptop, è facile.
If you're just interested in setting a proxy up over your Wifi, you can do that with Servers Ultimate quite easily, but I don't know why anyone would really want to do that. A much more useful option is to use mobile data,
Sei d'accordo sul fatto che la configurazione di un proxy su 4G (anziché su WiFi) non è possibile con Servers Ultimate? (Chiedo perché potrei impostare un proxy su 4G e vorrei sapere se è possibile)
Ho avuto qualche problema a far funzionare il server proxy di Server Ultimate, e il mio primo pensiero è che è perché il mio telefono non è rootato. Tuttavia, il problema qui non è necessariamente a livello di sistema operativo, a seconda del caso d'uso.
Se stai tentando di utilizzare la connessione dati mobile come proxy, potresti avere dei problemi, poiché la maggior parte dei provider di dati mobili bloccherà tutte le porte che normalmente potresti utilizzare per configurare un proxy. La soluzione migliore è contattare il fornitore di dati mobili e vedere se hanno porte aperte oltre il valore di 1024 (Android blocca le porte al di sotto di questo numero per motivi di sicurezza).
In alternativa, puoi:
Per rendertene conto, prova a eseguire un server proxy Ultimate Server su Wifi con la porta aperta. Avrai qualcosa che funzioni, ma se il tuo obiettivo è utilizzare i dati mobili, per ora non sei fortunato.
Se il tuo telefono è rootato (o almeno il bootloader è sbloccato), puoi eseguire tinyproxy (proxy HTTP / HTTPS) come init
servizio. Funziona con Wi-Fi e dati mobili, in quest'ultimo caso devi assicurarti che il tuo telefono sia accessibile da internet. Vedi Come connettersi ad Android tramite SSH su IP pubblico 3G / 4G?
/data
o /system
:
~# mkdir -p /data/local/tinyproxy/tmp
Crea file di configurazione:
# /data/local/tinyproxy/tinyproxy.conf
Port 8080
Timeout 600
LogFile "/tinyproxy.log"
LogLevel Connect
MaxClients 100
MinSpareServers 5
MaxSpareServers 20
StartServers 5
MaxRequestsPerChild 0
ViaProxyName "tinyproxy"
#BasicAuth <username> <password>
Per ulteriori opzioni di configurazione consultare la documentazione .
tinyproxy
dalla fonte o potresti provare questo . Spostare binario su /data/local/tinyproxy/
e impostare le autorizzazioni. Utilizzare AID_NOBODY
o qualsiasi altro UID non utilizzato per il servizio:
~# cd /data/local/tinyproxy/
~# chown -R 9999.9999 .
~# chmod 0755 . tmp tinyproxy
~# chmod 0644 tinyproxy.conf
Aggiungi le seguenti righe /init.rc
o qualsiasi altro .rc
file:
# /system/etc/init/tinyproxy.rc
service tinyproxy /system/bin/chroot /data/local/tinyproxy /tinyproxy -d -c /tinyproxy.conf
seclabel u:r:magisk:s0
user 9999
group 9999
disabled
capabilities NET_RAW NET_BIND_SERVICE SYS_CHROOT
on property:sys.boot_completed=1
start tinyproxy
Se si utilizza un'app firewall, assicurarsi di sbloccare la porta in arrivo 8080
. Riavvia il dispositivo. tinyproxy
il server dovrebbe essere in esecuzione con i privilegi minimi. Connettiti localmente o da remoto.
Se il telefono non è rootato o si desidera eseguire ulteriormente il sandbox del server proxy, è possibile applicare una patch ai criteri SELinux con le seguenti regole. Usa lo supolicy
strumento Magisk o sepolicy-inject
:
create tinyproxy
allow init tinyproxy process transition
allow init tinyproxy process { rlimitinh siginh noatsecure }
allow tinyproxy tinyproxy process { getsched fork }
allow tinyproxy toolbox_exec file { entrypoint read getattr execute }
allow tinyproxy tinyproxy dir { search write add_name remove_name }
allow tinyproxy tinyproxy lnk_file read
allow tinyproxy labeledfs filesystem associate
allow tinyproxy tinyproxy file { read open getattr create write append unlink execute execute_no_trans }
allow tinyproxy tinyproxy capability { sys_chroot net_raw }
allow tinyproxy tinyproxy unix_dgram_socket { create connect write }
allow tinyproxy tinyproxy tcp_socket { create connect accept read bind getattr write shutdown setopt listen }
allow tinyproxy port tcp_socket { name_connect name_bind }
allow tinyproxy node tcp_socket node_bind
allow tinyproxy tinyproxy udp_socket { create connect read getattr write bind }
allow tinyproxy node udp_socket node_bind
allow tinyproxy system_data_file file lock
allow tinyproxy tinyproxy file lock
dmesg
per avc
smentite di definire tutte le regole più richiesti.seclabel u:r:magisk:s0
in servizio con seclabel u:r:tinyproxy:s0
.~# chcon -R u:object_r:tinyproxy:s0 /data/local/tinyproxy
Ora il servizio funzionerà anche senza Magisk.
RELAZIONATO:
Il proxy SOCKS può essere eseguito con SSH, vedere: