System-Proxy einrichten (IP-Wechsel)

In diesem Kapitel erfahren Sie, wie Sie einen IP-Proxy für das aktuelle Mobiltelefon einrichten. FIRERPA unterstützt die Einrichtung von HTTP- und SOCKS5-Proxys für das aktuelle Mobiltelefon. Dadurch wird der gesamte Kommunikationsverkehr Ihres Mobiltelefons über den eingerichteten Proxy geleitet. Derzeit unterstützt diese Funktion kein IPv6.

Verbindung zum Proxy herstellen

Diese Schnittstelle hat viele Parameter. Angenommen, der von Ihrem Dienstanbieter erhaltene Proxy lautet http://1.x.x.x:8080, sind nur die folgenden Codezeilen erforderlich, um den Geräteverkehr über diesen Proxy zu leiten. Sie können unten unter Vollständige Parameter nachsehen, um mehr über die verfügbaren Parameter zu erfahren.

profile = GproxyProfile()
profile.type = GproxyType.HTTP_CONNECT

profile.drop_udp = True
profile.host = "1.x.x.x"
profile.port = 8080

d.start_gproxy(profile)

Beachten Sie, dass laufende Anwendungen nach dem Einrichten des Proxys diesen nicht sofort verwenden. Diese Anwendungen haben ihre TCP-Verbindungen bereits vor der Einrichtung des Proxys aufgebaut. Daher müssen Sie die Zielanwendung manuell schließen und erneut öffnen, damit die Anwendung eine Verbindung über den Proxy herstellt.

Proxy-Typen

Proxy-TypBeschreibung
GproxyType.HTTP_CONNECTHTTP
GproxyType.HTTPS_CONNECTHTTPS (HTTP+TLS)
GproxyType.SOCKS5Socks5
GproxyType.SHADOWSOCKSShadowsocks
GproxyType.HTTP_RELAYVeraltet

Shadowsocks-Verschlüsselungsparameter

Die folgende Liste zeigt die unterstützten Shadowsocks-Verschlüsselungstypen. Es werden nur die in der Liste aufgeführten Verschlüsselungsmethoden unterstützt; Obfuskationsparameter werden nicht unterstützt.

VerschlüsselungstypName
AESaes-128-cfb
AESaes-192-cfb
AESaes-256-cfb
AESaes-128-ctr
AESaes-192-ctr
AESaes-256-ctr
CAMELLIAcamellia-128-cfb
CAMELLIAcamellia-192-cfb
CAMELLIAcamellia-256-cfb
DESdes-cfb
AES-AEADaes-128-gcm
AES-AEADaes-192-gcm
AES-AEADaes-256-gcm
AEADchacha20-ietf-poly1305

Für Shadowsocks verwenden Sie bitte die folgende Methode, um die Verschlüsselungsmethode und das Passwort festzulegen.

profile.login = "chacha20-ietf-poly1305"
profile.password = "Passwort"

Proxy deaktivieren

Sie können den von FIRERPA auf dem System eingerichteten Proxy wie folgt deaktivieren. Diese Schnittstelle ist sehr einfach und erfordert keine zusätzlichen Parameter von Ihnen.

d.stop_gproxy()

Vollständige Parameter

Nachfolgend finden Sie die vollständigen Parameterkonfigurationsinformationen für die Proxy-Schnittstelle. Anhand der Beschreibung der einzelnen Parameter können Sie entscheiden, ob Sie diesen Parameter verwenden müssen.

Mit dem folgenden Parameter können Sie den Typ des Proxy-Dienstes konfigurieren. Für einen SOCKS5-Proxy wäre dies GproxyType.SOCKS5.

profile.type = GproxyType.HTTP_CONNECT

Wenn Sie DNS-Abfragen zu 114 umleiten müssen, bewirkt dieser Parameter, dass alle vom System ausgehenden DNS-Anfragen dorthin weitergeleitet werden. Wenn es zusammen mit OpenVPN verwendet wird, setzen Sie es nicht auf den internen DNS von OpenVPN, da dies zu einem vollständigen Netzwerkausfall führen kann. Wenn diese Konfiguration nicht verwendet wird, wird standardmäßig der System-DNS verwendet.

Achtung

Wenn der `dns_proxy`-Parameter für die Proxy-Weiterleitung von DNS-Abfragen festgelegt ist, muss Ihr DNS-Server TCP-Abfragen unterstützen. Normalerweise unterstützen gängige DNS-Server TCP-Abfragen.
profile.nameserver = "114.114.114.114"

Konfiguration der IP-Adresse und Portnummer des Proxy-Servers.

profile.host = Proxy-Server-Adresse
profile.port = Proxy-Server-Port

