Gidder: GIT server ve vašem telefonu

Adam Štrauch 30. 11. 2012

Verzovací systém GIT už prolezl do mnoha projektů a byl portován na mnoho operačních systémů. Dneska se podíváme na jeden zdařilý port pro operační systém Android. Nástroj se jmenuje Gidder a kombinuje v sobě SSH server s GITem pro ARM platformu. Jeho cílem je vytvořit prostředí pro GIT repositáře.

Pokud tento článek čtete, pravděpodobně víte, co je to GIT a jak se používá a tento odstavec můžete přeskočit. GIT vznikl jako sada nízkoúrovňových nástrojů pro správu verzí, které se postupně vyvinuly samostatného balíku, aniž by uživatelé potřebovali další berličky pro jeho pohodlné používání. Dnes je GIT široce používán a vznikly pro něj služby jako GitHub nebo BitBucket. Pokud chcete GIT repositáře spravovat na svém serveru, pomůže vám v tom gitolite, ale stejně dobře poslouží SSH, rsync, HTTP nebo FTP. GIT je decentralizovaný a pro commitování změn nepotřebujete žádné připojení nebo vzdálený server Stačí v klidu dělat změny a když je vše hotovo, poslat je na požadované místo, ať už to je nějaký GIT repositář nebo e-mailová adresa.

Velkou výhodou GITu je jeho jednoúčelovost. Drží se na svém písečku, spravuje změny v kódu a zbytek nechává na ostatních. Potom nemá problémy s komunikací přes takové množství protokolů a není moc velký problém ho dostat na různé platformy. Androidí aplikace Gidder toho využila a přináší GIT repositáře do vašeho telefonu. Přístup k nim je pak realizován přes WiFi připojení.

Gidder je složen ze třech základních částí. Tou první je port GITu na ARM platformu. Ten je trochu osekaný, protože nepotřebuje podporovat vše co se v GITu nachází, ale pouze operace push, pull, fetch a clone. Druhou částí je SSH server, který ve výchozím stavu poslouchá na portu 2222 a kromě komunikace mezi vámi a GITem v telefonu se stará o správu uživatelů. Tady trochu zamrzí absence podpory ověřování přes klíče, ale není nikde psáno, že to zítra nemůže být jinak. Gidder je mladá aplikace a označená jako beta. Tím se autor spíše chrání, než že by se aplikace chovala nějak nestabilně nebo ztrácela data.

Poslední částí je frontend, kterým se konfiguruje SSH server, GIT repositáře a zároveň se oba nástroje integrují do operačního systému. Když například vyjdete z domu a ztratíte signál vaší WiFi sítě, SSH server se automaticky vypne a v okamžiku, kdy se dostanete do dosahu známé sítě, se opět zapne. Přecházení mezi sítěmi není uživatelsky přívětivé, a tak Gidder přišel s podporou Dynamic DNS. S touto službou Gidder dynamicky nastaví doménové jméno vašeho telefonu podle jeho aktuálního připojení a nemusíte tak zjišťovat, na jaké adrese běží. Oba podporovaní Dynamic DNS operátoři (No-IP, DynDNS) nabízejí pouze placené služby, jejichž cena nemusí být akceptovatelná pro všechny uživatele. Gidder však aktuální adresu, na které SSH poslouchá, nějak neskrývá, takže bez Dynamic DNS se v pohodě obejdete.

Pokud vás Gidder zaujal, není nic jednoduššího než přejít na Google Play a nainstalovat si ho.

Konfigurace

Po spuštění Gidderu se objeví úvodní obrazovka, kde najdete přístup k nastavení chování aplikace, nastavení Dynamic DNS a také repositářů a uživatelů. Z tohoto místa lze také zapnout či vypnout SSH server a vidíte tu aktuální adresu SSH serveru. Po tapnutí na ikonku nastavení na levé straně se dostanete do konfiguračního dialogu, kde lze ovlivnit chování Gidderu vůči vašemu systému. To znamená vypínání/zapínání SSH serveru společně s WiFi připojením, nastavení portu SSH serveru, notifikace v notifikační oblasti a najdete tu také odkaz na tento video tutoriál.

Pod prostředním tlačítkem s nápisem Setup se nachází nastavení uživatelů a repositářů. Uživatele je možné vytvořit i ze seznamu kontaktů. Každému účtu můžete nastavit jméno, uživatelské jméno, e-mail a heslo pro přístup k jeho repositářům. Existující účty lze libovolně aktivovat či deaktivovat a po rozkliknutí detailu je k dispozici přehledný výpis repositářů, ke kterým má uživatel přístup, včetně oprávnění pro push (zápis), pull (čtení) či obojí. Oprávnění pro další repositáře lze odsud doplnit.

