Historia Pojazdu na Androida

Tym razem wyjątkowo piszę po polsku, bo i sprawa jest typowo polska. Wczoraj na Google Play pojawił się mój program umożliwiający proste sprawdzenie historii pojazdu z poziomu urządzenia w systemem Android. Jak zauważył pewnie każdy czytający polskie serwisy o tematyce IT pod koniec czerwca MSW udostępniło serwis umożliwiający sprawdzenie historii pojazdu przez Internet. Serwis ten stanowi interfejs dostępu do części danych zgromadzonych w bazie CEPiK.

Widok programu pokazującego podstawowe dane pojazdu

Widok programu pokazującego podstawowe dane pojazdu

Tuż po tym jak przetestowałem funkcjonalność tego serwisu, zadałem sobie pytanie: dlaczego by nie zrobić czegoś takiego na telefon. I tak po kilku dniach pisania oddaję do użytku wszystkim program przenoszący ową funkcjonalność na Androida. Program ten rzecz jasna komunikuje się z serwisem ministerialnym. Jako taki wymaga on więc do pobrania danych takich samych danych wejściowych, czyli: aktualnego numeru rejestracyjnego, numeru VIN, daty pierwszej rejestracji oraz, chyba już obowiązkowego we wszystkich formularzach, przepisanego kodu CAPTCHA.

Po wprowadzeniu powyższych danych możliwy jest dostęp do takich informacji jak rok produkcji pojazdu, status jego rejestracji, ważność polisy OC oraz badania technicznego czy też, najbardziej przydatnego chyba (przynajmniej dla potencjalnych kupców danego pojazdu), stanu licznika podczas ostatniego przeglądu. Z tym ostatnim haczyk jest taki, że stan licznika diagności zbierają dopiero od tego roku, jeśli więc auto nie przeszło w tym roku jeszcze przeglądu to musicie obejść się smakiem. Oprócz wymienionych baza udostępnia wiele innych mniej lub bardziej przydatnych danych. Można też pobrać raport w formacie PDF, co również jet funkcją dostępną w oryginalnym serwisie.

W (mam nadzieję niedalekiej) przyszłości mam zamiar dodać kilka funkcji sprawiających, że program ten będzie nieco bardziej atrakcyjny (o ile możliwość użycia smartfona lub tabletu komuś nie wystarcza) niż oryginalny serwis. Kod źródłowy programu jest dostępny (jak zawsze) w serwisie GitHub, dokładniej tu. Udostępniłem go w zasadzie robię z dwóch powodów: po pierwsze zawsze staram się dzielić efektami swojej pracy, po drugie  dane, które powierzą mojej aplikacji użytkownicy są jak by nie patrzeć danymi poufnymi. Dlaczego więc ktoś miałby mi ufać na słowo? Wiem, że takich, niestety, znajdzie się wielu, ale dla tych bardziej uświadomionych technologicznie będzie to dowód, że z ich danymi nie dzieje się nic złego.

Na koniec skoro już jesteśmy przy kwestiach prywatności warto wspomnieć wymagania aplikacji jeżeli chodzi o uprawnienia. Program wymaga dostępu do Internetu (co jest raczej oczywiste) i komunikuje się wyłącznie z serwisem historiapojazdu.gov.pl (niedowiarki niech odpalą sobie emulator i Wiresharka) oraz praw do zapisu na karcie pamięci (wymagane tylko do zapisu PDFa).

BTW: dzisiaj mój GIST powiększył się o prosty programik, napisany w C, jako zadanie z przedmiotu Telekomunikacja, do przesyłania plików przez port szeregowy przy użyciu protokołu XMODEM.

Posted in Uncategorized | Tagged , , , | 2 Comments

O DDoS-ie, który był próbą włamania do paneli WordPressa z użyciem słownika (podobno)

Jak być może niektórzy (czy jest ktoś kto jeszcze potrafi tu trafić) zauważyli moja strona była przez parę ostatnich dni niedostępna. Normalnie odnotowałbym całą tą sytuację i na tym cały post zakończył. Tym razem jest zupełnie inaczej.

Internet ostatnimi czasy cierpi na różne dziwne i niespotykane wcześniej na taką skalę ataki (a przynajmniej do tej pory nie były one w takim stopniu rozgłaszane w mediach). Każda osoba regularnie korzystająca z internetu (przynajmniej ci odwiedzający coś oprócz facebooka i google-i) słyszała pewnie o tym jak pewien anonimowy człowiek postanowił przeskanować cały internet i

Pozycje 1,3,4,5 to w całości dzieło ataku, dwójka: trudno powiedzieć

Pozycje 1,3,4,5 to w całości dzieło ataku,
dwójka: trudno powiedzieć

