Jak zenbox.pl z domen klientów korzystał

Niedawno na blogu sprawnymarketing.pl pojawił się wpis o tym, jak rzekomo Zenbox stosował black hat SEO. Sprawa okazała się znacznie głębsza, szersza i ciekawa, niż na pierwszy rzut oka wyglądał. W różnych wymiarach, od technicznych, po prawne.

Przede wszystkim, niezaprzeczalnym faktem jest, że niektóre strony (raczej: większość) hostowane na zenbox.pl, pokazywały co innego przy wejściu przez HTTP, a co innego przez HTTPS. Jak pokazują zamieszczone w ww. wpisie zrzuty ekranu, narzędzia do badania SEO zauważały te linki. Raczej słusznie, bo wbrew temu, co twierdzi zenbox.pl, strony te nie zostały zignorowane przez Google, lecz normalnie zaindeksowane, co pokazuje poniższy zrzut ekranu:

Zenbox.pl SEO HTTPS

Szybko okazało się, że zenbox.pl nie jest jedynym hostingiem, który działa w ten sposób. Winny jest prawdopodobnie panel DirectAdmin, którego domyślna konfiguracja powoduje pokazywanie „zaślepki” przy braku podpiętego certyfikatu SSL. Potem było już tylko weselej, bo w dyskusji na Wykopie niektórzy sugerowali, że w zaślepkach powinien być w linkach atrybut nofollow. Uważam, że akurat brak nofollow świadczy w tym przypadku na korzyść zenbox.pl i braku celowego działania – gdyby ktoś zawracał sobie głowę atrybutami czy anchor text (a są i tacy), to znaczy, że pomyślał o pozycjonowaniu.

Jeszcze bardziej dziwi mnie skupienie się na SEO i ominięcie sedna sprawy: nie chodzi o – celowe lub nie – wprowadzenie w błąd Google. Przede wszystkim mamy do czynienia z podmianą treści na stronie zamieszczonej w określonej domenie. Wątpię, by właściciele domen mieli wiedzę, że taka podmiana miała miejsce. Jeszcze bardziej wątpię w ich zgodę na takie działanie.

HTTPS zamiast HTTP niewiele tu zmienia – oczywiście jest możliwość serwowania różnych treści w zależności od protokołu, podobnie jak strona z przedrostkiem www (de facto subdomena) z technicznego punktu widzenia może kierować zupełnie gdzie indziej, niż domena bez takiego przedrostka, ale przyjęte jest, że kierują w to samo miejsca. W przypadku HTTPS jest to IMO wręcz oczywiste.

Pamiętajmy też, że strony WWW, zwłaszcza popularniejsze blogi, potrafią po prostu sprzedawać miejsce na reklamę na stronie. Wydaje mi się, że w przypadku takich blogów wykazanie szkody w sądzie byłoby trywialne. Dlatego podejście zenbox.pl do sprawy mnie dziwi. Jak widać w komentarzach na blogu, mamy kolejno:

  1. straszenie „na takie działania godzić się nie można i zrobimy wszystko aby takie akcje miały konsekwencje”
  2. negacja, najpierw problemu w ogóle (screenshot w ww. wpisie), potem wpływu „działania nie mają wpływu na pozycję stron klientów ani wpływu na pozycję witryny zenbox.pl”
  3. przyznanie istnienia problemu „wspomnianego problemu nie doświadczyli” i w końcu podjęcie działań (zmiana konfiguracji, mailingi)

Wydaje mi się, że znacznie bardziej na miejscu byłaby analiza sytuacji, podziękowanie za zwrócenie uwagi, naprawienie problemu (poprawa konfiguracji) i przeproszenie klientów.

Cała sprawa ma jeszcze jeden ciekawy aspekt. Wydaje mi się, że największy błąd popełniło… Google, które podmienioną treść na stronie jak widać łyka jak pelikan. Mimo ewidentnych błędów HTTPS (certyfikat nie pasuje do domeny), które m.in. przed taką podmianą miały chronić. W czasach, gdy każda domena może mieć rozpoznawany przez przeglądarki certyfikat SSL za darmo (oczywiście chodzi o projekt Let’s Encrypt) strony za niepasującymi, wygasłymi i self signed certyfikatami powinny po prostu być ignorowane.

