Powrót do strony głównej

NaiveProxy dla iOS/macOS: darmowy klient i serwer

Artykuł opisuje rozwój otwartego klienta NaiveProxy dla iOS i macOS z serwerem wdrażanym jedną komendą. Szczegółowo omówiona jest architektura tunelu imitującego ruch HTTPS i zalety w porównaniu do klasycznych rozwiązań. Podana jest instrukcja krok po kroku instalacji oraz kluczowe cechy implementacji.

NaiveProxy na iOS/macOS: prosty start tunelu proxy
Advertisement 728x90

# NaiveProxy dla iOS i macOS: darmowy klient i prosty serwer jedną komendą

Programista ZonD80 zaprezentował otwarty klient NaiveProxy dla urządzeń Apple, rozwiązujący problem stabilnego dostępu do globalnego internetu. Rozwiązanie obejmuje klienta wieloplatformowego z intuicyjną konfiguracją oraz skrypt serwera wdrażany jedną komendą. Architektura imituje standardowy ruch HTTPS, minimalizując ryzyko blokady przez systemy DPI.

Dlaczego NaiveProxy wygrywa z tradycyjnymi rozwiązaniami

Klasyczne protokoły VPN (WireGuard, OpenVPN) są łatwo identyfikowane przez systemy filtracji dzięki charakterystycznym wzorcom ruchu. NaiveProxy stosuje inne podejście: tunel całkowicie naśladuje zachowanie przeglądarki Chromium podczas połączenia HTTPS. Osiąga się to dzięki:

  • Integracji ze stosem sieciowym zbliżonym do rzeczywistej przeglądarki
  • Wykorzystaniu standardowych uścisków TLS bez anomalii
  • Maskowaniu pod legalny ruch sieciowy za pomocą Caddy z forwardproxy

W przeciwieństwie do VLESS, który stał się celem masowych blokad z powodu popularności, NaiveProxy pozostaje mniej widoczny. Shadowsocks często pada ofiarą analizy DPI ze względu na specyficzny profil ruchu. Kluczową przewagą NaiveProxy jest równowaga między skutecznością omijania filtrów a minimalnym obciążeniem urządzenia użytkownika.

Google AdInline article slot

Architektura tunelu: jak działa imitacja HTTPS

Techniczną podstawą rozwiązania jest biblioteka sing-box Libbox, implementująca Packet Tunnel dla iOS/macOS. Część serwerowa opiera się na Caddy z wtyczką forwardproxy w trybie naive. Podczas połączenia klient generuje ruch identyczny z zapytaniami Chrome do zasobu HTTPS:

  • Nawiązanie połączenia TLS z parametrami charakterystycznymi dla aktualnych wersji Chromium
  • Przesyłanie danych przez HTTP CONNECT bez niestandardowych nagłówków
  • Dynamiczna adaptacja do zachowania docelowej witryny

Ta metoda tworzy zasadniczą różnicę w porównaniu z klasycznymi proxy: ruch nie wyróżnia się na tle legalnego przeglądania stron. Nawet przy głębokiej analizie pakietów (DPI) system filtracji nie jest w stanie niezawodnie odróżnić tunelu od zwykłego odwiedzania witryny. Ważne: rozwiązanie nie jest VPN-em drugiego poziomu — to tunel proxy przechwytujący cały ruch systemowy za pomocą mechanizmu Packet Tunnel.

Wdrażanie serwera: instrukcja krok po kroku

Część serwerowa jest zautomatyzowana skryptem start_server.sh, kompatybilnym z Ubuntu, Debian i Alpine. Proces instalacji trwa 2 minuty i obejmuje:

Google AdInline article slot
  • Generację certyfikatu SSL przez Let’s Encrypt
  • Konfigurację Caddy z forwardproxy
  • Utworzenie linku share i kodu QR do importu w kliencie

Aby wdrożyć, wykonaj w terminalu:

mkdir -p ~/naive-server && cd ~/naive-server
wget -O start_server.sh "https://raw.githubusercontent.com/ZonD80/naivetools/main/server/start\_server.sh"
chmod +x start_server.sh
screen -S naive-caddy
sudo ./start_server.sh

Skrypt poprosi o domenę, e-mail dla Let’s Encrypt oraz dane uwierzytelniające proxy. Po zakończeniu otrzymasz gotową infrastrukturę z automatycznym odnawianiem certyfikatów. Przetestowane na tanich hostingach VPS — minimalne wymagania zasobowe.

Klient dla Apple: kluczowe cechy implementacji

Klient dla iOS/macOS wykorzystuje natywną implementację Packet Tunnel opartą na sing-box Libbox. Główne cechy:

Google AdInline article slot
  • Obsługa importu konfiguracji przez kod QR lub link
  • Pełna kompatybilność z Shadowrocket i Exclave (Android)
  • Tryb always-on z automatycznym ponownym łączeniem
  • Minimalne zużycie energii dzięki zoptymalizowanemu ruchowi

Aplikacja przechodzi moderację w App Store, aktualna wersja dostępna przez TestFlight i AppDB. Kod źródłowy otwarty na licencji MIT na GitHub (naivetools). Dla Androida polecany Exclave z wtyczką Naïve — konfiguracja identyczna.

Co ważne

  • Zerowa złożoność konfiguracji: użytkownikowi wystarczy zeskanować kod QR
  • Odporność na DPI: ruch nieodróżnialny od zwykłego przeglądania HTTPS
  • Minimalne zależności: serwer wymaga tylko podstawowego systemu Linux
  • Wieloplatformowość: konfiguracja działa na iOS, macOS, Android
  • Otwartość: pełna przejrzystość kodu bez komponentów własnościowych

Rozwiązanie idealne dla tych, którzy cenią równowagę między bezpieczeństwem a prostotą. W odróżnieniu od „gotowych” rozwiązań, tu brak ukrytych zależności i zbędnych abstrakcji — tylko niezbędny functionality.

Wezwanie do społeczności

Projekt jest na wczesnym etapie, ale już używany w produkcji. Autor zachęca społeczność do udziału:

  • Testowanie na sieciach różnych operatorów i w różnych regionach
  • Pull requesty do poprawy UX i stabilności
  • Opinie zwrotne nt. krytycznych scenariuszy użycia

Szczególne zainteresowanie budzą dane o działaniu w warunkach agresywnej filtracji. Wszyscy chętni mogą wesprzeć projekt przez GitHub lub darowizny. Ważne: przestrzegaj prawa swojego kraju przy konfiguracji tuneli.

— Editorial Team

Advertisement 728x90

Czytaj dalej