Wyszukiwarka na blogu

Z jakichś powodów szukałem niedawno możliwości podpięcia pod bloga innej wyszukiwarki, niż ta przychodząca z Blox. Pierwsze co przyszło mi do głowy, to Google i któraś z ich usług. Wiem, zewnętrzny serwis, w dodatku Google. Pewnie bym nie użył i tak, ale nie każdemu to przeszkadza… Jednak to co znalazłem u Google miało wadę – nie dawało się zawęzić do danej witryny, szukało także na podlinkowanych stronach.

Dziś u Boniego w komentarzach zeszło na dyskusję nt. wyszukiwarki na blogu i… postanowiłem poszukać, czy DuckDuckGo się dorobiło. TIL:

  • Mają stronkę z pomysłami i całkiem przyzwoitą wyszukiwarką wśród nich. Na dodatek zintegrowaną z forum.
  • Mają też możliwość podpięcia wyszukiwarki do bloga dokładnie w taki sposób, o który mi chodziło. Oczywiście o ile ktoś się nie brzydzi iframe i zewnętrznym serwisem. Ja się nie brzydzę.
  • Obsługują parametr site: dla wyszukiwania w danej domenie. Albo nowe, albo ślepy jestem, bo brakowało mi tego i korzystałem do tego celu z Google.

Dla Google pewnie też zadziała, w analogiczny sposób, ale w trosce o prywatność, anonimowość itd. itp. zostaje DuckDuckGo. Wyszukiwarki z Blox póki co nie zdejmuję, ale zachęcam do korzystania z nowej.

UPDATE Strona opisująca umieszczenie wyszukiwarki DuckDuckGo na stronie.

Własna namiastka dyndns

Po ostatniej akcji Microsoftu z przejęciem i zablokowaniem domen należących do No-IP miałem przez moment umiarkowany problem z dostępem do jednej z moich maszyn, bo nie znałem IP. Nic krytycznego i szybko rozwiązałem, ale stwierdziłem, że warto by się zabezpieczyć na przyszłość. Początkowo chciałem uruchomić po prostu innego dostawcę dyndns, z inną domeną, co dałoby całkiem niezłą – jak mi się wydaje – redundancję w tym względzie, ale prowizorycznie uruchomiłem coś innego, własnego i znacznie prostszego. W komentarzu do poprzedniego wpisu padło pytanie co dokładnie zrobiłem, więc opisuję.

Tak się składa, że mam serwer dedykowany ze stałym IP (nie jest konieczne zamiast tego można skorzystać z domeny), na którym stoi serwer WWW (lighttpd). Na wszystkich maszynkach potrzebujących dyndns mam dostęp do crona (zresztą, korzystałem z crona już przy zwykłym koncie dyndns, patrz update wpisu). Rozwiązanie jest proste: klient wywołuje okresowo unikatowy URL na moim serwerze, serwer okresowo parsuje log w poszukiwaniu tego unikatowego ciągu znaków i zapisuje IP z którego nastąpiło odwołanie w określonym pliku.

Poniżej wklejki ze wszystkimi onelinerami (gotowiec dla lighttpd, w przypadku innego serwera WWW trzeba dostosować):

# po stronie klienta*/5 * * * * /usr/bin/wget -4 -q -O /dev/null http://mojadomena.com/losowyciagznakow4346456543324645 > /dev/null
 # po stronie serwera*/5 * * * * /usr/bin/awk '/losowyciagznakow4346456543324645/ {ip=$1} END {print ip}' /var/log/lighttpd/access.log > /var/www/dyndns_host1.txt
 # pobranie IPwget -O - http://mojadomena.com/dyndns_host1.txt

Po namyśle, rozwiązanie nawet lepsze niż drugi dostawca dyndns. Mniej kont, prostsza konfiguracja, mając stałe IP na upartego można całkowicie uniezależnić się od DNSów, jeśli ktoś odczuwa potrzebę.

Oczywiście nie od razu tak to wyglądało, w szczególności po stronie serwera był grep, awk, tail w użyciu. Ale skoro da się wszystko załatwić awk (a nie tylko wyświetlanie określonej kolumny, chyba najczęstsze zastosowanie awk…), to czemu nie? Tu polecam zbiór przydatnych onelinerów w awk.

UPDATE: IPv6 się popularyzuje. Okazało się, że mój skrypt nie działa poprawnie, bo łączenie między maszynami następuje po IPv6. Dodany parametr -4 do wget w celu naprawy tego problemu.

Wylogowanie z serwisu a zmiana IP – co robić?

The background: jest sobie pewien serwis AKA aplikacja WWW. Z pewnych względów (bezpieczeństwo) zmiana IP użytkownika powoduje wylogowanie z aplikacji. Do tego – z innych względów – nie bardzo jest wola, by inwestować w zmianę takiego zachowania tejże aplikacji.

The problem: kolejny popularny operator (Plus) zmienił(?) działanie swojej sieci tak, że klientom często zmienia się IP w trakcie połączenia z Internetem, co skutkuje wylogowaniem z serwisu. Mam pewne podejrzenia, że może to dotyczyć tylko niektórych taryf, ale nie to jest przedmiotem rozważań. Wylogowuje i już.

The question: jak można w prosty sposób (dla laika) obejść problem od strony użytkownika aplikacji? Jedno rozwiązanie już znam – użycie Opery i turbo mode. Niby fajne, bo Opera jest darmowa, ale… nie jest to open source i nie każdy ma możliwość instalacji oprogramowania. Pewnie dowolne tunelowanie ruchu przeglądarki załatwi sprawę, ale dla laika to zbyt skomplikowane. Być może pomogłoby proxy, ale nie znalazłem informacji na stronach Plusa o tym, żeby coś takiego udostępniał. No i problem dotyczy nie tylko Plusa… Pomysły?