Prawidłowa konfiguracja to IMHO ta sama treść dostępna po HTTP i HTTPS. Czy to za sprawą odpowiedniego przekierowania (to sensownie uda się tylko z HTTP na HTTPS…), czy też – zwł. na shared hostingu – pod certyfikatem hostingodawcy, jeśli domena nie ma własnego.

5 V

Tak sobie myślę, że 5 volt czy też bardziej po polsku 5 woltów to byłaby dobra nazwa kategorii, albo i nawet bloga, gdyby ktoś chciał pisać więcej o drobiazgach zasilanych albo zasilających tym napięciem, czyli ogólnie gadżetach. Łapią się telefony, smartfony, różne SoC z ARM, ładowarki, powerbanki, osprzęt do komputera typu mysz, klawiatura czy słuchawki… Nie zauważyłem tego wcześniej, ale od dość dawna coraz więcej urządzeń zasilanych jest właśnie tym napięciem, choć niekoniecznie przy użyciu gniazd USB, i stało się ono w jakiś sposób znakiem naszych czasów.

Ostatnio poczyniłem, głównie w Chinach, parę zakupów spod znaku 5V właśnie. Po pierwsze, kupiłem miernik prądu na USB. Pokazuje napięcie i natężenie w zakresie odpowiednio 3,5-7 V oraz 0-3 A. Głównie z myślą o mierzeniu, ile prądu pobierają różne urządzenia peryferyjne podłączane do komputera, bo powertop wydawał się pokazywać wartości co najmniej dziwne (mysz w pracy 1W IIRC). Potem dowiedziałem się, że są rozwiązania ciekawsze, choćby z pomiarem pojemności, którego mi trochę brakuje (o tym później), ale to urządzenie robi robotę, a w sumie informacja o napięciu i natężeniu wnosi najwięcej.

Miernik prądu USB

Źródło: aukcja sprzedawcy na aliexpress.com

Szybko okazało się, że drugie (wg producenta pierwsze, bo miernik ma napis charger doctor, co dopiero teraz zauważyłem), co najmniej równie interesujące zastosowanie, to diagnostyka ładowarek. Mam taką jedną, tandeta wysokiej klasy, nie wiem jak do nas trafiła do domu. Szybko przestała działać, coś grzechotało w środku. Okazało się, że urwał się drucik od 230V idący do płytki. Przylutowałem. Nie wiem, czy drucik nie robi czasem za bezpiecznik, bo przewodnik w nim ma grubość włosa i ogólnie zastanawiam się, kto ten badziew do obrotu dopuścił… Wspomniana ładowarka ma jeszcze jedną „ciekawą” cechę – ładowane smartfony wariują. Testowane na dwóch różnych. Zachowują się, jakby ktoś naparzał w zablokowany ekran. Jeden cały czas, drugi tylko przy próbie korzystania z ekranu. Podłączenie miernika ujawniło podejrzanie niskie napięcie podczas ładowania, które prawdopodobnie jest przyczyną. No chyba, że jest kolejnym objawem „jakości”, a przyczyna to np. szybkie skoki napięcia… 😉

Skoro o ładowarkach mowa, w Biedronce są/były zestawy za 9,99 zł składające się z ładowarki sieciowej i samochodowej. Sieciowa niby 750mA, ale Banana Pi z kartą WiFi działa. Samochodowa też jest świetna, w porównaniu z jakąś chińską, którą miałem wcześniej. Wcześniejsza ładowała, ale bilans energii przy włączonym Yanosiku i niewygaszonym ekranie był ujemny (patrz wpis i komentarze). Na tej z Biedronki jest zdecydowanie dodatni, czyli ładowarka faktycznie ładuje.

