Czytnik RSS – bardzo przydatne narzędzie. Wystarczy dodać swoje ulubione strony (zdecydowana większość posiada kanał rss) i każdy nowy wpis pojawi się w czytniku. Czyli wszystkie nowości z interesujących nas stron w jednym miejscu. Pierwsze czytniki były programami desktopowymi, uruchamianymi na komputerze, nieco później pojawiły się wersje on-line, bardzo wygodne, bo dostępne przez przeglądarkę z praktycznie każdego urządzenia z dostępem do internetu.
Chyba najpopularniejszym takim czytnikiem był Google Reader, wyłączony w połowie 2013 roku. I wtedy zaczęły pojawiać się lepsze i gorsze alternatywy. Po testach kilku z nich zdecydowałem się na Tiny Tiny RSS na własnym “hostingu”.
Tiny Tiny RSS można zainstalować gdziekolwiek: na płatnym czy darmowym hostingu, byle było wsparcie dla php i baza mysql lub postgresql. Równie dobrze może to być własny serwerek www, który odpowiednio skonfigurowany będzie na pewno szybszy niż darmowe konta, a jego stabilność będzie zależała głównie od naszego łącza internetowego i dostaw prądu. Do niedawna używałem do tego celu cienkiego klienta: Odczyt temperatury przez internet. Początkowo całość była zainstalowana na starym pendrivie, później zainstalowałem dysk 2,5″: Montaż dysku twardego w cienkim kliencie HP T5720. Maszyna działała z przyzwoitą prędkością i stabilnie, ale lepsze jest wrogiem dobrego i od niedawna wszystkie funkcje serwerka przeniosłem na Banana Pi. W porównaniu z terminalem, płytka ma 2 razy więcej RAMu, szybszy procesor, jest znacznie mniejsza i pobiera 10 razy mniej prądu. Konfiguracja jest bardzo podobna – Bananian to Debian skompilowany pod BPi. Wstępną konfigurację tego systemu opisałem tutaj: Szybki start – Banana Pi i Bananian (warto wyłączyć pamięć swap), konfigurację sieci przeprowadza się identycznie jak w Raspbianie na Raspberry Pi: Konfiguracja sieci w Raspberry Pi (ustawienia zapisane w pliku interfaces). Jeśli połączenie sieciowe działała, można podłączyć się przez ssh i dalszą konfigurację przeprowadzić zdalnie z desktopa czy notebooka.
Kolejny etap, to instalacja serwera www. Z kilku do wyboru wybrałem nginx, z którym miałem najmniej do czynienia. Podobnie z serwerem bazy danych: zamiast mysql zdecydowałem się na postgresql. Trzeba również zainstalować php i kilka modułów. Wszystko załatwiamy za jednym razem:
apt-get install nginx php5-fpm php5-cli php5-curl php5-gd php5-mcrypt php5-cgi php5-pgsql postgresql
Wszystkie paczki zajmą na karcie pamięci około 90MB:
Po instalacji trzeba skonfigurować nginx, edytując plik /etc/nginx/sites-enabled/default:
I konfiguracja php, poprzez zmiany w pliku /etc/php5/fpm/php.ini:
Teraz w postgresql założymy sobie użytkownika uttrss i nadamy mu hasło (w apostrofach):
su - postgres psql template1 CREATE USER uttrss WITH PASSWORD 'jakies.trudne_haslo';
Następnie utworzymy nową bazę o nazwie ttrss, do której uprawnienia będzie miał nasz nowy użytkownik:
CREATE DATABASE ttrss; GRANT ALL PRIVILEGES ON DATABASE ttrss TO uttrss;
Wychodzimy z postgresa i przelogowujemy się na roota:
\q su -
Tak wyglądały u mnie wyżej opisane kroki:
Na koniec restartujemy postgresa:
service postgresql restart
Skonfigurowane wcześniej środowisko jest gotowe do instalacji ttrss. Jeśli nie instalowaliśmy wcześniej git’a, to zróbmy to teraz:
apt-get install git
Sprawdźmy, czy po wpisaniu adresu banana pi w przeglądarce pojawi się strona z napisem Welcome to nginx!. W głównym katalogu na pliki strony www (/usr/share/nginx/www), założyłem folder ttrss, czyli czytnik będzie się wyświetlał po wpisaniu w przeglądarkę http://adres_ip_bpi/ttrss/. Tam też sklonowałem pliki Tiny Tiny RSS:
git clone https://github.com/gothfox/Tiny-Tiny-RSS.git /usr/share/nginx/www/ttrss
Plików jest sporo i może to zająć dłuższą chwilę:
Po wpisaniu w przeglądarkę adresu Banana Pi i folderu instalacji (http://ip_bpi/ttrss/install), przywita nas instalator, który od razu będzie sypał błędami spowodowanymi brakiem możliwości zapisu w folderach, które tego wymagają:
Naprawa jest szybka i prosta, przechodzimy do katalogu głównego tiny tiny rss:
cd /usr/share/nginx/www/ttrss
i nadajemy uprawnienia na foldery wymienione w instalatorze:
chmod -R 777 cache/images i tak dalej...
Po odświeżeniu okna przeglądarki wszystko powinno być ok, wybieramy typ bazy danych, wpisujemy nazwę usera, hasło, nazwę bazy i jej adres (localhost). Warto wcisnąć [Test configuration] by mieć pewność, że wszystko działa. Na koniec inicjujemy bazę przyciskiem [Initialize database]:
Otrzymamy wygenerowany plik config.php i komunikat, że nie można go zapisać. Kopiujemy więc jego zawartość, otwieramy plik config.php choćby w nano (/usr/share/nginx/www/ttrss/config.php) i wklejamy konfigurację:
Po wpisaniu adresu czytnika, powinniśmy ujrzeć stronę logowania, domyślny user to admin z hasłem password:
Po wejściu, w prawym górnym rogu rozwijamy przycisk i wybieramy ustawienia (settings). Język interfejsu jest automatycznie wykrywany na podstawie języka przeglądarki. W menu Użytkownicy należałoby zmienić hasło administratora i założyć nowego usera z poziomem dostępu ‘użytkownik’, z którego będziemy korzystali na co dzień. Logujemy się na nowego użytkownika i przechodzimy do ustawień. W zakładce kanały możemy dodać Kategorie np. DIY, Informacje, Motoryzacja itp., w których będą umieszczane rssy tematycznie powiązanych stron internetowych. W oknie głównym czytnika pod przyciskiem [Działania] -> Prenumeruj kanał, wpisujemy kanał rss interesującej nas strony. Tak wygląda okno główne z zajawkami wpisów prenumerowanych stron:
Po kliknięciu w wybrany artykuł jesteśmy przenoszeni na stronę z wpisem.
Bez żadnej konfiguracji Tiny Tiny RSS będzie aktualizował kanały (sprawdzał czy są nowe wpisy na zaprenumerowanych stronach) podczas logowania. Ale szkoda czasu na logowanie by sprawdzić czy jest coś nowego. TT-RSS może bez naszego udziału sprawdzać nowości, np. poprzez uruchamianie w cronie specjalnego skryptu w php. Fajne, ale żeby zobaczyć czy są świeże wpisy i tak trzeba się zalogować. Znalazłem wtyczkę do Chromium / Google Chrome, która wysyła do tt-rss żądanie aktualizacji. Wtyczka jest oficjalna i nazywa się Tiny Tiny RSS Notifier:
Konfiguracja jest bardzo prosta, po jej instalacji i włączeniu, w prawym górnym rogu przeglądarki pojawia się mała ikona z literą t. Należy kliknąć na niej prawym guzikiem myszy i wybrać Opcje. Wpisujemy adres czytnika, nazwę użytkownika (uwaga na małe/wielkie litery) i zaznaczamy ptaszkami 3 opcje, z czego ostatnia będzie wymuszała sprawdzanie nowych wpisów w zaprenumerowanych kanałach rss:
Od teraz za każdym razem gdy uruchomię przeglądarkę, plugin będzie wysyłał do tt-rss sygnał aktualizacji.
Są jeszcze aplikacje na androida, ta oficjalna jest płatna i kosztuje około 20zł.
Dużo informacji na temat konfiguracji i ewentualnych problemów można znaleźć na oficjalnym forum projektu tt-rss. Są tam przewodniki, które krok po kroku opisują instalację czytnika na różnych platformach jak i rozwiązania wielu napotykanych przez innych problemów. Jest też wiele wątków o instalacji tt-rss na Raspberry Pi, które z powodzeniem można przenieść na platformę Banana Pi.
Jeśli skrypt zainstalowaliśmy na jakimś zewnętrznym hostingu, to nie ma problemu z dostępem do czytnika z każdego miejsca na świecie. W moim przypadku serwer z banana pi znajduje się za NAT’em i nie posiada publicznego adresu, więc wszystko działa w sieci lokalnej. By to zmienić trzeba przekierować na routerze port 80 na adres Banana Pi. Jeśli posiadamy zmienne IP (większość usług aDSL, internet z sieci komórkowych) warto jeszcze założyć konto u dostawcy domeny z dynamicznym dnsem, np. darmowe noip.com. Każda zmiana adresu może być uaktualniana przez klienta zainstalowanego na Banana Pi (inadyn, ddclient) lub jak u mnie – przez oprogramowanie routera. Od teraz każdy dzień można zaczynać od kubka dobrej kawy i przeglądania nowości na interesujących nas stronach ;).
Mamy w domu dość wiekowy (2012) Boombox Philips, model AZ385/12 używany przez dzieci głównie jako…
Mega tanie, bezprzewodowe moduły Internet of Things na dobre zadomowiły się w naszych sieciach. Od…
Pewnie nie każdy posiadacz tytułowej stacji lutowniczej wie, że posiada ona możliwość aktualizacji firmware'u. Producent…
Jakiś czas temu, przeglądając Aliexpress natknąłem się na ciekawy shield do Arduino Nano. Według opisu…
W mailach i komentarzach kilka razy przewijała się prośba o ten wpis. Chodzi o aktualizację…
Dziś tematyka audio, a nawet audiofilska. Uznany wzmacniacz słuchawkowy Lehmann Black Cube Linear o dość…
Zobacz komentarze
http://i.imgur.com/nlI9smm.png
;-)
No właśnie. Prawda, że wygodny? ;)
moje 292 subskrypcje coś mogą o tym powiedzieć :)
Ja tam korzystam z inoreader.com