Debian

Android: Jak odratować smartfon po usunięciu partycji /system/

Zawsze mnie zastanawiało jak to jest możliwe, by przez przypadek można było usunąć dane na jeden z kluczowych partycji w smartfonie jaką jest partycja /system/ . Ostatnio wiele osób do mnie pisało z tego typu problemami i zapytaniem "jak odratować w takiej sytuacji telefon". Odpowiedź wydawała mi się prosta: wystarczy wgrać uprzednio zrobiony backup wyczyszczonej partycji via fastboot . Problem w tym, że po usunięciu danych z partycji /system/ , fastboot nie działa. A skąd to wiem? Ano "przez przypadek" usunąłem sobie dane na tej partycji. W sumie to tylko testowałem ficzer w TWRP zwany ADB Sideload, który niby ma za zadanie wgrać ROM z paczki .zip . Coś poszło nie tak i w zasadzie zostałem z pustą partycją /system/ . Przy odpalaniu telefonu w takim stanie, ten w zasadzie jedynie się resetuje co kilka chwil. Może i fastboot nie działa ale można wbić do trybu recovery. Jeśli tylko mamy wgrany TWRP, to jest spora szansa na odratowanie smartfona. W tym artykule w rolach głównych wystąpi Neffos Y5L, który ma SoC od Qualcomm'a, zatem nie damy rady się pobawić SP Flash Tool i całą robotę trzeba będzie odwalić ręcznie.

Budowanie obrazu TWRP recovery ze źródeł OMNI ROM

Gdy zamierzamy zbudować sobie własny ROM na smartfon z Androidem, np. LineageOS (CyanogenMod nie jest już rozwijany) czy nawet jedynie obraz recovery (TWRP albo CWM), to potrzebne nam jest stosowne urządzenie oraz odpowiedni kod źródłowy. Skoro chcemy budować te ww. rzeczy, to prawdopodobnie nasz telefon nie jest przez to oprogramowanie jeszcze wspierany lub też sam soft nie jest regularnie aktualizowany przez dewelopera. W zasadzie zarówno pełne ROM'y jak i obrazy recovery są budowane ze źródeł Androida. Niemniej jednak, oficjalny kod dostarczany przez Google budzi czasem wiele kontrowersji i ci nieco bardziej zaawansowani użytkownicy zmieniają go, np. czyniąc go w pełni OpenSource czy też implementując w nim pewną niestandardową funkcjonalność. Tak powstają Custom ROM'y, które w późniejszym czasie z racji swojej popularności przestają być "Custom" i zaczynają żyć swoim własnym życiem obok tego Góglowskiego Androida. W przypadku budowania obrazu recovery nie są nam potrzebne całe źródła konkretnego ROM'u. Jakby nie patrzeć, potrafią one zajmować trochę miejsca, a poza tym proces ich budowania jest stosunkowo czasochłonny. Tak czy inaczej, jakieś źródła trzeba pozyskać i przygotować je do dalszej pracy. W tym artykule nie będziemy sobie jeszcze budować całego ROM'u i skupimy się na zbudowaniu od podstaw jedynie obrazu TWRP recovery ze źródeł OMNI ROM. Ten proces zostanie pokazany na przykładzie smartfona Neffos Y5 od TP-LINK przy wykorzystaniu systemu linux, a konkretnie dystrybucji Debian.

Android Studio i Android SDK pod linux

Rozpoczynając przygodę z Androidem (tylko taką nieco bardziej deweloperską) trzeba posiadać w systemie szereg niezbędnych narzędzi. Chodzi tutaj oczywiście o Android SDK. Metod na instalację tego pakietu na linux'ie, a konkretnie w dystrybucji Debian, jest co najmniej kilka. Chodzi o to, że Google udostępnia paczkę .zip z Android SDK, którą można pobrać sobie z oficjalnej strony Androida. Dodatkowo, na tej samej stronie mamy coś o nazwie Android Studio, które również jest w stanie nam potrzebne narzędzia dostarczyć. Poza tym, te narzędzia można także skompilować sobie ze źródeł Androida, jak i również zainstalować bezpośrednio z repozytorium samego Debiana. Niemniej jednak, część z tych sposobów nie jest zbytnio wygodna, a pozostała część zakłada, że korzystamy z najnowszej wersji Androida (obecnie Nougat). A co w przypadku, gdybyśmy chcieli operować na Androidzie 5.1 (Lollipop) czy 6.0 (Marshmallow)? Jak zainstalować pasujące wersje narzędzi, by nic nam się nie gryzło ze sobą?

