Przeglądarka Vivaldi

Parę dni temu do przeglądarek dostępnych na rynku dołączył nowy gracz – Vivaldi. A w zasadzie nie tyle dołączył, co ukazała się wersja 1.0. Oczywiście zainstalowałem i się pobawiłem. Jest parę ciekawych ficzerów, które przypadły mi do gustu, ale nie wszystko mi się podoba.

Pierwszą rzeczą, którą widzimy po instalacji i uruchomieniu przeglądarki, jest tzw. wizard. Można wybrać schemat kolorów, rozmieszczenie belki z tabami i… obrazek, który będzie służył za tło przy speed dial. Wszystko oczywiście można zmienić później w ustawieniach, ale uważam, że taka szybka i łatwo dostępna personalizacja to miła rzecz. Poza nieszczęsną tapetą dla speed dial – po co tam komu tapeta? Przecież to potrzebne jak tapeta w systemie – widzę ją przez parę sekund po uruchomieniu i tyle.

Kolejną rzeczą, która zwróciła moją uwagę, jest pasek postępu. Pokazuje on ilość pobranych danych, postęp ładowania w postaci przesuwającego się paska i chyba ilość obrazków na stronie. W każdym razie kiedyś któraś przeglądarka już tak miała i uważam to za lepsze rozwiązanie, niż niewiele mówiące kręcące się kółeczko.

Vivaldi ma chyba pewne ambicje do zastąpienia systemu operacyjnego. Jest i wspomniana tapeta, jest wbudowany w przeglądarkę klient poczty, jest możliwość tworzenia notatek. No i w końcu są panele, czyli tak naprawdę funkcjonalność kafelkowego managera okien. O ile do pierwszych dwóch podchodzę zdecydowanie negatywnie, to do tworzenia notatek mam mieszane uczucia. Za to panele nawet mi się podobają. Jest to coś w stylu mini strony WWW, domyślnie w wersji mobilnej, dostępna na każdej zakładce. Po prostu podział powierzchni okna na dwie części. Przy obecnych szerokich monitorach może zdawać egzamin, a w panelach można umieścić np. social media, które i tak nie wymagają wiele miejsca.

OgólnieVivaldi bardzo przypomina mi Operę. Jak się okazało, słusznie, bo projekt tworzą ludzie, którzy kiedyś pisali Operę. Jest parę różnic, przede wszystkim większy nacisk na prezentację. Jest parę innowacji, więc przypuszczam, że – podobnie jak niegdyś OperaVivaldi zdobędzie pewne grono gorących zwolenników. Wielkiej popularności nie wróżę, ale zdecydowanie warto spróbować. Ja planuję od czasu do czasu używać, być może Vivaldi zostanie moją przeglądarką do social mediów.

Na koniec słowo o obsługiwanych systemach operacyjnych – Vivaldi dostępna jest dla Maców, Windows (wersje 32 i 64 bit) oraz Linuksa (pakiety deb i rpm w wersjach 32 i 64 bit). Twórcy nie chwalą się adresami repozytoriów, ale są one dostępne i dodawane automatycznie po instalacji (bez ostrzeżenia, nie lubię). Dla porządku, dla gałęzi stabilnej przeglądarki i Debiana wpis dla sources.list  to:

deb http://repo.vivaldi.com/stable/deb/ stable main

HTTP czy HTTPS?

Wszystko zaczęło się od tego, że Wampiryczny blog zmienił sposób dostępu, wymuszając HTTPS. Skomentowałem pół żartem, pół serio. Dostałem odpowiedź w komentarzu, przeczytałem i trochę mi się włos zjeżył na głowie. Bo zdecydowanie o zużyciu energii ktoś nie pomyślał. Jak jestem zwolennikiem udostępniania treści po HTTPS i bardzo sobie ostrzę zęby na projekt letsencrypt.org, tak uważam, że wybór powinien być po stronie odbiorcy, a jedynie miejsca, gdzie są przesyłane wrażliwe dane (np. hasła) powinny mieć wymuszony HTTPS.

Postanowiłem zrobić mały test, czyli pobrać stronę po HTTP i zobaczyć, ile zostało pobranych bajtów (i w jakim czasie), a następnie to samo dla HTTPS. Jako system został użyty base system Debiana, uruchomiony w wirtualce (KVM), uruchomionej na laptopie. Jako stronę serwującą dokładnie to samo po HTTP i HTTPS dobrzy ludzie podrzucili stronę OVH. Google.com na ten przykład serwowało wgetowi nieidentyczną zawartość.

HTTP

$ ifconfig eth0 | grep "RX bytes" ; time for NUM in {1..20}; do wget --no-check-certificate -qO - http://ovh.pl/ >> out_http.txt; done ; ifconfig eth0 | grep "RX bytes"RX bytes:11251203 (10.7 MiB)  TX bytes:495042 (483.4 KiB)real    0m9.471suser    0m0.000ssys     0m0.772sRX bytes:14173253 (13.5 MiB)  TX bytes:583042 (569.3 KiB)

Jak widać wysłano 88000 bajtów, odebrano 2922050.

HTTPS

