Lix.in jest jednym z tych dziwnych serwisów, które twierdzą, że umożliwiają zrobienie czegoś, co z założenia nie jest możliwe. Niestety tak się złożyło, że kilka serwisów z których korzystam wpadło w sidła reklamy lix.in i uparcie stosują jego zabezpieczenia, powodując dodatkowe utrudnienie z ich korzystania... stąd też wpadłem na pomysł stworzenia małego skryptu do Opery, który ma za zadanie poradzić sobie z tą niedogodnością :).
W nieco większych szczegółach, lix.in w założeniu ma chronić prawdziwe linki do stron. Metoda jego działania jest taka, że po wpisaniu na ich stronie głównej adresu strony, którą zamierzamy chronić, dostajemy unikalny link do lix.in (razem z identyfikatorem), który działa w podobny sposób, co przekierowanie na tnij.com, tiny.pl lub tinyurl z tą różnicą, że nie powoduje bezpośredniego przekierowania pod wpisany przez nas adres, ale pokazuje stronę HTML z tylko jedną osadzoną ramką (IFRAME). Ramka ta posiada atrybut SRC zawierający wpisany adres strony. Takie zachowanie powoduje sytuację, że w pasku adresu pokazany jest adres lix.in, natomiast strona wygląda tak, jakbyśmy weszli na nią wpisując bezpośrednio adres strony... tak więc pozornie adres strony jest chroniony, ponieważ nie da się go skopiować z pasku adresu :).
Jako, że na codzień wykorzystuję Operę do przeglądania stron i szukania nowego stuffu cieszącego me ucho :>, postanowiłem na szybko napisać mały skrypcik na bazie rozszerzeń userjs, które są idealnym rozwiązaniem przy tego typu problemach. Sam koncept userjs polega na tym, że Opera przy wejściu na stronę (lub też i przy innych eventach) może wykonać kod JavaScript z odpowiednich plików, który posiada możliwość dokonywania modyfikacji aktualnie ładowanej strony lub nawet aktualnie ładowanych skryptów ;). Dzięki temu można napisać skrypt, który będzie zmieniał wygląd strony od razu po załadowaniu, np. usuwając reklamy, pobierając tylko istotne informacje, itp. Możliwości jest wiele :). Podobną funkcjonalność w Firefoxie oferuje plugin Greasemonkey, z którym poniższy skrypt również jest w pełni kompatybilny :).
Aby jednak ten skrypt zadziałał, należy skonfigurować Operę, co ogranicza się jedynie do ustawienia pola Tools->Preferences->Advanced->Content->JavaScript Options->User JavaScript files na jakikolwiek katalog, a następnie stworzenie w tym katalogu pliku o jakiejkolwiek nazwie (należałoby jednak ustawić rozszerzenie .js) i skopiowanie do niego treści poniżej. Okno które powinieneś odnaleźć wygląda tak:

natomiast treść skryptu:
- // ==UserScript==
- // @include hxxp://lix.in/*
- // ==/UserScript==
- var els = document.getElementsByTagName("IFRAME");
- if(els && els.length == 1) {
- var el = els[0];
- location.href = el.src;
- } else {
- els = document.getElementsByTagName("INPUT");
- if(els && els.length > 0) {
- for(var i = 0; i < els.length; i++) {
- var el = els[i];
- if(el.getAttribute("type") == "submit") {
- el.click();
- }
- }
- }
- }
(wklejając kod z powyższej tabelki upewnij się, że zmieniłeś wszystkie wystąpienia "hxxp" na "http"). Dzięki temu wchodząc na stronę Lix.in zostaniemy od razu przekierowani na stronę, którą lix.in chroni, pokazując jednocześnie prawdziwy adres url w pasku adresu.
Możesz to sprawdzić np. tutaj :).