Redshift i dostosowanie temperatury kolorów ekranu

Pewnie spotkaliście się już wiele razy z informacją, że ekrany naszych smartfonów, tabletów czy komputerów szkodzą naszym oczom. Chodzi generalnie o to, że wyświetlacze LCD emitują światło niebieskie, które w nadmiarze nie wpływa dla nas (i naszego wzroku) korzystnie, a przecie każdy z nas siedzi godzinami przed komputerem. W zasadzie te negatywne efekty ciągłego spoglądania na wyświetlacz nasilają się zwłaszcza wieczorami i w nocy. Jeśli pracujemy na laptopie do późna i przy okazji mamy na tej maszynie zainstalowaną jakąś dystrybucję linux'a, np. Debian, to możemy złagodzić skutki zmęczenia oczu przez dobór nieco innej temperatury kolorów wyświetlanego obrazu. W tym zadaniu może nam pomóc oprogramowanie redshift i to jemu będzie poświęcony poniższy wpis.

Jak skonfigurować połączenie VPN przez SSH

Szukając informacji na temat ukrycia ruchu generowanego przez OpenVPN, natrafiłem także na sposób, który wykorzystuje do tego celu połączenie SSH. W efekcie jesteśmy w stanie upodobnić ruch VPN do tego, który zwykle służy do zarządzania zdalnymi systemami linux. Jako, że temat maskowania połączenia VPN jest kluczowy w walce z cenzurą internetu, to im więcej sposobów, by taki zabieg przeprowadzić, tym lepiej. Dlatego też postanowiłem odświeżyć nieco podlinkowany wyżej artykuł i sprawdzić czy jest on jeszcze aktualny. Wprawdzie nie dysponuję Ubuntu, a jedynie dystrybucją Debian ale raczej nie powinno być problemów z odwzorowaniem konfiguracji na tym systemie, choć artykuł jest dość leciwy już i pewnie trzeba będzie kilka rzeczy zaktualizować.

Jak ukryć ruch OpenVPN przy pomocy stunnel

Ci z nas, którzy korzystają codziennie z internetu, wiedzą, że większość nawiązywanych połączeń między dwoma punktami w tej sieci globalnej przechodzi przez szereg węzłów i jest podatnych na przechwycenie i podsłuchanie. Nawet jeśli ruch z określonymi serwisami jest szyfrowany, to w dalszym ciągu nie jesteśmy w stanie ukryć pewnych newralgicznych informacji, takich jak docelowy adres IP i port, na którym nasłuchuje zdalna usługa. Wszystkie połączenia sieciowe zestawiane z naszego komputera czy routera domowego przechodzą przez infrastrukturę ISP, u którego mamy wykupiony internet. Tacy ISP są nam w stanie pod naciskiem rządu zablokować połączenia z konkretnymi adresami wprowadzając na terenie danego kraju cenzurę treści dostępnej w internecie, czego obecnie jesteśmy świadkami w Europie, no i w Polsce. Można oczywiście posiłkować się rozwiązaniami opartymi o VPN, np. stawiając serwer OpenVPN w innym kraju. Problem jednak w tym, że ruch OpenVPN różni się od tego, z którym mamy do czynienia w przypadku choćby HTTPS. Jest zatem możliwość rozpoznania ruchu VPN i zablokowania go stosując głęboką analizę pakietów (Deep Packet Inspection, DPI). By się przed tego typu sytuacją ochronić, trzeba upodobnić ruch generowany przez OpenVPN do zwykłego ruchu SSL/TLS. Do tego celu służy narzędzie stunnel.

