Auto-PROXY-SF to narzędzie userscript skoncentrowane na prywatności, które automatycznie przekierowuje główne platformy nadzoru na frontony proxy szanujące prywatność. Narzędzie wykorzystuje inteligentne monitorowanie kondycji, dobór instancji na podstawie opóźnień i obsługuje sieci clearnet oraz I2P.
Funkcjonalności
- Inteligentny dobór instancji: Monitoruje kondycję i opóźnienia instancji, automatycznie kierując do najszybszego dostępnego proxy
- Obsługa sieci I2P: Wyselekcjonowana kolekcja niskoopóźnieniowych instancji I2P do anonimowego przeglądania
- Automatyczne sprawdzanie kondycji: Równoległa weryfikacja z 5-minutowym buforowaniem dla minimalizacji obciążenia
- Dynamiczne przepisywanie linków: Przetwarza linki używając Intersection Observer dla optymalnej wydajności
- Adaptacyjna strona ładowania: Profesjonalny interfejs przekierowania z wskaźnikiem postępu
- Przełączanie sieci: Zmiana między clearnet a I2P przez zintegrowane menu
Obsługiwane serwisy
Serwis |
Frontend Proxy |
YouTube |
Invidious |
Twitter/X |
Nitter |
Reddit |
Libreddit |
Wyszukiwarka Google |
SearX |
TikTok |
ProxiTok |
Instalacja
Zainstaluj menedżer userscript:
- Firefox: Greasemonkey, Violentmonkey
- Chrome/Brave: Tampermonkey, Violentmonkey
- Safari: Userscripts
Kliknij plik skryptu aby zainstalować
Przyznaj wymagane uprawnienia gdy zostaniesz poproszony
Skrypt aktywuje się automatycznie na obsługiwanych stronach
Użytkowanie
Tryb automatyczny: Odwiedź dowolny obsługiwany serwis (YouTube, Twitter, Reddit itp.). Skrypt wykrywa platformę i przekierowuje do proxy prywatności po wyświetleniu ekranu ładowania.
Przepisywanie linków: Podczas przeglądania stron zawierających linki do śledzonych serwisów, skrypt automatycznie przepisuje je na równoważniki proxy. Zmodyfikowane linki wyświetlają się na zielono.
Wybór sieci:
- Otwórz menu userscript (różni się w zależności od menedżera)
- Wybierz "Network: CLEARNET" aby przełączyć na I2P
- Wybierz "Network: I2P" aby wrócić do clearnet
- Wymagane przeładowanie strony po zmianie sieci
Zarządzanie pamięcią podręczną:
- Wybierz "Clear Cache" aby zresetować dane kondycji instancji
- Przydatne przy problemach z łącznością
- Automatycznie odbudowuje metryki kondycji przy następnym użyciu
Konfiguracja
Skrypt działa z bezpiecznymi ustawieniami domyślnymi. Zaawansowani użytkownicy mogą modyfikować:
const CONFIG = {
HEALTH_CHECK_INTERVAL: 300000, // 5 minut
INSTANCE_TIMEOUT: 4000, // 4 sekundy
PARALLEL_CHECKS: 4, // Równoległe sprawdzenia
MAX_RETRY_ATTEMPTS: 2 // Liczba ponowień
};
Architektura techniczna
Monitor kondycji: Implementuje wykładnicze punktowanie oparte na opóźnieniu (30%), czasie pracy (50%) i niezawodności (20%). Buforuje wyniki z walidacją czasową.
Menedżer instancji: Utrzymuje osobne pule dla clearnet i I2P, wybierając optymalne instancje przez równoległą weryfikację kondycji.
Procesor URL: Używa śledzenia WeakSet aby zapobiec duplikowaniu przetwarzania, z detekcją serwisu opartą na regex.
Interfejs ładowania: Wstrzykuje animowaną stronę przekierowania używając document.write(), unikając restrykcji CORS przy zachowaniu wizualnej ciągłości.
Kwestie prywatności
- Wszystkie żądania używają flagi
anonymous: true
aby zapobiec wyciekowi danych logowania
- Brak telemetrii lub analityki
- Dane kondycji instancji przechowywane wyłącznie lokalnie
- Oryginalne URL nigdy nie są transmitowane do stron trzecich
- Routing I2P zapewnia anonimowość na poziomie sieci
Rozwiązywanie problemów
Pętle przekierowań: Wyczyść pamięć podręczną przeglądarki i magazyn skryptu przez menu
Brak dostępnych instancji: Sprawdź łączność sieciową, zweryfikuj uprawnienia menedżera userscript
Wolne przekierowania: Sieć może być niepoprawnie wybrana. I2P wymaga poprawnie skonfigurowanego routera z ustanowionymi tunelami
Linki się nie przepisują: Wyłącz konfliktujące userscripty, upewnij się że skrypt uruchamia się przy document-start
CHANGELOG
- Wersja: 2.0.0
- Data wydania: 2025-01-08
- Autor: Anonymousik
- Strona główna: https://anonymousik.is-a.dev
- Licencja: AGPL-3.0-only
- Dywizja: SecFerro
- Wersja: 2.0.0
- Data wydania: 2025-01-08
Nowe Funkcjonalności i Ulepszenia
🚀 Architektura
- Pełna Integracja MonkeyConfig Mod: Dodano zaawansowany system konfiguracji z w pełni funkcjonalnym menu ustawień.
- Przywrócony Pełny System Menu (wersje 1.0.0/1.0.1): Zintegrowano polecenia menu GM (Przełącz Sieć, Wyczyść Cache, Informacje) z dynamicznym aktualizowaniem stanu sieci.
- Ujednolicony Interfejs GM: Wprowadzono obiekt
GMCompat
dla lepszej kompatybilności między różnymi menedżerami userscript (GM vs GM_).
🔗 Omijanie Krótkich Linków (Bypass Shortlinks)
- Wprowadzenie Funkcjonalności Omijania Krótkich Linków: Implementacja klasy
URLProcessor.bypassShortlink()
wykorzystującej asynchroniczne żądania HEAD
(GM.xmlHttpRequest) do śledzenia przekierowań HTTP (status 301/302).
- Rozszerzone Wzorce Skracaczy: Uzupełniono listy
SHORTLINK_PATTERNS
i BYPASS_DOMAINS
dla maksymalnej pokrycia skracaczy.
- Obsługa Kliknięć: Dodano
handleShortlinkClick
do klasy LinkRewriter
, aby przechwytywać kliknięcia w skrócone linki i automatycznie je omijać, zanim użytkownik zostanie przekierowany.
⚙️ Zarządzanie Instancjami i Wydajność
- Finalizacja Klasy HealthMonitor: Uzupełniono logikę sprawdzania kondycji, w tym obsługę timeoutów i obliczanie prostego wskaźnika Score (na podstawie opóźnienia).
- Finalizacja Klasy InstanceManager: Pełna logika doboru najlepszej, zdrowej instancji na podstawie minimalnego progu Score.
- Ulepszone Dynamiczne Przepisywanie Linków: Uzupełniono
LinkRewriter
o logikę przetwarzania linków pod kątem przekierowania do proxy ORAZ pod kątem omijania krótkich linków.
🛡️ Bezpieczeństwo i Niezawodność
- Kontrola Instancji Proxy: Dodano logikę do
PageHandler
, która zapobiega pętli przekierowań, jeśli bieżący URL jest już na uszkodzonej instancji proxy.
- Lepsza Obsługa Błędów URL: W
URLProcessor
dodano obsługę błędów, jeśli URL nie może zostać przetworzony (np. niepoprawne parametry zapytania).
Inspiracja
Ten projekt bazuje na oryginalnym userscript Proxy Redirect autorstwa Schimon Jehudah, ze znaczącymi ulepszeniami architektonicznymi:
- Zastąpienie synchronicznego XHR asynchronicznym monitorowaniem kondycji
- Implementacja inteligentnych algorytmów punktowania
- Dodanie obsługi sieci I2P z wyselekcjonowanymi instancjami
- Przeprojektowanie interfejsu ładowania w oparciu o współczesną estetykę web
- Zwiększenie bezpieczeństwa flagami anonimowych żądań
Design strony ładowania czerpie inspirację ze współczesnych wzorców loaderów kładących nacisk na wizualny feedback i spójność brandingu.
Wkład w rozwój
Sugestie instancji, zgłoszenia błędów i optymalizacje wydajności są mile widziane na stronie głównej projektu.