Wenn Ihr Proxy-Server eine Anmeldeauthentifizierung erfordert, können Sie diese mit den folgenden Parametern bereitstellen. Dies hängt von Ihrem Proxy-Anbieter ab. Für den Shadowsocks-Typ ist login die Verschlüsselungsmethode.

profile.login = "Proxy-Server-Anmeldebenutzername"
profile.password = "Proxy-Server-Anmeldepasswort"

Wird verwendet, um UDP-Verkehr im System zu blockieren. Warum muss UDP-Verkehr blockiert werden? Weil die meisten öffentlichen Proxy-Dienste heutzutage keinen UDP-Verkehr im System weiterleiten. Natürlich unterstützen einige SOCKS5-Server UDP, wie z. B. die von uns bereitgestellte selbst gehostete Lösung, und Shadowsocks unterstützt normalerweise auch UDP. Daher ist das Deaktivieren des System-UDP-Verkehrs eine gute Wahl. Diese Option ist standardmäßig deaktiviert.

profile.drop_udp = False

Wird verwendet, um zu konfigurieren, ob das lokale Netzwerk umgangen werden soll. Wenn auf True gesetzt, wird der Verkehr zu Router-Netzwerksegmenten wie 192.168.x, 10.x usw. nicht über den Proxy geleitet. Der Standardwert ist False. Beachten Sie, dass diese Option bei aktiviertem udp_proxy keine Auswirkung auf den UDP-Verkehr hat.

profile.bypass_local_subnet = True

Wird verwendet, um zu konfigurieren, ob UDP-Verkehr über den Proxy geleitet werden soll. Dies erfordert, dass Ihr Proxy bestimmte Voraussetzungen erfüllt: Ihr Proxy muss vom Typ GproxyType.SOCKS5 oder GproxyType.SHADOWSOCKS sein und Ihr Proxy-Server muss die UDP-Proxy-Unterstützung aktiviert haben. Sie können einen SOCKS5-UDP-fähigen Proxy-Server über die von uns bereitgestellte Dokumentation installieren oder einen eigenen SS-Server einrichten. Der Standardwert ist False. Wenn Sie einen HTTP-Proxy verwenden oder die Option drop_udp auf True gesetzt ist, wird diese Option ignoriert.

profile.udp_proxy = False

Wird verwendet, um festzulegen, ob der gesamte DNS-Verkehr über den Proxy weitergeleitet werden soll. Wenn diese Option aktiviert ist, wird der gesamte DNS-Verkehr auf dem Gerät über den Proxy gesendet, was DNS-Poisoning verhindern kann. Bei Verwendung dieser Option müssen Sie auch den nameserver-Parameter angeben. Nicht in Sniffing-Szenarien verwenden, da Sniffing-Software DNS-Pakete möglicherweise nicht korrekt behandelt, was zu einem scheinbaren Netzwerkausfall führen kann.

profile.dns_proxy = False

Mit der folgenden Konfiguration können Sie den Proxy nur für eine bestimmte Anwendung im System einrichten. Der Verkehr von anderen Anwendungen wird nicht über den Proxy geleitet.

# Wählen Sie eine der folgenden drei Methoden, um die Zielanwendung auszuwählen.
app = d.application("com.android.browser")
app = d.get_application_by_name("Browser")
app = d.application("com.android.browser", user=999) # geklonte App

profile.application.set(app)

Proxy automatisch anwenden

Sie können FIRERPA so einrichten, dass es beim Start automatisch eine Verbindung zu einem voreingestellten Proxy-Server herstellt. Dadurch wird sichergestellt, dass der gesamte Datenverkehr Ihres Mobiltelefons immer über den Proxy läuft. Kopieren Sie die folgende Konfiguration, ändern Sie die relevanten Einstellungen entsprechend Ihren Proxy-Informationen, schreiben Sie sie in die Datei properties.local und starten Sie FIRERPA anschließend neu. Einige nicht beschriebene Felder haben dieselben Namen wie die im Abschnitt Vollständige Parameter beschriebenen Felder.

gproxy.enable=true
gproxy.type=http-connect
gproxy.host=1.x.x.x
gproxy.port=8080
gproxy.password=
gproxy.login=

Proxy-Dienst einrichten

FIRERPA stellt im Verzeichnis tools einen sofort einsatzbereiten Docker-Container für einen SOCKS5-Proxy-Dienst bereit, der auch UDP unterstützt. In den entsprechenden Kapiteln dieser Dokumentation zum Thema Bereitstellung eines Proxy-Dienstes erfahren Sie, wie Sie Ihren eigenen Proxy-Server bereitstellen.