Velmi podobně se pracuje s repositáři. U těch je třeba nastavit jméno, popis a cestu, pod kterou budou dostupné. Práva k repositáři se nastavují až po jeho vytvoření. I odsud se dá nastavit, který uživatel může číst a který i zapisovat.

Použití

Na screenshotu jsem nastavil „Testovací repositář“ s cestou „test“, takže za předpokladu, že má telefon adresu 192.168.1.2, bude adresa k tomuto repositáři vypadat takto:

ssh://192.168.1.2:2222/test.git 

V případě, že se podařilo nastavit i uživatele a správná práva, mělo by být možné repositář naklonovat na jakémkoli počítači, který na adresu telefonu může přistoupit.

$ git clone ssh://test@192.168.1.2:2222/test.git
Cloning into 'test'...
test@192.168.1.2's password:
warning: You appear to have cloned an empty repository. 

V repositáři nic není, takže tam něco přidáme a odešleme změny zpět:

$ echo 1234 > data.txt
$ git add data.txt
$ git commit
$ git push ssh://test@192.168.1.2:2222/test.git 

V praxi se gidder chová stabilně, Používám ho 14 dní pro vývoj serverové administrace o velikosti asi 85 MB a několika tisíc souborů a narazil jsem na jediný problém. Když SSH server běží a vypne se displej, tak po pár minutách přestane na IP adrese WiFi rozhraní naslouchat. Stačí SSH server vypnout a zapnout a vše je v pořádku. Nesetkal jsem se s žádnou fatální chybou, kvůli které bych přišel o data.

widgety

Data jsou ukládána na SD kartu do adresáře gidder, takže když se něco stane, je možné se k němu dostat připojením telefonu přes USB kabel.

Shrnutí

Osobně si Gidder nedokážu představit jako aplikaci, kterou bych každý den používal. Připojení k internetu je dnes na každém rohu a máme i relativně dostupné mobilní připojení, takže od GIT repositářů na vzdálených serverech je těžké se odříznout. Ale určitě si umím Gidder přestavit třeba v domácím multimediálním centru, které slouží zároveň jako úložiště dat. Aplikace je jinak na profesionální úrovni, má dobré a intuitivní uživatelské rozhraní a neobsahuje žádné fatální chyby.

Našli jste v článku chybu?
Root.cz: Hořící telefon Samsung Note 7 zapálil auto

Hořící telefon Samsung Note 7 zapálil auto

Vitalia.cz: Tesco nabízí desítky tun jídla zdarma

Tesco nabízí desítky tun jídla zdarma

Lupa.cz: Patička e-mailu závazná jako vlastnoruční podpis?

Patička e-mailu závazná jako vlastnoruční podpis?

DigiZone.cz: Slovensko: startuje sportovní TV 213

Slovensko: startuje sportovní TV 213

DigiZone.cz: Digi2GO: výborný základ, ale...

Digi2GO: výborný základ, ale...

Podnikatel.cz: ČSSZ posílá přehled o důchodovém kontě

ČSSZ posílá přehled o důchodovém kontě

Vitalia.cz: Jak Ondra o astma přišel

Jak Ondra o astma přišel

Vitalia.cz: dTest odhalil ten nejlepší kečup

dTest odhalil ten nejlepší kečup

Vitalia.cz: Jsou vegani a vyrábějí nemléko

Jsou vegani a vyrábějí nemléko

Vitalia.cz: Muž, který miluje příliš. Ženám neimponuje

Muž, který miluje příliš. Ženám neimponuje

120na80.cz: Co je padesátkrát sladší než cukr?

Co je padesátkrát sladší než cukr?

Lupa.cz: Další Češi si nechali vložit do těla čip

Další Češi si nechali vložit do těla čip

DigiZone.cz: Rapl: seriál, který vás smíří s ČT

Rapl: seriál, který vás smíří s ČT

DigiZone.cz: Digi Slovakia zařazuje stanice SPI

Digi Slovakia zařazuje stanice SPI

DigiZone.cz: DVB-T2 ověřeno: seznam TV zveřejněn

DVB-T2 ověřeno: seznam TV zveřejněn

Vitalia.cz: Voda z Vltavy před a po úpravě na pitnou

Voda z Vltavy před a po úpravě na pitnou

Podnikatel.cz: Udělali jsme velkou chybu, napsal Čupr

Udělali jsme velkou chybu, napsal Čupr

DigiZone.cz: Na jaká videa se vlastně díváme

Na jaká videa se vlastně díváme

DigiZone.cz: Světový pohár v přímém přenosu na ČT

Světový pohár v přímém přenosu na ČT

Lupa.cz: Blíží se konec Wi-Fi sítí bez hesla?

Blíží se konec Wi-Fi sítí bez hesla?