podzielić się wynikami ze wszystkimi. Niedługo potem ktoś inny przeprowadził atak, który jak niektórzy uważają mógł wpłynąć na spowolnienie internetu w Europie. Teraz pewien botnet (zdaje się, że niezbyt duży) próbuje włamać się do paneu admina na każdej stronie, którą jego operator ma w bazie. A ma ich całkiem sporo. Tym bardziej, że był w stanie trafić także do mnie, co ostatnio bywa trudne, bo niestety zdarzyło mi się wypaść swego czasu z Googli i słabo idzie mi powrót do niego w czym nie pomaga brak nowych postów. Wracając do ataku, ten prawdopodobnie nie byłby w stanie wyrządzić jakiś większych szkód, ponieważ po pierwsze korzystał z dość wąskiego zsobu możliwych loginów i haseł a po drugie sam atak nie trwał prawdopodobnie długo i nie wygenerował jakiejś szalonej liczby zapytań. Dowód obok. Niestety dla mnie mój hosting podjął decyzję, aby zablokować dostęp do wszystkich paneli admina, przy czym konkretne adresy najprawdopodobniej były dopisywane na bieżąco a jako, że ja mam panel logowania na stronie głównej to i ona została do tej listy najpewniej dodana, co skutecznie ubiło całą stronę.

Dzisiaj jednak strona wraca do życia (przynajmniej od strony technicznej). Mam też nadzieję, że w bardzo niedalekiej przyszłości udowodnię, że jej treść także żyje, ma się dobrze i się rozrasta.

Posted in News | Tagged , , , , | Leave a comment

Testy systemu komentarzy

Od dzisiaj trwają testy systemu komentarzy. Na razie możliwe jest komentowanie wyłącznie projektów. Jako zabezpieczenie przed spamem użyta została reCAPTCHA. Zobaczymy czy taki układ będzie się dobrze sprawdzał. W każdym razie nie mam czasu na testowanie innych rozwiązań ani tym bardziej tworzenie jakiegoś autorskiego systemu.

Posted in News | Tagged , , , | Leave a comment

Bezprzewodowe zwyczaje Polaków, czyli statystyki siedmiotysięcznej bazy sieci Wi-Fi

Podstawowe dane

Podstawowe dane

Wiem, że są osoby, które posiadają znacznie większą bazę sieci. W większości przypadków zbierają one wyłącznie najbardziej podstawowe dane. Bardzo często ograniczają się do danych takich jak SSID, BSSID, kanał oraz metoda zabezpieczenia. Posiadanie bardziej szczegółowej bazy nie kosztuje mimo to ani zbyt wiele miejsca, ani też nie utrudnia jej przeglądania. Dlaczego więc nie zapisać wszystkich możliwych danych jakie jest się w stanie poznać? Właśnie z takiego założenia wyszedłem tworząc swoją własną bazę sieci. Jeśli tylko zauważam brak jakiegoś elementu od razu staram się go dodać. Efektem ciągłego r

Ranking SSIDów

Ranking SSIDów

ozwoju jest baza wielkości 7K zawierająca wszystko co można dowiedzieć się o sieci nie wyłączając publicznego adresu IP, jeśli mówimy o hotspocie oczywiście:)

Łącznie baza zawiera 7030 rekordów co widać na obrazku obok. Niestety możliwość określania czy dana sieć jest routerem czy też działa na urządzeniu przenośnym jak np. telefon lub jest drukarką nie udostępniającą połączenia z Internetem (Ad-Hoc) dodałem całkiem niedawno więc takich sieci mam w bazie jedynie 59. Nie wszystkie zostały też z tego powodu określone jako Infrastruktura.

Wśród SSIDów parę dni temu pierwszeństwo objął linksys. Niestety tu ze względu na to, że baza jest mimo wszystko jeszcze dość mała trudno jest stwierdzić, który z nich jest tak naprawdę najpopularniejszy. Ja osobiście postawiłbym jednak na FON_NETIA_FREE_INTERNET a to ze względu na to, że jeszcze kilka miesięcy temu nie miałem ani jednej siec

Kanały 2,4 GHz

Kanały 2,4 GHz

i o takiej nazwie. Jeżeli nie słyszałeś czym są sieci o takiej nazwie proponuję odwiedzić np. tą stronę, szczególnie jeśli jesteś jednym z posiadaczy routera od Netii.

Kolejną ciekawą tabelą jest popularność poszczególnych kanałów. Oczywiście to ,że najpopularniejsze są te o numerach 1, 6 i 11 nie jest niczym dziwnym. Praktycznie nie da się zebrać danych tak, aby któryś z nich nie pojawiał się najczęściej. Ciekawsze jest to, że spośród pozostałych wybija się kanał 10. W tym wypadku wyjaśnienie można znaleźć przeglądając sieci działające na tym kanale: ponad 300 z nich stanowią Livebox-y Telekomunikacji, co daje ponad połowę całości. Najciekawsze jednak są dwie sieci działające na kanale 14. Jak wie każdy kto interesuje się zagadnieniem sieci bezprzewodowych kanał ten jest dozwolony na terenie Japonii. W Polsce można korzystać z pozostałych 13 kanałów. Wygląda więc na to, że są to przypadki ewidentnego łamania prawa. Ciekaw jestem jak będzie wyglądała współpraca takiej sieci (a raczej zakłócenia jakie będzie powodowała) z budowaną przez Aero siecią LTE działającą na 2,5 GHz, na które owy kanał się zazębia.