$ ifconfig eth0 | grep "RX bytes" ; time for NUM in {1..20}; do wget --no-check-certificate -qO - https://ovh.pl/ >> out_https.txt; done ; ifconfig eth0 | grep "RX bytes"RX bytes:14173313 (13.5 MiB)  TX bytes:583102 (569.4 KiB)real    0m13.938suser    0m0.000ssys     0m0.904sRX bytes:17387531 (16.5 MiB)  TX bytes:739702 (722.3 KiB)

Z kolei tutaj wysłano 156600 bajtów, a odebrano 3214218.

Podsumowując: HTTPS w tym teście był wolniejszy o 46%, przy korzystaniu z niego wysłane zostało o 78% więcej danych, a odebrano o blisko 10% więcej danych. Efekt, czyli pobrana zawartość jest dokładnie taka sama. Oczywiście ww. narzut procentowy będzie się różnił w zależności od rozmiaru pliku wynikowego, ale jak widać narzuty są spore.

Do prędkości bym się zbytnio nie przywiązywał, bo o ile za brak ruchu na wirtualce ręczę, to na lapku różne rzeczy się dzieją, choć generalnie idluje, a sam lapek zapięty po wifi. Niemniej, pomiarów było kilka, także dla mojej strony ze stanem rowerów na stacjach Nextbike. Wyniki podobne – wolniej i więcej przesłanych danych po HTTPS.

Dlatego przerażają mnie zmiany planowane zmiany w Chromium powodujące, że strony po odwiedzane po HTTP będą oznaczone jako niezaufane. Podobnie robi Mozilla. Rozumiem, że jeśli wysyłamy dane, zwł. z kamery czy mikrofonu, ba, jeśli cokolwiek wprowadzamy na stronie czy wysyłamy pliki. Ale sam odbiór? Trochę przesada. Tym bardziej, że istnieją narzędzia, do wymuszania HTTPS, jeśli ktoś ma taką potrzebę – choćby HTTPS Everywhere.

Zupełnie nie rozumiem podejścia Google do wykorzystania HTTPS jako sygnału rankingowego. Zdobycie certyfikatu nie jest problemem, a jak ruszy Let’s Encrypt, to już w ogóle. Znaczy rozumiem ideę, ale do sprawdzenia autentyczności, wystarczyłoby np. pobierać po HTTPS sitemap.xml. Czy tam robots.txt. Czy stronę główną.

Trochę zastanawiam się, po co ta nagonka. I mam wrażenie, że nie tyle o bezpieczeństwo chodzi (dobry pretekst, fakt), a o pieniądze. O ile certyfikaty tanieją i będą za darmo (ale czy wszystkie?), o tyle pewnie jest to pretekst do kolejnego wzrostu narzutu na ruch, nowych usług (terminowanie SSL na proxy czy CDN), wymiany pudełek itp. Nawiasem, jest nawet strona zachwalająca, jaki to TSL jest szybki, na współczesnych procesorach i nowym oprogramowaniu. Tyle, że nie. Ale nie omieszkam sprawdzić (na najnowszym Debianie), jak tylko Let’s Encrypt ruszy…

Zachęcam do polemiki. Polecenia podałem wyżej, można samemu sprawdzić, podać kontrprzykłady, pochwalić się konfiguracją z minimalnym narzutem na wersję szyfrowaną.

UPDATE: Poprawione polecenia (było dwa razy HTTP, zamiast raz HTTP i raz HTTPS). Bug przy przeklejaniu, wyniki są i były prawidłowe. W sumie jestem rozczarowany, że tak długo nikt tego nie zauważył.

Chromium pobiera zamknięty, potencjalnie naruszający prywatność kod

Do niedawna Chromium w Debianie pobierało niewolny, zamknięty, binarny fragment kodu po instalacji. Jest to oczywiście zachowanie sprzeczne z Umową społeczną Debiana. Co więcej charakter modułu i sposób jego działania (Chrome Hotword Shared Module – obsługa mikrofonu, rozpoznawanie mowy) nie wykluczają, że mogło dojść do naruszenia prywatności użytkowników tej dystrybucji, tym bardziej, że jest on pokrewny „podsłuchowi przez Google”, który opisywano na początku roku.

Jeszcze ciekawszy jest fakt, na który zwrócono uwagę, że nawet wyłączenie w opcjach przeglądarki tej funkcjonalności nie zapobiega ładowaniu czy uruchomieniu niewolnego modułu. Pojawiły się też pytania o to, w jaki sposób oprogramowanie wykorzystujące takie metody dystrybucji pojawiło się w Debianie oraz o to, czy Google powinno w ogóle być upstreamem. Pojawiły się też głosy, że zjawisko tego typu pojawia się coraz częściej.

W Debianie problem został poprawiony w najnowszej wersji pakietu.

Sam fakt pobierania binarnego dodatku nie jest ograniczony do Debiania, wywodzi się to z upstreamu Chromium w wersji 43, więc dotyczy wszystkich dystrybucji Linuksa z tą wersją. Zostało to zgłoszone do upstream Google.

Źródła:

  1. http://www.theregister.co.uk/2015/06/17/debian_chromium_hubbub/
  2. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=786909
  3. https://code.google.com/p/chromium/issues/detail?id=491435