Kolejny chiński zakup to powerbank. 5000 mAh, z ogniwem słonecznym (200 mA, więc raczej gadżet, ale od biedy…). Nawet wydaje się działać, trochę nie mam pomysłu jak sprawdzić rzeczywistą pojemność. Na razie ładuję telefon, który ma baterię 1160 mAh. W godzinę naładował od 25% do 86%, więc nieźle. Zobaczę, ile razy naładuje telefon. Wynik będzie trochę zafałszowany, bo powerbank leży na biurku i twierdzi, że się ładuje od słońca, mimo braku bezpośredniego nasłonecznienia. Lepszego pomysłu na sprawdzenie pojemności chwilowo nie mam.

Po konkrety odsyłam na bloga o pomiarach energii, gdzie wkrótce pojawi się kategoria 5V i dokładniejsze dane dla poszczególnych urządzeń.

Uruchomienie karty Wi-Fi Mediatek MT7601U na Banana Pi

Jakiś czas temu kupiłem małe, tanie karty USB Wi-Fi w Chinach. Stwierdziłem, że przydadzą się do niewyposażonych we wbudowane karty płytek z ARM. Czy nawet do podpięcia komputera na szybko do sieci Wi-Fi w standardzie N. Karty przetestowałem na szybko na laptopie i wszystko było fajnie, ale… uruchomienie ich wymagało rzeźby i dokompilowania modułu. Dla jasności: chodzi o karty, które sprzedawane są jako Mediatek MT7601U USB bgn WiFi dongle.

MT7601U wg lsusb

Po podłączeniu w wyniku lsusb widać:

Bus 002 Device 002: ID 148f:7601 Ralink Technology, Corp.

a wymagany driver dla tej karty to mt7601u. W momencie podłączania karty USB w dmesg pojawia się:

[ 1075.027898] usb 2-1: new high-speed USB device number 2 using ehci-platform
[ 1075.189356] usb 2-1: New USB device found, idVendor=148f, idProduct=7601
[ 1075.196330] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1075.203764] usb 2-1: Product: 802.11 n WLAN
[ 1075.208160] usb 2-1: Manufacturer: MediaTek

Banana Pi

Dziś potrzebowałem uruchomić Banana Pi pod kontrolą dystrybucji Bananian z tą kartą, wetknąłem ją w lapka, żeby odświeżyć sobie budowanie modułu i… Bananian miło mnie zaskoczył – działało od kopa. Stwierdziłem, że może zasługa nowszego kernela (4.5), ale prawdopodobnie nie – brakujący firmware jest dostarczany w Debianie w pakiecie firmware-misc-nonfree. Niedostępnym w Jessie, ale nie jest to wielki problem. Poniżej krótka instrukcja, co zrobić, żeby zadziałało (dla Bananiana 16.04 (released 2016-04-23)). Być może zadziała także na starszym kernelu, ale nie testowałem. Zgodnie z tym, co piszą na GitHubie projektu, driver jest dołączony do mainline kernela. Opisany poniżej sposób powinen działać dla kerneli od 4.2 w górę.

Instalacja kernela z linii 4.x na Banana Pi (niezalecana w FAQ Bananiana, ale…):

wajig install linux-image-4.4-bananian

Następnie reboot, by Banana Pi działało z nowym kernelem. Kolejnym krokiem jest pobranie pakietu z firmware dla karty:

wget http://ftp.de.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-misc-nonfree_20160110-1_all.deb

Usunięcie pakietów, które konfliktują z ww. pakietem (oczywiście wajig; wykonać dla wszystkich pakietów, które zgłoszą konflikt):

wajig remove firmware-ralink

Ostatnim krokiem jest instalacja pobranej paczki:

wajig install firmware-misc-nonfree_20160110-1_all.deb

Od tej pory karta USB Mediatek powinna po prostu działać po włożeniu do USB. Oczywiście należy połączyć się jeszcze z siecią bezprzewodową, ja polecam do tego wicd i wygodny konsolowy wicd-curses. Zadziała także dla Debiana w wersji stable (Jessie) – w zasadzie Bananian różni się tylko kernelem.

UPDATE Dobrzy ludzie słusznie donoszą, że firmware-misc-nonfree jest w repozytorium backports, więc instalacja jest prostsza. Wystarczy dodać stosowne repozytorium do źródeł. Przyznaję, że nie sprawdzałem, bo jakoś mi się błędnie zakodowało, że ani armel, ani armhf nie są dostępne w backports.