Jeżeli chodzi o rodzaje zabezpieczeń najpopularniejszy ciągle jest WPA-PSK. Niestety tu także mogą jeszcze występować pewne zniekształcenia. Ich powodem jest fakt, że program wykorzystywany do niedawna do zbierania danych (barbelo) nie rozróżniał WPA od WPA2, więc wszystkie znalezione sieci zapisywane były jako WPA-PSK. Jak widać jednak WPA2 już praktycznie przegonił WPA, dzięki czemu można spokojnie uznać, że to on jest najczęściej wykorzystywany. Amatorzy cudzego internetu mimo wszystko nie mają jeszcze najmniejszych powodów do narzekań. Sieci nie używających szyfrowania wciąż jest całkiem sporo i raczej nie zapowiada się żeby te sieci znikły lub zostały ponownie skonfigurowane. Co ciekawe już na samym początku używania aplikacji od WiGLE udało mi się znaleźć kilka sieci używających dość niestandardowe szyfrowanie WPA Enterprise (41

Rodzaje zabezpieczeń

Rodzaje zabezpieczeń

z WPA w wersji pierwszej i 34 w wersji drugiej). Można przypuszczać, że wśród większych użytkowników WiFi typu dużych firm czy uczelni (te drugie raczej przeważały w tym co mam teraz w bazie) dbałość o bezpieczeństwo jest na całkiem wysokim poziomie.

Wśród producentów dłuższy komentarz jest raczej zbyteczny. Tu całość została w ostatnich latach zdominowana przez chińską firmę TP-Link i raczej nie zanosi się na jakiekolwiek zmiany. No chyba, że dogoni go drugi chiński producent – ZTE. Pozostałe marki przestały się już praktycznie liczyć. Po tym których z nich przybywa najczęściej możnaby sądzić, że innych producentów wybierają już tylko firmy. Szczególnie jeśli chodzi o dawnych “władców” tego rynku – D-Linka i Linksysa. Na korzyść producentów z Chin przemawia na dodatek to, że są oni dość często wybierani przez dostawców internetu a to u nich większość użytkowników kupuje sprzęt.

Na deser zostały statystyki poszczególnych miast. Niestety dość trudno jest określić która sieć gdzie leży w

Ranking producentów

Ranking producentów

ięc także te statystyki są niekompletne. Można mimo to założyć, że podane grupy odzwierciedlają całość tym bardziej, że te kolorowe paski raczej się nie zmieniają. Tu reguła wygląda mniej więcej tak, że im większe miasto tym mieszkańcy bardziej są świadomi zagrożeń związanych z korzystaniem z niezabezpieczonej sieci (a może raczej osoby, które te sieci konfigurują bo założę się, że większość użytkowników nie ma o tym najmniejszego pojęcia). Niestety muszę z przykrością stwierdzić, że moje miasto wypada tu najsłabiej. Częściowo ten problem powoduje lokalny dostawca internetu, ale niestety wśród użytkowników także panuje widać przekonanie, że w tak małym mieście nikt im się nie włamie. Oby.

Na tym kończę dość ogólny mimo wszystko przegląd sieci. Być może gdy uda mi się zebrać więcej danych pokuszę się o kolejne podsumowanie. Takie coś dość dobrze odzwierciedliłoby zmiany we wszystkich poruszonych zagadnieniach. No cóż, w każdym razie nic jeszcze nie obiecuję.

Podział na miasta

Podział na miasta

Posted in Uncategorized | Tagged , , , , , , , , | Leave a comment

Mapa wifi zawieszona po raz kolejny, przesiadka na wigle.net

Od dzisiaj przestaję aktualizować bazę Mapy wifi. Tym samym wszystkie swoje wisiłki w celu utworzenia jak największej bazy urządzeń sieciowych i dzielenia się nimi przerzucam na swoje konto w serwisie wigle.net. Niestety nie udostępnia on możliwości przeglądania baz poszczególnych użytkowników więc przeglądanie znalezionych przeze mnie sieci przestaje być już możliwe. Mapa ze starą bazą wciąż będzie dostępna, ale przestanę usuwać z niej sieci, które znikną bądź już zniknęły z eteru i oczywiście nie zostanie dodana już żadna nowa sieć.

Jak coniektórzy być może już zdążyli zauważyć do bazy wigle udało mi się już dodać całkiem sporo sieci. Poza tym prowadzę jeszcze jedną prywatną bazę sieci. W tej drugiej bazie możliwe jest przechowywanie znacznie większej liczby danych dzięki czemu możliwa jest analiza trendów jakie panują wśród posiadaczy urządzeń sieciowych. W najbliższym czasie postaram się zebrać najciekawsze ze statystyk owej bazy i umieścić je w osobnym wpisie. W tej chwili baza zawiera ponad 3K rekordów a po całkowitym połączeniu jej z bazą jaka utworzyła mi się na androidowej aplikacji wigle na pewno grubo przekroczy 5K. Będzie to więc całkiem wiarygodny materiał do podsumowania tego co w “bezprzewodowej Polsce” jest najpopularniejsze.

