N3X Remote – zdalna pomoc
Autorska aplikacja na Windows i macOS do zdalnej pomocy i pulpitu zdalnego. Połącz się po ID i haśle przez szyfrowane WebRTC (P2P) albo zarządzaj własnymi komputerami unattended z self-hosted Control Center. Alternatywa dla TeamViewer, AnyDesk i RustDesk. Pobierz za darmo.
N3X Remote — zdalna pomoc nowej generacji
Lekka, natywna aplikacja na Windows i macOS do zdalnej pomocy i pulpitu zdalnego. Udostępnij ekran po 9-cyfrowym ID i haśle jednorazowym, przejmij kontrolę albo bezpiecznie przekaż plik. Obraz, sterowanie i zaakceptowane pliki płyną szyfrowanym połączeniem WebRTC bezpośrednio między urządzeniami (P2P) — bez zakładania kont i bez magazynu w chmurze.
Windows 11 (.exe) i macOS (.dmg) · szyfrowane P2P, własny serwer, bez chmury
Wersje i wydania
Cały stos N3X Remote w jednym miejscu
Aplikacja, serwer self-hosted i agent unattended mają niezależne cykle wydań. Tutaj zawsze znajdziesz aktualne numery opublikowanych składników.
Aplikacja desktopowa
v1.8.48
Pomoc jednorazowa, ekran i sterowanie na Windows.
Serwer self-hosted
v1.15.46
Control Center, sygnalizacja i API w obrazie Docker.
Agent unattended
v0.17.40
Stały agent N3XAgent dla zarządzanych komputerów Windows i Linux.
Interfejs aplikacji
Zobacz aplikację przed pobraniem
Prawdziwy interfejs produktu — kliknij podgląd, aby zobaczyć go w pełnym rozmiarze.
1 / 2
Control Center
Stan infrastruktury, urządzenia online i zdarzenia administracyjne w jednym centrum dowodzenia.
Hosting zarządzany przez N3X
Chcesz korzystać, ale nie zajmować się serwerem?
N3X może przygotować i utrzymywać tę aplikację: od uruchomienia i SSL po aktualizacje, monitoring oraz kopie zapasowe.
Co potrafi N3X Remote
Połączenie po ID i haśle
Każdy komputer ma stałe 9-cyfrowe ID i losowe hasło sesji. Podaj je osobie pomagającej — model znany z TeamViewera i AnyDesk, tylko szybszy.
Pełne sterowanie
Zdalna mysz, klawiatura, przewijanie i skróty klawiszowe. Kontroler steruje pulpitem tak, jakby siedział przy komputerze.
Szyfrowane P2P (WebRTC)
Obraz i sterowanie idą bezpośrednio między urządzeniami, szyfrowane end-to-end (DTLS/SRTP). Serwer pośredniczy tylko przy nawiązaniu połączenia.
Bezpieczny transfer plików
Wysyłaj pliki w obie strony osobnym, szyfrowanym kanałem WebRTC. Host najpierw włącza tę funkcję, a każdy plik wymaga osobnej zgody, jest weryfikowany SHA-256 i trafia do Pobrane\N3XRemote.
Sprzętowe kodowanie wideo
Nowoczesne kodeki (H.264/VP9/AV1) z akceleracją sprzętową dają płynny obraz przy niskich opóźnieniach i małym zużyciu łącza.
Własny serwer, bez chmury
Wskazujesz własny serwer sygnalizacji (i opcjonalnie TURN). Żadne dane sesji nie trafiają do zewnętrznej chmury — pełna kontrola i prywatność.
Zgoda po stronie hosta
Host widzi wyraźny baner, że jest sterowany, i w każdej chwili może zakończyć sesję jednym kliknięciem.
Control Center, unattended i terminal
Na własnym serwerze dodajesz agentów Windows i Linux. Z panelu uruchomisz pulpit albo ograniczoną polityką sesję PowerShell, CMD, Bash lub SH z prawdziwym PTY, jawną tożsamością usługi i audytem metadanych bez zapisywania treści poleceń.
Jak zainstalować
- 1Wybierz instalator dla Windows (.exe) albo obraz dla macOS (.dmg).
- 2Uruchom instalator .exe albo otwórz plik .dmg i przenieś N3XRemote do folderu Aplikacje.
- 3Nie musisz konfigurować serwera — aplikacja automatycznie korzysta z remote.n3x.pl. Udostępnij ekran (podaj ID i hasło) albo połącz się z innym komputerem.
Własny serwer i Control Center — gotowy Docker Compose
Aplikacja domyślnie łączy się z naszym serwerem i działa od razu po pobraniu. Firmy mogą uruchomić u siebie stack signaling, TURN, bazy urządzeń, audytu i panelu zarządzania. Stack nie narzuca konkretnego rozwiązania — możesz użyć dowolnego reverse proxy obsługującego WebSockets. Sekrety są losowane lokalnie w przeglądarce, a dane nie opuszczają Twojego serwera.
TURN wymaga osobnej publikacji portów — reverse proxy HTTP(S) nie wystarczy
Przekieruj TCP 3478, UDP 3478 oraz UDP 49160–49200 bezpośrednio na host Dockera albo obsłuż je przez proxy lub load balancer warstwy 4 z obsługą TCP/UDP. Zezwól na ten ruch w zaporze hosta. Bez tego logowanie i wybór ekranu mogą działać, ale obraz i sterowanie zakończą się błędem P2P/TURN. Nie konfiguruj tych portów jako zwykłego hosta HTTP(S).
Subdomena wskazująca na serwer, np. remote.twojafirma.pl
Losowany w Twojej przeglądarce. Zostaje na serwerze — nie wpisujesz go w aplikacji.
127.0.0.1 dla proxy na hoście. Dla proxy w osobnym kontenerze lub na innym serwerze użyj adresu hosta albo 0.0.0.0 i ogranicz dostęp zaporą.
Compose utrzymuje to chronione konto właściciela. Kolejnych operatorów i role dodasz później w Control Center.
Zapisz je w menedżerze haseł. To konto służy także do awaryjnego odzyskania dostępu do Control Center.
Użyj od 16 do 64 liter, cyfr, myślników lub podkreśleń.
# N3XRemote — complete self-hosted remote support stack
#
# signaling WebSocket relay, Control API and browser Control Center
# postgres private device inventory, policy and audit database
# coturn TURN relay for restrictive/symmetric NATs
#
# Before you start:
# 1. point remote.example.com at this server (DNS A/AAAA record)
# keep it DNS-only when the same hostname is also used for TURN
# 2. configure any reverse proxy to forward https://remote.example.com to http://127.0.0.1:8788
# with WebSocket upgrades enabled; TLS/proxy is not part of this stack
# 3. when binding to 0.0.0.0, restrict port 8788 to your proxy/firewall
# 4. REQUIRED: publish TURN on your router/firewall or through a TCP/UDP layer 4 proxy
# (not as a regular HTTP(S) proxy host):
# 3478/tcp, 3478/udp and 49160-49200/udp -> this Docker host
# without these rules signaling works, but remote video/control cannot connect
# for a second stack on the same host, set N3X_TURN_PORT and a separate
# N3X_TURN_MIN_PORT/N3X_TURN_MAX_PORT range in Portainer or .env
#
# IMPORTANT — keep this file for future stack updates.
# POSTGRES_PASSWORD initializes only an empty postgres_data volume. Replacing
# it later requires changing the n3xremote database role password first, or
# removing postgres_data (which permanently deletes the Control Center data).
#
# Then run: docker compose up -d
# Control Center: https://remote.example.com/control-GENERATING/
services:
signaling:
image: ghcr.io/nexitpl/n3xremote-signaling:latest
restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
environment:
PORT: 8787
TURN_SECRET: GENERATING_TURN_SECRET
TURN_URL: turn:remote.example.com:${N3X_TURN_PORT:-3478}?transport=udp,turn:remote.example.com:${N3X_TURN_PORT:-3478}?transport=tcp
DATABASE_URL: postgresql://n3xremote:GENERATING_DATABASE_PASSWORD@postgres:5432/n3xremote
ADMIN_USERNAME: admin
ADMIN_PASSWORD: GENERATING_ADMIN_PASSWORD
ADMIN_PATH: /control-GENERATING
SESSION_SECRET: GENERATING_SESSION_SECRET
ports:
- "127.0.0.1:8788:8787"
networks:
frontend:
backend:
postgres:
image: postgres:17-alpine
restart: unless-stopped
environment:
POSTGRES_DB: n3xremote
POSTGRES_USER: n3xremote
POSTGRES_PASSWORD: GENERATING_DATABASE_PASSWORD
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "PGPASSWORD=$$POSTGRES_PASSWORD psql -h 127.0.0.1 -U $$POSTGRES_USER -d $$POSTGRES_DB -c 'SELECT 1' >/dev/null"]
interval: 5s
timeout: 5s
retries: 10
start_period: 10s
networks:
- backend
coturn:
image: coturn/coturn:4-alpine
restart: unless-stopped
environment:
# Set N3X_TURN_EXTERNAL_IP only when automatic DNS detection is blocked.
REAL_EXTERNAL_IP: ${N3X_TURN_EXTERNAL_IP:-}
ports:
- "${N3X_TURN_PORT:-3478}:${N3X_TURN_PORT:-3478}/tcp"
- "${N3X_TURN_PORT:-3478}:${N3X_TURN_PORT:-3478}/udp"
- "${N3X_TURN_MIN_PORT:-49160}-${N3X_TURN_MAX_PORT:-49200}:${N3X_TURN_MIN_PORT:-49160}-${N3X_TURN_MAX_PORT:-49200}/udp"
entrypoint: ["/bin/sh", "-ec"]
command:
- |
candidate="$${REAL_EXTERNAL_IP:-}"
if [ -z "$$candidate" ]; then
candidate="$$(detect-external-ip 2>/dev/null || true)"
fi
external_ip="$$(printf '%s\n' "$$candidate" | awk 'match($$0, /([0-9]{1,3}\.){3}[0-9]{1,3}/) { print substr($$0, RSTART, RLENGTH); exit }')"
if [ -z "$$external_ip" ]; then
echo "N3XRemote coturn: no valid public IPv4 address was detected; set N3X_TURN_EXTERNAL_IP" >&2
exit 1
fi
echo "N3XRemote coturn: using external IPv4 $$external_ip"
exec turnserver \
-n \
--log-file=stdout \
--external-ip="$$external_ip" \
--realm=remote.example.com \
--use-auth-secret \
--static-auth-secret=GENERATING_TURN_SECRET \
--listening-port=${N3X_TURN_PORT:-3478} \
--min-port=${N3X_TURN_MIN_PORT:-49160} \
--max-port=${N3X_TURN_MAX_PORT:-49200} \
--no-tls \
--fingerprint \
--no-multicast-peers
tmpfs:
- /var/lib/coturn
networks:
- frontend
networks:
frontend:
backend:
internal: true
volumes:
postgres_data:
mkdir -p n3xremote && cd n3xremote nano docker-compose.yml # paste the file above docker compose up -d # Verify N3XRemote before configuring the proxy: curl http://127.0.0.1:8788/healthz # Configure your own reverse proxy (WebSockets required): http://127.0.0.1:8788 -> https://remote.example.com # REQUIRED TURN rules (direct NAT/firewall or a TCP/UDP layer 4 proxy): # TCP 3478 -> DOCKER_HOST:3478 # UDP 3478 -> DOCKER_HOST:3478 # UDP 49160-49200 -> DOCKER_HOST:49160-49200 # Verify that coturn is running and listens on the Docker host: docker compose ps coturn docker compose logs --tail=100 coturn sudo ss -lntup | grep ':3478' # Test TCP 3478 from a DIFFERENT internet connection, not this LAN: nc -vz remote.example.com 3478 # Verify through the public proxy: curl https://remote.example.com/healthz # Open and bookmark the private Control Center address: https://remote.example.com/control-GENERATING/
Co wpisać w ustawieniach aplikacji
- Nasłuch backendu
127.0.0.1:8788- Cel reverse proxy
http://127.0.0.1:8788- Serwer sygnalizacji
wss://remote.example.com- Control Center
https://remote.example.com/control-GENERATING/- Właściciel awaryjny
admin- Hasło właściciela
…
Pobrana aplikacja ma już ustawiony remote.n3x.pl. Adres własnej instancji zmieniasz tylko w Ustawienia → Zaawansowane. Zachowaj prywatny adres Control Center i nie publikuj go. Agenty unattended rejestrujesz gotowym poleceniem wygenerowanym w panelu; danych TURN ani bazy nie wpisujesz w klientach.
N3X Remote nie instaluje ani nie konfiguruje reverse proxy. Skieruj wybraną domenę na pokazany cel HTTP, włącz WebSockets i certyfikat SSL. Domyślny adres 127.0.0.1 działa z proxy uruchomionym na hoście; dla proxy w osobnym kontenerze ustaw adres hosta lub 0.0.0.0 i ogranicz port zaporą. TURN wymaga publikacji portu 3478 (UDP i TCP) oraz zakresu 49160-49200 (UDP) na routerze i zaporze albo przez warstwę 4 — nie jako zwykły host HTTP(S). Jeśli ta sama domena obsługuje TURN, w Cloudflare pozostaw ją jako DNS only.
Historia zmian
- UlepszenieUjednolicona ikona aplikacji i instalatora na macOS i Windows: wspólny ciemny kafelek, turkusowy symbol, przezroczyste otoczenie i spójna skala z pozostałymi aplikacjami N3X.
- PoprawkaN3XAgent 0.17.39 naprawia zapis pobranej aktualizacji na Windows: plik jest synchronizowany z prawem zapisu, dzięki czemu aktualizator przechodzi do instalacji zamiast kończyć próbę odmową dostępu.
- PoprawkaPo naprawie i poprawnym połączeniu z serwerem agent usuwa nieaktualny błąd poprzedniej wersji. Zachowuje blokadę ponownych prób dla nowszego wydania, jeżeli wcześniej musiał je wycofać.
- UlepszeniePakiet Windows zawiera skrypt jednorazowej naprawy aktualizacji agentów 0.17.32–0.17.38. Skrypt sprawdza SHA-256 archiwum wydania i oczekiwaną wersję, a instalator zachowuje dotychczasową tożsamość urządzenia. Skrypt należy uruchomić przez lokalny PowerShell administratora lub niezależny kanał zarządzania.
- PoprawkaNaprawiono kodowanie klawiszy Windows: bity Shift i AltGr nie trafiają już do kodu klawisza. Tekst zachowuje wielkość liter i lokalny układ klawiatury, a skróty oraz zwalnianie klawiszy działają spójnie w aplikacji i panelu przeglądarkowym.
- UlepszenieN3XAgent 0.17.38 zastępuje wspólną pętlę z pauzą 150 ms niezależnymi wątkami wejścia i obrazu. Przechwytywanie dąży do 30 klatek/s, zwalnia na nieruchomym pulpicie, ponownie używa bufora GDI i szybciej odtwarza obraz po wznowieniu sesji.
- UlepszeniePrzekaźnik nie blokuje odbioru klawiszy podczas wysyłania obrazu; kolejki zachowują najnowszą klatkę, a przesyłanie plików pozostawia miejsce dla obrazu. Zmiany przygotowano wraz z N3XRemote Server 1.15.46.
- PoprawkaWeryfikacja modułu administratora na Windows porównuje obiekty procesów także wtedy, gdy uchwyt zwrócony po UAC nie pozwala odczytać PID. Ograniczone prawa uchwytu nie powodują już odrzucenia poprawnego modułu.
- UlepszenieStatus sterowania rozróżnia błąd uruchomienia, weryfikacji procesu, potwierdzenia gotowości oraz utratę działającego modułu. Dodano natywne testy ograniczonych uchwytów i weryfikację aplikacji Windows w pull requestach.
- PoprawkaOdinstalowanie agenta na Linuksie nie trafia już na ograniczenie bezpiecznego restartu Windows. N3XRemote Server 1.15.45 rozróżnia platformę, wymaganą wersję i brak uprawnień, a konkretny powód pokazuje także w oknie usuwania.
- NowośćN3XAgent 0.17.37 dodaje ograniczony deinstalator systemd dla Linuksa. Wymaga aktualnego instalatora uruchomionego raz jako root; usuwa wyłącznie instalację agenta po potwierdzeniu serwera, bez naruszania innych usług. Audyt rejestruje rozpoczęcie, nie potwierdzenie zakończenia usuwania.
- UlepszenieOkno usuwania ma spójnie wystylizowane pola i ostrzeżenia zależne od wybranego trybu. Samo cofnięcie dostępu pozostaje dostępne niezależnie od obsługi deinstalacji.
PORADNIK
Instrukcja obsługi N3XRemote
Instalacja, pierwsze kroki, ustawienia i rozwiązywanie problemów.
N3XRemote
N3XRemote służy do zdalnej pomocy. Zestaw obejmuje aplikację desktopową, opcjonalny własny serwer Docker i agenta do zarządzanych urządzeń.
Wymagania i instalacja
Windows 11 lub macOS (Intel albo Apple Silicon).
- Pobierz gotowy instalator przyciskiem pobierania na tej stronie.
- W Windows uruchom plik
.exei przejdź przez instalator. W macOS otwórz plik.dmgi przeciągnij aplikację do katalogu Aplikacje. - Uruchom zainstalowaną aplikację.
Korzystaj z aktualnego wydania wskazanego na stronie produktu. Do instalacji nie potrzebujesz kodu źródłowego ani narzędzi programistycznych.
Połączenie z drugim komputerem
- Zainstaluj i uruchom aplikację na obu komputerach.
- Osoba otrzymująca pomoc przekazuje zaufanemu operatorowi 9-cyfrowy identyfikator i aktualne hasło sesji.
- Operator wpisuje te dane, aby nawiązać połączenie.
- Osoba udostępniająca komputer widzi aktywną sesję i może ją zakończyć. Transfer pliku wymaga włączenia funkcji oraz osobnej zgody na każdy plik.
Uprawnienia systemowe
W Windows ręczne uruchomienie może wyświetlić UAC dla modułu sterowania. Zgodę zatwierdza osoba przy komputerze. Odmowa pozwala nadal korzystać z aplikacji z ograniczonymi uprawnieniami. Autostart pomija UAC; aby ponowić prośbę, zakończ sesję, wybierz Zakończ z menu ikony i uruchom aplikację ręcznie.
Moduł pozwala sterować podniesionymi oknami na zwykłym pulpicie. Bezpieczny pulpit UAC nadal wymaga obsługi lokalnej.
Na macOS nadaj aplikacji wymagane uprawnienia do nagrywania ekranu i sterowania w ustawieniach prywatności systemu, a następnie uruchom ją ponownie.
Własny serwer i urządzenia zarządzane
Skorzystaj z konfiguratora serwera na tej stronie. Wymagany jest host Linux z Docker Compose, domena HTTPS i reverse proxy obsługujące WebSocket. Konfigurator przygotowuje gotowy plik Compose i polecenia startu. Dla sieci bez bezpośredniego połączenia skonfiguruj również TURN.
Przechowuj PostgreSQL w sieci wewnętrznej i wykonuj kopie bazy oraz trwałych sekretów. Agenta rejestruj tokenem z własnego zaufanego Control Center. Dostęp bez obecności użytkownika zależy od nadanych polityk i powinien być ograniczony do uprawnionych operatorów.
Rozwiązywanie problemów i prywatność
Sprawdź, czy oba urządzenia mają połączenie z serwerem i aktualne hasło sesji. Jeżeli sesja nie zestawia się między różnymi sieciami, sprawdź konfigurację TURN i firewall. Przy problemie z uprawnieniami podaj pełny komunikat oraz sposób uruchomienia aplikacji.
Sesje pomocy korzystają z szyfrowanego WebRTC. Serwer nie jest magazynem nagrań pulpitu ani przesyłanych plików. Identyfikator i hasło przekazuj wyłącznie osobie, której udzielasz dostępu.
