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

Krótki przegląd botów internetowych, czyli co oprócz ludzi generuje ruch na stronie

Już od ponad dwóch lat na stronie zainstalowany jest skrypt statystyk, dzięki któremu mam możliwość podglądania kto do mnie trafia. Jak pewnie każdy, kto miał dostęp do statystyk jakiejkolwiek strony wie oprócz ludzi trafiają się też różnego rodzaju boty. Niektóre źródła mówią nawet, że my – ludzie staliśmy się w sieci mniejszością! Większość osób przeglądających internet nie ma świadomości istnienia prawie żadnego z nich (zwykły user zna najwyżej Googlebota, coniektórzy być może jeszcze słyszeli o Bingbocie). Jako administrator tej małej bo małej, ale jednak witryny mam szansę dowiedzieć się na temat działalności tych złodziei transferu nieco więcej.

W internecie niewiele można się dowiedzieć o dużej ich części, czasami jedynym źródłem są fora intenetowe, na których inny admin szuka odpowiedzi na to czym jest dany bot i czy ewentualnie należy go blokować. Postarałem się zebrać informacje o tych, które mnie odwiedziły w bliższej lub odleglejszej przeszłości, więc niektóre mogły już przestać działać. Zaczynamy od najbardziej oczywistej pozycji jaką jest bot Google.

Googlebot

Tu nie ma się co rozpisywać: jest to bot opracowany i hostowany przez Google i ma na celu zbieranie danych do googlowej wyszukiwarki. Występuje też w wariantach Mobile i Images. Przykładowe UserAgenty: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html), Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8B117 Safari/6531.22.7 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html), Googlebot-Image/1.0.

Bingbot

W zasadzie niczym nie różni się od Googlebota, zajmuje się indeksowaniem z tym, że dla konkurencyjnego rozwiązania od Microsoftu – Binga. Przykładowy UserAgent: Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm).

MSNbot