Wracając do Mapy wifi istnieje prawdopodobieństwo, że tak jak za każdym poprzednim razem tak i teraz aktualizacje zostaną wznowione. Na razie jednak mam parę innych rzeczy do zrobienia a Mapa ma wśród nich póki co najniższy priorytet.

Posted in News | Tagged , , , , | Leave a comment

Nowy program w dziale projekty: POLcheck

POLcheck jest programem umożliwiającym sprawdzenie poprawności oraz odczytanie zakodowanych danych z polskich numerów identyfikacyjnych. Do numerów tych należą PESEL, NIP, REGON oraz księga wieczysta. Przy pisaniu tego programu ograniczyłem się tylko do możliwości walidacji oraz odczytywania danych chociaż jeden z poprzednich programów –myPESEL miał możliwość także ich generowania. Zrobiłem tak, bo funkcja tworzenia fałszywych numerów jest raczej mało popularna, a jej dołączenie do tego programu wydłużyłoby tylko czas potrzebny na jego stworzenie.

Względem wszystkich poprzednich programów na Windowsa jakie napisałem do tej pory ten wyróżnia się wykorzystaniem biblioteki sqlite. Do tej pory żaden z ukończonych programów (wśród tych, których nigdy nie skończyłem zdarzały się próby wykorzystania DLLek) nie korzystał z żadnej z bibliotek. Tym razem okazało się, że ułatwiła mi ona bardzo pracę. Została wykorzystana do obsługi baz danych na temat NIPów, REGONów oraz ksiąg wieczystych. Dzięki niej możliwe jest też łatwe aktualizowanie baz, które stworzyłem (a te są dość niekompletne ze względu na dużą ilość danych jakie trzebaby do nich wprowadzić). Oczywiście każda pomoc w uzupełnianiu baz NIP i REGON jest mile widziana. Niestety wykorzystanie sqlite-a sprawiło, że program waży o wiele więcej niż inne moje projekty (prawie 2 mega).

Aktualizacje do programu będą udostępniane w dziale projekty, a dokładniej tu.

Posted in Uncategorized | Tagged , , , , , , | Leave a comment

[Android] Odblokowywanie kanałów 12, 13, 14

Jak wspomniałem w swoim pierwszym wpisie dotyczącym Androida na tym systemie niemożliwe jest połączenie się z siecią działającą na kanale wyższym niż 11 (a więc takim, który jest zabroniony w USA). Ja jednak nie mieszkam w Stanach i chciałbym, aby mój telefon miał dostęp przynajmniej do tego co nie jest w Polsce nielegalne. Na szczęście udało mi się znaleźć rozwiązanie tego problemu.