Jak skonfigurować serwer VPN na Debianie (OpenVPN)

Co raz częściej słychać w mediach o próbie cenzurowania internetu i blokowaniu dostępu do kolejnych serwisów i stron www. Ostatnio znowu podnieśli kwestię blokowania pokemonów bezpośrednio u ISP tak, by za zgodą ISP (władzy) można przeglądać tego typu serwisy. W sumie mam już tego dość i korzystając z okazji, że posiadam za granicą niewielkich rozmiarów VPS, który i tak nie jest zbytnio obciążony, to postanowiłem sobie skonfigurować na nim serwer VPN w oparciu o oprogramowanie OpenVPN, które jest standardowo dostępne w każdej dystrybucji linux'a. Proces konfiguracji serwera jak i klienta z zainstalowanym Debianem zostanie opisany poniżej. Niemniej jednak, inne urządzenia takie jak routery WiFi i smartfony również wymagają zaimplementowania w nich mechanizmu szyfrującego ruch ale te rozwiązania zostaną opisane w osobnych wątkach.

Przesyłanie dźwięku i plików ze smartfona przez bluetooth

Praktycznie każdy telefon czy komputer/laptop jest wyposażony już w adapter bluetooth. Obecnie coraz rzadziej ten protokół jest wykorzystywany do przesyłania plików jako takich, bo przecie mamy WiFi. Niemniej jednak, w starszych modelach urządzeń bluetooth może być dla nas jedyną opcją, by przesłać pliki bezprzewodowo. Nawet jeśli dysponujemy smartfonem z jednym z nowszych Androidów, to i tak są pewne sytuacje, w których bluetooth może znaleźć ciekawe zastosowanie, np. streaming dźwięku. Urządzenia bluetooth bardzo często sprawiają problemy pod linux i przydałoby się zebrać trochę informacji na temat ich konfiguracji, by przesyłanie dźwięku i plików nie stanowiło dla nas większego wyzwania w sytuacjach podbramkowych, gdzie wszelkie inne alternatywy komunikacji zawodzą.

Android: Jak zainstalować ADB i fastboot pod linux

Bawiąc się smartfonem Neffos C5 od TP-LINK chciałem sprawdzić czy da radę zainstalowanemu na nim Androidowi 5.1 (Lollipop) zrobić root'a. Chodzi o uzyskanie dostępu administracyjnego do systemu plików na flash'u telefonu. Proces się powiódł, z tym, że by do niego przystąpić, potrzebne są narzędzia takie jak adb i fastboot , bo przy ich pomocy możemy sterować telefonem, np. z poziomu jakiegoś linux'a. Niemniej jednak, system komputera jak i smartfona trzeba pierw przygotować odpowiednio, by taka komunikacja była możliwa i ten proces zostanie właśnie opisany poniżej.

Jak przenieść kontakty ze starego telefonu do smartfona

Przy zmianie telefonu, zwłaszcza z tych nieco starszych na te nowsze smartfony, może pojawić się problem z przeniesieniem listy kontaktów. Jeśli nasz stary telefon ma slot na kartę SD, to kontakty zapisane w pamięci tego telefonu można zrzucić na kartę SD i na nowym telefonie z niej zaimportować. Co jednak w przypadku, gdy nasz stary telefon nie dysponuje takim slotem, a my na liście kontaktów mamy zapisanych ze 100-200 pozycji albo nawet i więcej? Nie będziemy raczej przepisywać każdego kontaktu ręcznie, bo trochę się nam z tym zejdzie. Możemy za to nieco inaczej podejść do procesu przenoszenia kontaktów. Najprościej to wykonać backup listy kontaktów starego telefonu do pliku i zapisać go na komputerze. Oczywiście zwykle jest do tego celu potrzebny przewód USB, bluetooth czy IrDA. Na linux'ach będzie nam także niezbędne narzędzie Wammu, które umożliwi nam zrobienie takiego backupu.