Bot, który służył do indeksowania sieci dla wyszukiwarki MSN. Obecnie został zastąpiony przez Bingbota. Przykładowy UserAgent: msnbot-media/1.1 (+http://search.msn.com/msnbot.htm).

MJ12Bot

Dość aktywny ostatnio bot. Na stronie dołączonej do UserAgenta można się dowiedzieć, że działa on w celu stworzenia wyszukiwarki. Nie ma on stałego adresu lub grupy adresów IP, może być uruchomiony przez każdego. Kto wie może będzie kiedyś konkurencją dla Google. Na razie wśród najaktywniejszych botów zajmuje miejsce trzecie, zaraz za Googlebotem i Bingbotem. Przykładowy UserAgent: Mozilla/5.0 (compatible; MJ12bot/v1.4.2; http://www.majestic12.co.uk/bot.php?+).

Twiceler

Bot wraz z towarzyszącą mu wyszukiwarką: cuil.com został stworzony przez byłych pracowników Google. Od początku swojej działalności wzbudzał kontrowersje wśród administratorów. Nie można go było zablokować przez plik robots.txt. Bot zniknął z sieci w 2010 roku. Przykładowy UserAgent: Mozilla/5.0 (Twiceler-0.9 http://www.cuil.com/twiceler/robot.html).

Yahoo! Slurp, YandexBot, Baiduspider

Boty indeksujące dla wyszukiwarek odpowiednio Yahoo!, rosyjskiego Yandexa oraz chińskiego Baidu. Działają podobnie jak boty Google czy Binga. Przykładowe UserAgenty: Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp), Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots), Baiduspider+(+http://www.baidu.com/search/spider.htm).

Dot TK – spider

Niewiele można znaleźć w Google na temat tego bota. Sądząc po nazwie odwiedza on tylko strony w domenie .tk. Bardzo prawdopodobne, że należy do registara tej domeny. Przykładowy UserAgent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.5) Gecko/2010033101 Gentoo Firefox/3.0.5 (Dot TK – spider 3.0).

W3C Validator

Bot sprawdzający poprawność HTMLa oraz CSSa na stronach. Jeżeli znalazł się w logach to znaczy, że ktoś sprawdzał czy strona nie zawiera błędów składniowych. Przykładowy UserAgent: W3C_Validator/1.1.

Speedy Spider

Trzeci małoznany bot, którego celem jest stworzenie wyszukiwarki. Dostarcza dane do strony entireweb.com. Wydaje się, że respektuje wpisy z robots.txt i nie przynosi większych szkód dla stron. Przykładowy UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) Speedy Spider (http://www.entireweb.com/about/search_tech/speedy_spider/).

ia_archiver

Bot należący do Alexa – rankingu najpopularniejszych stron. Zbiera dane w celu dostarczenia informacji o danej stronie. Przykładowy UserAgent: ia_archiver (+http://www.alexa.com/site/help/webmasters; crawler@alexa.com).

Search17Bot

Czwarty już bot , o którym mało kto słyszał a którego zadaniem jest dostarczenie danych wyszukiwarce. Strona linkowana w UA informuje, że bot stosuje się do wpisów w robots.txt. Przykładowy UserAgent: Mozilla/5.0 (compatible; Search17Bot/1.1; http://www.search17.com/bot.php).

Website Explorer

Tym botem zaczynamy grupę dość tajemniczych programów. Google nie zwraca na jego temat żadnych czytelnych informacji, większość wyników po wyszukaniu UserAgenta jest w języku japońskim co pozwala sądzić, że to jest źródło tego bota. Ostrożnym radzę zablokować. Przykładowy UserAgent: Website Explorer/0.9.9.9.

GSLFbot

Ten bot również nie przedstawia na swój temat żadnych informacji. Wyszukując go w Googlach można się dowiedzieć, że nie respektuje pliku robots.txt oraz może powodować DoS – zalecany ban. Przykładowy UserAgent: GSLFbot.

SWAT Crawler

Rodzimy projekt krakowskiego AGH. Jest to tak jak dwa poprzednie bot program dość tajemniczy. Na stronie AGH trudno znaleźć informacje do czego jest on wykorzystywany. Jedyne co udało mi się o nim dowiedzieć to rozwinięcie skrótu SWAT – System Wyszukiwania i Analizy Treści. Biorąc pod uwagę ostatnie zamieszanie ze stworzonym przez ową uczelnię projektem INDECT można przypuszczać, że bot ten ma z nim jakiś związek. Przykładowy UserAgent: SWAT Crawler. AGH University project. In case of problem contact: opal@tempus.metal.agh.edu.pl. Thanks..

NetcraftSurveyAgent

Bot, którego celem zdaje się być tworzenie statystyk użycia poszczególnych daemonów www. Poza tym nie informuje o tym do czego służy jak robi np. Search17 czy Speedy Spider oraz używa AmazonAWS przez co dla wielu witryn staje się niedostępny, gdyż chmura ta jest źródłem wielu innych botów niekoniecznie tworzących wyszukiwarki. Przykładowy UserAgent: Mozilla/5.0 (compatible; NetcraftSurveyAgent/1.0; +info@netcraft.com).

XML Sitemaps Generator

Służy do generowania map witryn. Jego odwiedziny oznaczają, że ktoś stworzył właśnie mapę witryny. Taka mapa może posłużyć jako mapa dla Google Webmaster Tools, więc dobrze jest się upewnić, że witryna jest tam zweryfikowana dla naszego konta. Przykładowy UserAgent: Mozilla/5.0 (compatible; XML Sitemaps Generator; http://www.xml-sitemaps.com) Gecko XML-Sitemaps/1.0.

facebookexternalhit

A teraz czas na najciekawszy chyba okaz w tym zestawieniu. Po odwiedzinach tego oto bota mogłoby się wydawać, że Facebook planuje konkurować z Google na polu wyszukiwarek. Nic bardziej mylnego. Po odwiedzeniu podlinkowanej strony dowiadujemy się, że ktoś właśnie podzielił się na Facebooku linkiem do naszej witryny. Dla mnie osobiście jako osobie, która nie ma tam swojego konta jest to bardzo przydatna informacja, ale czy wysyłając do znajomego link do jakiejś mało popularnej strony chcielibyście, aby jej admin został natychmiast o tym fakcie poinformowany. Ja niekoniecznie. Z drugiej jednak strony taka informacja nie jest w stanie pomóc w odszukaniu osoby, która to zrobiła, więc nie narusza to niczyjej prywatności, której zresztą użytkownicy tego portalu i tak nie mają. Przykładowy UserAgent: facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php).

Czy to już wszystko?

Oczywiście, że nie. W internecie krąży tak wiele różnego rodzaju botów, że trudno byłoby zebrać je wszystkie i napisać na temat każdego z nich choćby dwóch zdań. Zawarłem tylko te, które odwiedziły kiedyś tę stronę. Już przy samym wyszukiwaniu informacji o nich można się zorientować, że to tylko wierzchołek góry lodowej. Poza tymi, które identyfikują się swoją nazwą można też znaleźć takie, które przedstawiają się jako zwykłe przeglądarki a także te używające standardowych agentów bibliotek takich jak Indy czy też perlowych lub pythonowych. Niektóre ich UA to: Mozilla/3.0 (compatible; Indy Library), libwww-perl/5.823, Python-urllib/2.6, gnu-classpath/0.98 (libgcj/4.4.5). Niestety te boty, które należą do którejś z tych dwóch grup zazwyczaj nie robią to w celu indeksowania witryn, ale często szukają podatności jak pewien “chińczyk” lub kopiują treść witryn w celu serwowania treści u siebie w towarzystwie nachalnych reklam przynoszących nie do końca uczciwe zyski. Niestety przed nimi nie ma praktycznie żadnego skutecznego zabezpieczenia. Można banować UserAgenty należące do wymienionych bibliotek lub konkretne adresy IP, ale to nigdy nie rozwiąże problemu do końca.

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

Kolejna zmiana domeny – powrót do .tk

Wczoraj od niechcenia sprawdziłem czy możliwe jest zarejestrowanie domeny, której używałem do marca tego roku, czyli v3l0c1r4pt0r.tk. Okazało się, że domena ta spowrotem stała się darmowa. Ponieważ wydaje się, że Google wciąż dość niechętnie chce indeksować strony w domenie .co.cc a stara strona z domeny .tk ciągle znajduje się w indeksie to skorzystałem z okazji i przeniosłem się po raz drugi do Tokelau. Mam nadzieję, że dzięki temu uda mi się odzyskać użytkowników, którzy trafiali do mnie poprzez wyszukiwanie grafiki a może nawet ktoś z nich zajrzy do mnie ponownie. Wraz ze zmianą domeny usuwam całkowicie CloudFlare’a, którego zainstalowałem przy poprzednich przenosinach jako, że jedynie przeszkadzał w zbieraniu statystyk nie dając dla tak małej witryny nic w zamian.

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