Użycie tej metody wymaga dostępu do roota, więc jeśli twój telefon nie został jeszcze zrootowany odsyłam do strony Zeely’ego. Kolejnym wymaganiem będzie zainstalowanie do folderu bin sqlite’a (nie wiedzieć czemu ten, który można używać prze adb przestaje działać gdy wpiszemy w konsoli su). Potrzebne też będzie SDK Adroida (będę używał go, aby przeklejać komendy do konsoli, nada się też każdy emulator terminala np. Terminal IDE, ale tu trzeba będzie wszystko pisać ręcznie). Radzę też żeby koniecznie wykonać backup systemu z użyciem CWM (mnie przy pierwszej próbie coś poszło nie tak i musiałem przywracać kopię z poprzedniego dnia).

  1. Podłączamy telefon do komputera w trybie debugowania USB. Wchodzimy w Ustawienia=>Aplikacje i zaznaczamy Debugowanie USB.
  2. Potem należy uruchomić konsolę Windowsa (lub terminal gdy używamy Linuksa) i przejść do folderu, w którym zainstalowaliśmy SDK. Wpisujemy adb shell. Gdy wszystko pójdzie dobrze powinniśmy być już w konsoli naszego telefonu (pojawi się znak $). Można teraz wpisać su, aby uzyskać uprawnienia roota (# oznacza sukces).
  3. Aby móc zmodyfikować folder /system należy zamontować go do zapisu. Używamy komendy mount, aby odnaleźć odpowiednie urządzenie:
    $ mount
    mount
    rootfs / rootfs ro,relatime 0 0
    tmpfs /dev tmpfs rw,relatime,mode=755 0 0
    devpts /dev/pts devpts rw,relatime,mode=600 0 0
    proc /proc proc rw,relatime 0 0
    sysfs /sys sysfs rw,relatime 0 0
    tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
    tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
    /dev/block/mtdblock0 /system yaffs2 ro,relatime 0 0
    /dev/block/mtdblock3 /data yaffs2 rw,nosuid,nodev,relatime 0 0
    /dev/block/mtdblock2 /cache yaffs2 rw,nosuid,nodev,relatime 0 0
    /dev/block/mtdblock1 /data/idd yaffs2 rw,nosuid,nodev,relatime 0 0
    [...]
    $

    Właściwa linia została pogrubiona. Wpisujemy więc mount -o remount,rw -t rfs /dev/block/mtdblock0 /system (uwaga! Wartość po /dev/block/ może być inna).

  4. Teraz przenosimy plik sqlite3 (dostępny do pobrania na końcu wpisu) do folderu, w którym zainstalowane jest adb. Otwieramy w tym samym folderze drugie okno konsoli i wpisujemy w nie adb push sqlite3 /sdcard/ czym kopiujemy sqlite3 na kartę pamięci (tutaj ważne jest, żeby karta pamięci NIE była zamontowana w komputerze tj. w trybie MSC).
  5. Wracamy do poprzedniego okna, w którym wpisujemy cp /sdcard/sqlite3 /system/bin oraz chmod 4755 /system/bin/sqlite3.
  6. Na koniec montujemy system znów do odczytu: mount -o remount,ro -t rfs /dev/block/mtdblock0 /system.
  7. Teraz możemy wpisać sqlite3 i sprawdzić czy wszystko poszło pomyślnie. Jeśli tak przechodzimy do modyfikacji właściwego pliku.
  8. Zostajemy w tej samej konsoli (tą drugą można już zamknąć). Wpisujemy: sqlite3 /data/data/com.android.providers.settings/databases/settings.db “INSERT INTO secure (name, value) VALUES (‘wifi_country_code’, ‘JP’);”. Gdybyś nie chciał odblokowywać bądź co bądź zakazanego w Polsce kanału 14 możesz zmienić JP na EU w powyższej linii.
  9. Restartujemy telefon. Gdy system włączy się kanały 12,13 i 14 powinny już zostać odblokowane i powinno być już możliwe połączenie się z siecią na tych kanałach.

Nie jestem w stanie tego teraz sprawdzić, bo już zainstalowałem sqlite3 powyższą metodą, ale najpewniej, aby dokonać jego instalacji wystarczyłoby użyć jakiegokolwiek menadżera umożliwiającego modyfikację folderu /system. Potem wystarczyłoby tym samym programem zmienić chmody tak, aby możliwe byłoby wykonywanie pliku. Tym samym możnaby wtedy pominąć punkty 3-6.

Posted in Tutorials | Tagged , , , , , , , | Leave a comment

Zmiany, zmiany, zmiany

Mogę spokojnie powiedzieć: wreszcie! Poprzedni skrypt już od dłuższego czasu nadawał się jedynie do tego żeby trafić na śmietnik. Dzisiaj to właśnie się stało. Po kilku tygodniach pracy nowy skrypt działa już bezproblemowo. Pojawienie się nowej wersji strony zapowiadałem już w tekście o problemach z mod_rewrite. Na tą chwilę jest to ciągle jeszcze faza beta, ponieważ kilka funkcji nie jest jeszcze gotowych, a ich napisanie zajmie mi jeszcze trochę czasu. Właściwie najważniejszą z niegotowych funkcji jest system komentarzy, który miałem w planach już od dość dawna, ale sposób w jaki był skonstruowany poprzedni skrypt zniechęcał do przeprowadzania nawet najmniejszych modyfikacji. Teraz w temacie komentarzy właściwie zostało mi już tylko przemyśleć w jaki sposób obronić się przed spambotami, które prędzej czy później muszą tu znowu trafić.

Przy okazji zmiany skryptu uporządkowałem też nieco treść strony, przede wszystkim wyrzuciłem artykuły z działów Personalizacja i Polecane, tym samym oba działy przestały istnieć (zresztą pewnie i tak bym do nich nic już nie dodał). Mimo wszystko treści jakie tam się znajdowały były (a przynajmniej tak mi się wydaje) dość ciekawe, więc nie usuwam wszelkich śladów po nich. Poniżej znajduje się lista co ciekawszych aplikacji z działu Polecane:

  • Orbitron – pokazuje w czasie rzeczywistym pozycje satelitów
  • MD4/MD5/SHA1 GPU Password Recovery – sama nazwa mówi wszystko
  • CellTrack – wykrywa BTSy z którymi łączy się telefon [Symbian]
  • SuperScan 3.0 – skaner portów
  • Barbelo – coś jak Kismet tyle, że na Symbiana
  • BSP Viewer – bardzo ciekawy program potrafiący odczytać mapy do HalfLife/CS

W drugim z działów znajdowały się głównie skompletowane przeze mnie pakiety ikon oraz tapet. Te znikają, ponieważ większość z tych informacji ściągnąłem z internetu, głównie przez Google Images, więc trudno powiedzieć jak wygląda sytuacja z prawami autorskimi do nich, w każdym razie nie zamierzam przez nie mieć żadnych kłopotów i zawczasu przenoszę wszystko do mojego Chomika (hasło: v3l0c1r4pt0r.tk).

Na tą chwilę w artykułach będzie znajdować się jedynie sekcja dla osób nie rozumiejących polskiego, a po statystykach widzę, że takowe czasami tu zaglądają. Szkoda byłoby więc żeby po zobaczeniu, że strona jest w języku dla nich nie zrozumiałym od razu z niej uciekały. W sekcji tej będą więc wszystkie aplikacje, w których zastosowałem swój moduł językowy, a więc na razie jedynie SysMonitor.

Myślę, że o tym co nowego pojawiło się wraz z ‘upgradem’ strony wszyscy zauważą sami, nie będę się więc rozpisywał o wszystkich nowościach. Na pewno zauważalny jest nowy layout, oparty już na divach, a nie jak ten poprzedni zbudowany w całości na tabelkach, które tak naprawdę już w momencie tworzenia szablonu tamtej strony były przez większość odradzane. Niestety tworząc tamtą stronę jednocześnie uczyłem się najpierw HTMLa, potem CSSa a na koniec PHP, więc większość z tego co tam stworzyłem już teraz wiem, że nie powinna nigdy zostać napisana w ten sposób. Oprócz tego w skrypcie pojawiła się paginacja (podział każdej sekcji na strony), która tak naprawdę była powodem dla którego zacząłem pisać to wszystko od nowa. Można też zauważyć, że po lewej pojawił się formularz logowania. Mimo to nie planuję udostępniać nikomu konta, chociaż od strony technicznej skrypt na to już pozwala. Raczej pole to będzie zawsze służyło jako logowanie wyłącznie do panelu admina. Reszta zmian nie potrzebuje według mnie już żadnego komentarza.

Posted in News | Tagged , , , | Leave a comment

Android – pierwsze wrażenia z przesiadki na nowoczesny smartfon

Niedawno minął miesiąc odkąd stałem się użytkownikiem smartfona z tym systemem. Platforma ta ma oczywiście mnóstwo zalet i stanowi znaczny postęp w stosunku do używanego przeze mnie do tej pory Symbiana. Zalety te są niewątpliwe i nie będę się na ich temat rozpisywał. Zamiast tego zajmę się tym co nie działa tak jak powinno lub w Symbianie było rozwiązane lepiej niż tu.

Jeżeli chodzi o sam telefon to nie miałem zbyt dużego wyboru, bo jako warunek konieczny uznałem klawiaturę QWERTY, która nie jest zbyt popularna więc i ilość modeli była dość ograniczona. Ostatecznie padło na SE Xperia Pro co już teraz mogę powiedzieć było strzałem w dziesiątkę bo jak się okazało jedyne środowisko umożliwaiające pisanie programów dla Androida bezpośrednio na Androidzie nie ma wirtualnej klawiatury a dzięki temu, że mam fizyczną to nie jest dla mnie problemem więc będę mógł pisać apki bez testowania ich najpierw na emulatorze. Zacznę jednak od początku.

wifi

Pierwsze niemiłe zaskoczenie spotkało mnie już dosłownie po paru sekundach po włączeniu telefonu. Każdy nowoczesny telefon byłby bezużyteczny gdyby nie posiadał dostępu do Internetu. Pierwszą rzeczą bylo więc połączenie się z domowym routerem. I tu właśnie spotkało mnie owo niemiłe zaskoczenie. Odnalezienie ustawień sieci nie było problemem mimo, że jest według mnie bardziej skomplikowane niż w wypadku starej dobrej Nokii. Potem jednak okazało się, że telefon nie widzi mojego routera mimo, że znajdował się w odległości metra od niego. Jak się później okazało model ten (nie wiem czy to ogólny problem wszystkich zielonych robotów) jest przystosowany do przepisów chyba wszystkich krajów w jakich jest oferowany czego konsekwencją jest to, że moduł wifi (albo jego soft) obsługuje tylko te kanały, które są dozwolone wszędzie,czyli te z numerami od 1 do 11. Oczywiście mój router, aby nie zakłócały go routery sąsiadów działał na mało popularnym kanale 13 co było powodem braku jego widoczności.

Menadźer plików

Kolejny problem popjawił się niewiele później. Jak na kogoś kto wie co nieco o bezpieczeństwie router mam zabezpieczony hasłem o maksymalnej długości(63 znaki, w tym znaki specjalne). Nie chcąc przepisywać tego czegoś ręcznie przeniosłem plik z hasłem na kartę pamięci. Następnie zacząłem przeglądać menu w poszukiwaniu jakiegoś menadżera, który byłby w stanie odczytać plik z karty. Co się okazało nic tego typu nie jest preinstalowane na urządzeniu!!! Już w starym Symbianie taka funkcja była dostępna na czystym systemie. Jak się później okazało część funkcjonalności eksploratora przejął program o nazwie OfficeSuite. Sprytne. Ciekawe tylko kto na to wpadnie nie włączając wszystkich programów po kolei albo nie czytając instrukcji, której tak naprawdę nie ma (w pudełku jest tylko standardowy QuickStart Guide i info, że instrukcja jest dostępna na stronie producenta). Ostatecznie więc musiałem przepisać hasło ręcznie (OfficeSuite’a znalazłem potem) za co system dostałby ode mnie kolejnego minusa.

Google Play

Właściwie powinienem o tym czymś napisać dopiero później bo najwięcej problemów zaczął robić dopiero po rootowaniu systemu, ale napiszę już teraz jako, że póki co piszę o czynnościach dla mniej technicznych użytkowników. Oczywiście nie spodziewałem się po Google nic więcej. Program ten do działania wymaga zalogowania się na konto Google a więc de facto to jakie mamy zainstalowane apki dołącza do ogromnej bazy danych jakie ten gigant przechowuje na nasz temat. W moim wypadku są to jedynie maile na konto na które loguję się tylko przez Tora i to raz na miesiąc albo i rzadziej więc dla mnie to żaden problem. W normalnej sytuacji ograniczenie pobierania aplikacji wyłącznie do urządzeń z Androidem z powiązanym kontem Google nie stanowiłoby problemu jednak po zrootowaniu znów pilnie potrzebowałem Menadżera plików, aby odczytać hasło do wifi z pliku na karcie. Oczywiście było to niemożliwe! Tym razem udało mi się dojść czym jest ten cały OfficeSuite.

Root

Jako użytkownik potrzebujący z każdej platformy nieco więcej niż jest w stanie dać producent po paru dniach zabawy i zapoznawania się z systemem przyszedł czas na rootowanie systemu. Znalezienie dobrego poradnika jak tego dokonać nie stanowiło większego problemu. Użyłem tego napisanego przez Zeely’ego jako że był po polsku czym dawał gwarancję, że po całej operacji będę nadal miał systemu w tym języku. I tu znowu kolejne bezsensowne utrudnienie ze strony producenta. Aby dokonać całej operacji należy zainstalować starszy firmware, bo w najnowszym luka pozwalająca rootowanie została załatana. Szkoda tylko, że aktualizacja do ICS nie przebiega w równie szybkim tempie jak ta blokująca uwalnianie systemu. Oczywiście downgrade spowodował, że wszystkie ustawienia, zainstalowane programy itp. przepadły “dzięki” czemu musiałem od nowa ustanawiać połączenie internetowe. Google Play zapamiętał wszystkie programy, które miałem zainstalowane za co tu muszę go pochwalić. Nie usprawiedliwia to i tak trzymania tego typu danych na czyimś (tu: Google’a) serwerze. Po pomyślnym zrootowaniu urządzenia przyszedł czas na ClockworkMod Recovery. Tu też użyłem poradnika od Zeely’ego, bo był akurat pod ręką. Ta część nie sprawiała żadnych problemów, zapewne dlatego, że Google nie mogło maczać w tym swoich palców. Po instalacji przyszedł czas na backup (bo do tego ten program zainstalowałem).

GPS

Następnym krokiem ku używalności nowej zabawki było znalezienie programu do skanowania sieci wifi. Ponieważ jak każdy współczesny telefon tak i ten ma wbudowany moduł GPS skanowanie takie powinno oczywiście odbywać się wraz z logowaniem współrzędnych sieci. I tu oczywiście pojawia się kolejna Googlowa niespodzianka. Jak większość bzdur wprowadzonych przez tą firmę ma oczywiście wpływ na prywatność użytkowników. Mianowicie po zaznaczeniu opcji używania GPSa do lokalizacji pojawia się informacja o konieczności zgody na anonimowe wysyłanie danych (WTF?). Ale dobra wifi poza zasięgiem, karty SIM nie ma więc zgadzam się, niech stracę.

Wardriving

Tu Android wypada jednym słowem żałośnie. Po systemie opartym na linuksie można się spodziewać, że aplikacji do wyszukiwania i przede wszystkim zapisywania sieci z okolicy będzie mnóstwo. Okazuje się jednak, że tego typu narzędzia można policzyć na palcach jednej ręki (no chyba, że nie umiem szukać tak jak przy Symbianie gdzie znalezienie barbelo zajęło mi parę tygodni). Jedyny program, który wydawał mi się do przyjęcia (chociaż na pewno nie dobry) to G-mon powiązany z jakimś niemieckim forum wardriverów. Cóż, nie mając innego wyboru zainstalowałem to coś. Niestety po paru skanach zaczął o sobie przypominać ten nieszczęsny GPS. Nie wiem czy to normalne aby do odnalezienia pozycji potrzebe było aż 12 satelit?

Firewall

Element niezbędny tym bardziej, że coraz częściej słyszy się o szpiegujących aplikacjach a nawet potencjalnym wykorzystaniu nowoczesnych telefonów jako pluskiew. Swoją drogą takie CIA czy NSA pewnie nawet nie marzyła kiedyś o tym, że nastaną takie czasy, że praktycznie każdy będzie nosił w kieszeni podsłuch możliwy do aktywowania w każdym momencie (a nie wierzę żeby amerykańskie służby nie były w stanie zmusić amerykańskiej firmy do wbudowania jakiegoś backdoora, niby to OpenSource ale przecież są w Androidzie też dodatki od producentów, które OpenSource już nie są). W każdym razie początkowo jako Firewalla używałem Avasta, do którego jakoś przyzwyczaiłem się przez parę dobrych lat korzystania z niego na desktopie. Później jednak zauważyłem, że po ustawieniu trybu białej listy nie mogę pobrać nic z marketu więc zdezaktywowałem zaporę w Avaście i zainstalowałem DroidWall, w którym udało mi się znaleźć program, który był odpowiedzialny za pobieranie programów (oczywiście pomogła mi funkcja wyświetlania logów, tak jak w poprzednim wpisie, co potwierdza wniosek z jego końca).

Pulpit

Na koniec praktycznie parę dni temu zainstalowałem GoLauncher EX zastępujący domyślny pupit dostarczany przez SonyEricssona. Ciągle jednak nie pasuje mi sposób uruchamiania latarki, która czasami się przydaje a teraz żeby ją włączyć muszę odblokować ekran co wydaje mi się zbędne. Jako, że zdążyłem się już nauczyć co nieco programowania pewnie jeszcze spróbuję sobie poradzić z tym problemem, ale to już będzie temat na osobny wpis.

Posted in Uncategorized | Tagged , , , , , , , , , , , | Leave a comment

Niedziałający mod_rewrite – rozwiązanie

Ostatnio pisząc nowy skrypt strony (tego obecnego nie można już w żaden sposób uratować bo to jeden wielki śmietnik, praktycznie uczyłem się dopiero PHP pisząc go) natrafiłem na dość poważny problem. Obecna strona używa z powodzeniem mod_rewrite, więc aby nie cofać jej w rozwoju użycie tego modułu było jednym z podstawowych celów kolejnej wersji skryptu. Niestety już po napisaniu kilku regułek okazało się, że niektóre z nich działają a niektóre nie. Początkowo próbowałem radzić sobie w możliwie najprostszy sposób używając REQEST_URI zamiast korzystać z GETa. Po napisaniu kilku podstron kontynuowanie takiego obejścia okazało się niemożliwe. Zauważyłem, że problemy sprawiają te reguły, w których jako wzorzec zawarty jest ciąg występujący również w pliku na serwerze np.

RewriteRule ^projekty/([0-9]+)$ projekty.php?strona=$1

To już dało mi do myślenia i zacząłem kombinować co jest źródłem problemu. Jak przypuszczałem zmiana projekty we wzorze na dowolny inny ciąg powodowała, że problem znikał. Trudno jednak, aby użytkownik chcąc obejrzeć moje projekty wchodził na podstronę nazywającą się blablabla lub jakkolwiek inaczej. Zmiana nazwy pliku projekty.php też nie wchodziła w grę, bo utrudniałaby tym razem moje życie. W takiej sytuacji zacząłem szukać sposobu na podejrzenie co robi serwer oraz jakie dane dostaje. Możliwe to było do osiągnięcia jedynie dzięki logom. Jako, że serwer stoi na localhoście nie stanowiło to problemu. Do konfiguracji Apache’a dopisałem:

RewriteLog [sciezka do serwera]/logs/rewrite.log
RewriteLogLevel 5

Zresetowałem i otworzyłem log. Po bardzo szybkiej analizie (większości wpisów nawet nie trzeba rozumieć, wystarczą ścieżki) zauważyłem, że moduł rewrite zamiast projekty/1 dostaje projekty.php/1. Niestety nie wiedząc jaki jest powód takiego zachowania serwera odpuściłem sobie przez co straciłem dwa dni nie pisząc ani jednej linii nowego kodu.

Kiedyś jednak musiałem do niego wrócić. Wróciłem więc dzisiaj i zacząłem analizować konfigurację Apache’a. W pliku httpd.conf nie znalazłem nic co mogłoby powodować ten błąd. Jako, że wykorzystuję WAMP’a jako platformę testową (i nie tylko, bo screeny użyte we wpisie Kilka ciekawostek z bazy whois (i nie tylko) także pochodzą z mojego localhosta tylko z zupełnie innego skryptu, którego nie mam zamiaru teraz omawiać) miałem utworzony alias do skryptu (tego od bazy whois) a strona znajdowała się dodatkowo w podfolderze (co wcześniej uważałem za przyczynę błędu, okazało się jednak, że leży ona gdzie indziej). Zajrzałem więc do konfiguracji aliasu. Wygląda ona mniej więcej tak:

<Directory "x:/system/htdocs/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order allow,deny
    Allow from all

Nie wklejam całości, żeby nie zaśmiecać wpisu. Od razu rzuciły mi się w oczy dwa elementy: MultiViews oraz AllowOverride all. Alias został wygenerowany przez WAMPa a dodatkową konfigurację pobrałem z Internetu. Trudno powiedzieć skąd wzięła się akurat ta część. W każdym razie zacząłem szukać informacji o MultiViews dzięki czemu trafiłem tutaj. Pomijając problemy jakie mógłbym mieć z Googlebotem gdyby taka konfiguracja była na serwerze dostępnym z Internetu autor wyjaśnia co robi ta dyrektywa:

Multiviews allow substitutions of file extensions, so you can call an URL like www.somehost.org/mypage.php using www.somehost.org/mypage.

Po przeczytaniu tego zdania od razu jasne stało się, że właśnie znalazłem źródło swojego problemu. Oczywiście dodając Options -MultiViews na początek pliku .htacces regułki zaczęły działać dokładnie tak jak powinny. Wniosek z tego jest taki, że gdy nie wiesz dlaczego coś nie działa zawsze czytaj logi!

Posted in Tutorials | Tagged , , , , , , | Leave a comment
« Older