Fidel Montesino

Follow

Jul 10, 2020 – 5 min read

Jos olet mobiili-insinööri, sekä kehityksen että testauksen aikana käytät luultavasti joitain yleisimpiä työkaluja debuggaamiseen, sieppaamiseen tai verkkokutsujen uudelleenkirjoittamiseen, kuten Charles Proxy tai Fiddler.

Luultavasti koet myös välityspalvelimen määrittämisen laitteissasi melko ärsyttäväksi: Mene kohtaan Asetukset > Verkkoasetukset > Valitse WiFi-verkkosi > Muokkaa verkkoa > Lisää välityspalvelin. Jokainen. Single. Time. Puh!

Jos työskentelet useiden eri laitteiden kanssa, olet luultavasti huomannut myös pieniä eroja Android-versioiden, valmistajien jne. välillä, jotka saattavat lisätä tai muuttaa välityspalvelimen määrittämiseen liittyviä vaiheita.

On olemassa pieni adb-komento, jonka voit suorittaa päätelaitteesta ottaaksesi käyttöön globaalin välityspalvelimen yhdistetyssä laitteessasi:

adb shell settings put global http_proxy YOUR_IP:YOUR_PORT

Mutta tämä ei anna mitään visuaalista ilmaisinta, jonka perusteella tietäisit, käyttääkö laite välityspalvelinta vai ei. Se edellyttää myös, että laite on kytketty tietokoneeseen, johon on asennettu adb joka kerta, kun haluat ottaa välityspalvelimen käyttöön tai poistaa sen käytöstä… minkä vuoksi tämän kiertotien käyttäminen ei luultavasti ole ihanteellisin ratkaisu.

Nyt minulla on sinulle hyviä uutisia.

Proxy Toggle on pieni Android 5.0:n ja sitä uudempien versioiden kanssa yhteensopiva apuohjelmasovellus, jonka avulla voit ottaa välityspalvelinasetukset käyttöön ja poistaa ne käytöstä nopeasti sekä yhtenäistää ja yksinkertaistaa prosessia alustaversioilla, laitteilla, valmistajilla, jne.

Proxy Toggle mahdollistaa globaalin välityspalvelimen määrityksen yhdellä napautuksella

Helppo käyttöönotto: lisää vain haluamasi IP-osoite ja portti, ota välityspalvelin käyttöön ja voilà! kaikki on valmista, koko laitteesi on välityspalvelin.

Se tekee siitä vielä helpompaa

Tiedän, että tämä kaikki on jännittävä uutinen. Mutta minusta tuntuu myös, että sovelluksen avaaminen joka kerta, kun haluat ottaa välityspalvelimen käyttöön, saattaa olla myös pitkä prosessi… eikö niin?

Sentähän varten lisäsin myös kaksi valinnaista pikakuvaketta käyttöösi: aloitusnäytön widgetin ja pika-asetusten laatan.

Kotinäytön widgetti

Tästä pikakuvakkeesta on paljon apua, kun haluat ottaa käyttöön ja poistaa käytöstä viimeksi käyttämäsi välityspalvelimen käytöstäsi nopeasti aloitusnäytöltäsi.

Widgetin lisäämiseksi painat normaalisti pitkään aloitusnäyttöäsi (riippuen launcheristasi), valitset Add Widget (Lisää Widget) ja selaat sovellusluetteloa alaspäin, kunnes näet Proxy Toggle -widgetin.

Kotinäytön widget määrittää viimeksi käytetyn välityspalvelimen automaattisesti

Se on siinä! Kytke välityspalvelimesi päälle ja pois päältä yhdellä napautuksella!

Pika-asetusten laatta

Jos laitteessasi on Android 7.0 tai uudempi, saat käyttöösi toisen hämmästyttävän pikakuvakkeen: Pika-asetusten laatan. Tämä pikakuvake sijaitsee Ilmoituslaatikossasi muiden kätevien pikakuvakkeiden, kuten WiFi, Sijainti, Bluetooth, Lentokonetila jne. vieressä.

Voidaksesi ottaa sen käyttöön, laajenna yksinkertaisesti Navigointilaatikko, napsauta Muokkaa-kuvaketta ja vedä Välityspalvelimen vaihtokuvake sinne, minne haluat sen sijoittaa.

Kun olet ottanut sen käyttöön, pika-asetusten laatta on loistava pikakuvake välityspalvelimen vaihtamiseen

Valmis! Voit kytkeä välityspalvelimen päälle ja pois päältä poistumatta edes nykyisestä sovelluksesta!

Huomautus: jos sinulla on käynnissä verkkopuheluita, niiden loppuunsaattaminen ja päivittäminen uuteen asetukseen saattaa kestää muutaman sekunnin.

Kaikki mikä kiiltää ei ole kultaa

Vaikka sovellus täyttää tavoitteensa täydellisesti ja tekee elämästämme helpompaa, on tässä kiiltävässä sovelluksessa pari varoitusta, jotka haluan tuoda esiin.

Järjestelmän rajoitettujen käyttöoikeuksien käyttäminen

Sovellus käyttää Settings.Global. Koska tämä on järjestelmäasetus, se on normaalisti vain lukuasetus. Tämä pieni hankaluus ohitetaan myöntämällä sovellukselle WRITE_SECURE_SETTINGS rajoitettu käyttöoikeus.

Huomaa: tämä on suojattu käyttöoikeus, joka tulisi myöntää vain järjestelmäsovelluksille. Ole erityisen varovainen, kun myönnät tämän oikeuden tuntemattomista lähteistä peräisin oleville sovelluksille.

Tiedän, että tämä saattaa herättää huolta, ja ymmärrän sen.
Sentähden päätin tehdä projektista avoimen lähdekoodin: todistaakseni, että tämän luvan myöntäminen on täysin turvallista, koska sinulla on täysi kontrolli ja tieto siitä, mitä kulissien takana tapahtuu.

Systeemin rajoitettujen oikeuksien myöntäminen

Koska tämä on rajoitettu oikeus, emme voi pyytää sitä ajonaikana, kuten normaalisti, joten sinun on myönnettävä se manuaalisesti tietokoneeltamme.

Jos haluat vain asentaa sovelluksen rakentamatta sitä Android Studiosta, on olemassa pieni skripti, joka tulee sovelluksen mukana. Lataa vain zip-tiedosto ja suorita installAndGrantPermission.sh-skripti.
Vaihtoehtoisesti voit asentaa sovelluksen manuaalisesti suorittamalla adb install -g App.apk terminaalissa.

Voidaksesi myöntää tämän luvan, kun sovellus on jo asennettu, liitä laite tietokoneeseesi ja suorita seuraava komento terminaalissa:

adb shell pm grant com.kinandcarta.create.proxytoggle android.permission.WRITE_SECURE_SETTINGS

Ole varovainen, kun poistat sovelluksen asennusta

Kehittäjinä emme valitettavasti voi suorittaa mitään koodia sovelluksen poistamisen aikana. Siksi sovelluksen poistaminen välityspalvelimen ollessa käytössä jättää laitteesi pysyvästi tähän asetukseen (koska kyseessä on Settings.Global-konfiguraatio!).

Varmista, että välityspalvelin on poistettu käytöstä ennen sovelluksen poistamista. Koska emme voi taata, että näin tapahtuu, on myös uninstallAndCleanUp.sh-skripti, jolla voit varmistaa, että kaikki on puhtaassa tilassa sovelluksen poistamisen jälkeen.

Vaihtoehtoisesti voit ajaa seuraavat komennot päätelaitteessa puhdistaaksesi välityspalvelimen asetukset:

adb shell settings delete global http_proxy
adb shell settings delete global global_http_proxy_host
adb shell settings delete global global_http_proxy_port

Mukavuutta sormenpäilläsi

Proxy Toggle helpottaa globaalin välityspalvelimen asettamista missä tahansa Android-puhelimessa sekä tarjoaa erilaisia pikanäppäimiä välityspalvelimen ottamiseksi käyttöön ja poistamiseksi käytöstä yhdellä napautuksella näytöllä. Toivottavasti tämä työkalu on yhtä hyödyllinen tiimillesi kuin se on ollut sisäiselle sovellustiimillemme, sekä kehittäjille että testaajille!

Voit ladata uusimman version täältä tai kloonata projektin Githubista.

Monet kiitokset ainutlaatuiselle ja uskomattomalle Flor Novellolle korvaamattomasta avusta sovelluksen suunnittelussa!

Vastaa

Sähköpostiosoitettasi ei julkaista.