P2P tunnel + SDK cho mọi giao thứcP2P tunnel + SDK for any protocol

Kết nối trực tiếp mọi dịch vụ sau NAT.Reach any service behind NAT directly.

Không relay. Không mở port công khai.No relay. No public open ports. Mã hoá đầu-cuối, server “tàng hình” trước máy quét, dữ liệu không bao giờ đi qua máy chủ của chúng tôi.End-to-end encrypted, the server is invisible to scanners, and your data never transits our servers.

TCP · UDP · HTTP/1.1 · HTTP/2 · HTTPS · WebSocket/WSS · gRPC · QUIC/HTTP3 · SSH · RDP/VNC · MySQL/Postgres/Redis/Mongo · MQTT · DNS · VoIP/RTP · game UDP

  • Không cần thẻNo card required
  • CLI không sửa codeCLI, zero code changes
  • SDK qua C ABISDK via C ABI
mô phỏngsimulationipv6 → upnp → punch → join
Server hoạt độngActive servers
0
Supernode
0
Kết nối (30 ngày)Connections (30d)
0
Tỉ lệ thành côngSuccess rate
—
Theo phương thứcBy method
IPv6 0%UPnP 0%punch 0%LAN 0%

Số liệu thật, tổng hợp từ telemetry ẩn danh của các server Peerova (30 ngày).Live figures aggregated from anonymous Peerova server telemetry (30 days).

Tính năngFeatures

Mạng ngang hàng thật sự, không có hộp ở giữaReal peer-to-peer, no box in the middle

Mọi server Peerova cũng là supernode: chúng giới thiệu các peer với nhau rồi tránh đường. Mạng tự lớn lên, không ai đứng giữa.Every Peerova server is also a supernode: they introduce peers and get out of the way. The network grows by itself; nobody sits in the middle.

Không relay = không hoá đơn băng thôngNo relay = no bandwidth bill

Dữ liệu đi thẳng client ↔ server. Không máy chủ trung gian nào chuyển gói của bạn: không phí theo GB, không thêm chặng trễ.Traffic goes straight client ↔ server. No middle box forwards your packets: no per-GB fees, no extra latency hop.

Dark server — 0 cổng mởDark server — zero open ports

Server không mở port nào trên router. Gói tin chưa xác thực bị bỏ qua im lặng: máy quét cổng thấy như không có gì.Your server opens no router ports. Unauthenticated packets are silently dropped — to a port scanner it looks like nothing is there.

Mã hoá đầu-cuối NoiseEnd-to-end Noise encryption

Kênh mã hoá Noise với khoá định danh server ký Ed25519. Supernode và chúng tôi không đọc được dữ liệu của bạn.Noise-based encrypted channel bound to the server's Ed25519 identity key. Neither supernodes nor we can read your traffic.

Giấu IP nhiều lớp, nói thật giới hạnLayered IP hiding, honest limits

IP không nằm trong ticket công khai, chỉ cấp cho client đã được phép. Nhưng P2P trực tiếp thì client đã kết nối vẫn biết IP — xem FAQ.The IP is not in the public ticket and is only issued to authorized clients. But with direct P2P a connected client learns it — see FAQ.

IPv6 trước tiênIPv6-first

Viettel, VNPT, FPT và đa số mạng 4G đã có IPv6: nối thẳng, không cần đục NAT. Không có thì tới UPnP rồi hole punch.Most VN ISPs and mobile carriers have IPv6: direct, no NAT punching needed. Otherwise we fall back to UPnP and hole punching.

UPnP-IGD / NAT-PMP tự độngAutomatic UPnP-IGD / NAT-PMP

Nếu router cho phép, Peerova tự xin mapping tạm thời rồi gỡ khi tắt. Không cần chỉnh router bằng tay.When the router allows it, Peerova asks for a temporary mapping and removes it on exit. No manual router config.

Mọi giao thứcEvery protocol

TCP và UDP, dải port: HTTP/1.1, HTTP/2, HTTPS (không giải mã), WebSocket, gRPC, QUIC, SSH, RDP, database, MQTT, DNS, VoIP/RTP.TCP and UDP, port ranges: HTTP/1.1, HTTP/2, HTTPS (never decrypted), WebSocket, gRPC, QUIC, SSH, RDP, databases, MQTT, DNS, VoIP/RTP.

CLI + SDK cho mọi ngôn ngữCLI + SDK for any language

CLI chạy với ứng dụng có sẵn, không sửa code. Nhúng sâu hơn qua một C ABI: C/C++, C#, Java/Kotlin, Python, Go, Unity, Godot, Unreal.The CLI works with existing apps, zero code changes. Embed deeper through one C ABI: C/C++, C#, Java/Kotlin, Python, Go, Unity, Godot, Unreal.

0%
mất gói UDP 60 Hz trong 180 s · p99 1,03 msUDP 60 Hz packet loss over 180 s · p99 1.03 ms
soak test, labsoak test, lab
45/45
client đồng thời, license trial thật từ websiteconcurrent clients on a real trial license
lablab
982 / 851
Mbit/s UDP / TCP fallbackMbit/s UDP / TCP fallback
loopback, labloopback, lab
100%
gói game tới nơi khi mất 10% (gửi kèm dự phòng)game packets delivered at 10% loss (with redundancy)
mô phỏngsimulation
+12 ms
ping khi link dùng 95% băng thôngping at 95% link utilisation
mô phỏngsimulation

Đo trong lab (loopback, NAT lab, soak 180 s) và mô phỏng mạng có jitter/mất gói/xáo thứ tự. Số đo Internet thật sẽ công bố khi beta.Measured in the lab (loopback, NAT lab, 180 s soak) and in network simulation with jitter, loss and reordering. Real-Internet numbers will be published during beta.

Mã kết nối 6 ký tự6-character connect codes

Gửi một mã, không phải một địa chỉ IPShare a code, not an IP address

Server công bố một dịch vụ chia sẻ và nhận mã như K7Q2XD. Gửi mã qua Zalo/Slack/email; người nhận chạy một lệnh là vào thẳng — web demo cho khách, SSH/RDP cho nhân viên, database cho team, hay server game. Danh sách dịch vụ công khai cho từng ứng dụng, không lộ ticket.A server announces a service / room and gets a code like K7Q2XD. Send it over chat or email; the recipient runs one command and connects directly — a web demo for a client, SSH/RDP for staff, a database for the team, or a game server. Optional public directory per app, tickets never exposed.

# 1. server (web app demo on :443)
peerova server --app prj_xxx --share "Demo web" --expose https:443
# -> connect code K7Q2XD

# 2. client
peerova client K7Q2XD --forward tcp:8443=443
# open https://localhost:8443
Use caseUse cases

Một tunnel cho mọi workloadOne tunnel, any workload

Game chỉ là một trong nhiều trường hợp. Bất kỳ dịch vụ TCP/UDP nào sau NAT đều dùng được.Games are just one case. Any TCP/UDP service behind NAT works.

Game serverGame servers

Vấn đềProblem

Server dedicated ở nhà/văn phòng sau NAT, người chơi không vào được; relay tính tiền theo CCU và thêm ping.Dedicated servers behind NAT are unreachable; relays bill per CCU and add ping.

Peerova giải quyếtHow Peerova solves it

Người chơi nối thẳng tới server, UDP gốc, không qua relay. SDK cho Unity, Godot, Unreal hoặc CLI không sửa code.Players connect straight to the server over native UDP. SDK for Unity, Godot, Unreal, or the CLI with zero code changes.

peerova server --license $KEY --expose udp:7777
peerova client pvt_... --forward udp:7777

Web app / API: dev & stagingWeb app / API: dev & staging

Vấn đềProblem

Cần cho đồng nghiệp/khách xem localhost hoặc staging mà không đưa traffic qua dịch vụ tunnel kiểu relay.You need to share localhost or staging without pushing traffic through a relay-style tunnel service.

Peerova giải quyếtHow Peerova solves it

HTTPS đi đầu-cuối (không giải mã), không subdomain công khai, chỉ người có ticket/token mới vào được.HTTPS stays end-to-end (never decrypted), no public subdomain, only ticket/token holders get in.

peerova server --license $KEY --private --expose tcp:443
peerova client pvt_... --forward tcp:8443=443

Truy cập từ xa: SSH / RDP cho SMERemote access: SSH / RDP for SMEs

Vấn đềProblem

Muốn vào máy nội bộ, công cụ quản trị mà không mua thiết bị VPN hay mở port 22/3389 ra Internet.You need internal machines and admin tools without a VPN appliance or exposing 22/3389.

Peerova giải quyếtHow Peerova solves it

Server dark: máy quét không thấy gì. Token ký có thời hạn, giới hạn theo port, thu hồi được; log audit từng phiên.Dark server: scanners see nothing. Signed, expiring, per-port tokens you can revoke; audit log per session.

peerova server --license $KEY --access-key $ACCESS_KEY --expose tcp:22 --expose tcp:3389
peerova client pvt_... --access-token $TOKEN --forward tcp:2222=22

Database cho team làm việc từ xaDatabases for remote teams

Vấn đềProblem

Team cần Postgres/MySQL/Redis/Mongo nội bộ; mở port DB ra Internet là rủi ro lớn.The team needs internal Postgres/MySQL/Redis/Mongo; a public DB port is a big risk.

Peerova giải quyếtHow Peerova solves it

Mỗi người một token theo port DB, hết hạn sau ca làm; DB không bao giờ có port công khai.Each person gets a DB-port token that expires after the shift; the DB never has a public port.

peerova server --license $KEY --access-key $ACCESS_KEY --expose tcp:5432
peerova client pvt_... --access-token $TOKEN --forward tcp:5432

IoT / thiết bị biên sau CGNATIoT / edge devices behind CGNAT

Vấn đềProblem

Router 4G, camera, gateway nằm sau CGNAT của nhà mạng — không thể mở port.4G routers, cameras and gateways sit behind carrier CGNAT — port forwarding is impossible.

Peerova giải quyếtHow Peerova solves it

IPv6 trước, sau đó hole punch qua supernode. Thiết bị chỉ cần đi ra ngoài; không cần IP public.IPv6 first, then hole punching via supernodes. Devices only need outbound access; no public IP.

peerova server --license $KEY --expose tcp:554 --expose tcp:80   # RTSP + web UI
peerova client pvt_... --forward tcp:8554=554

Livestream / VoIPLivestream / VoIP

Vấn đềProblem

Âm thanh/hình ảnh thời gian thực nhạy với độ trễ; đi vòng qua relay tăng ping và giới hạn băng thông.Real-time audio/video is latency-sensitive; relay detours add ping and cap bandwidth.

Peerova giải quyếtHow Peerova solves it

Đường thẳng, UDP gốc, dải port RTP; kiểm soát tắc nghẽn theo độ trễ.Direct path, native UDP, RTP port ranges, delay-based congestion control.

peerova server --license $KEY --expose udp:5060 --expose udp:10000-10100

Ứng dụng on-prem cho chi nhánhOn-prem apps for branch offices

Vấn đềProblem

Chi nhánh cần ERP/kế toán/file server ở trụ sở; dữ liệu không được đi qua máy chủ bên thứ ba.Branches need HQ ERP/accounting/file servers; data must not transit third-party servers.

Peerova giải quyếtHow Peerova solves it

Dữ liệu không bao giờ qua máy chủ của nhà cung cấp; chạy như service, cấu hình bằng file, audit log JSON cho SIEM.Data never transits vendor servers; runs as a service with a config file, JSON audit log for your SIEM.

peerova server --config /etc/peerova/peerova.json --audit-log /var/log/peerova/audit.jsonl
Giao thứcProtocols

Ma trận giao thứcProtocol matrix

Peerova tunnel ở tầng TCP stream và UDP datagram, nên giao thức phía trên chạy nguyên vẹn.Peerova tunnels TCP streams and UDP datagrams, so everything on top runs unchanged.

Giao thứcProtocolTransportHỗ trợSupportedGhi chúNotes
TCP (any app)TCP✓ CóYesMọi ứng dụng TCP: --expose tcp:PORTAny TCP app: --expose tcp:PORT
UDP (any app)UDP✓ CóYesDatagram tới 64 KB nhờ phân mảnh trong tunnelDatagrams up to 64 KB via in-tunnel fragmentation
HTTP/1.1 · HTTP/2TCP✓ CóYesKhông cần reverse proxy, Host header giữ nguyênNo reverse proxy, Host header untouched
HTTPS / TLSTCP✓ CóYesĐầu-cuối: Peerova không giải mã, chứng chỉ của bạn giữ nguyênEnd-to-end: never decrypted, your certificate stays
WebSocket / WSSTCP✓ CóYesKết nối dài, upgrade bình thườngLong-lived, normal upgrade
gRPCTCP (HTTP/2)✓ CóYesStreaming hai chiềuBidirectional streaming
QUIC / HTTP/3UDP✓ CóYesForward UDP 443Forward UDP 443
SSH · SFTPTCP✓ CóYes--expose tcp:22--expose tcp:22
RDP · VNCTCP (+UDP)✓ CóYesRDP: expose cả tcp:3389 và udp:3389 để mượt hơnRDP: expose both tcp:3389 and udp:3389 for smoother sessions
MySQL · Postgres · Redis · MongoDBTCP✓ CóYesGiữ TLS của DB nếu có; không cần mở port DB ra InternetKeep DB TLS if used; never expose the DB port publicly
MQTTTCP✓ CóYes1883 / 8883 (TLS)1883 / 8883 (TLS)
DNSUDP + TCP✓ CóYesExpose cả udp:53 và tcp:53Expose both udp:53 and tcp:53
VoIP · SIP · RTPUDP✓ CóYesDải port RTP: --expose udp:10000-10100RTP port range: --expose udp:10000-10100
FTP (passive)TCP◐ Một phầnPartialExpose tcp:21 + dải passive (vd. tcp:30000-30100) và cấu hình server FTP dùng đúng dải đóExpose tcp:21 + the passive range (e.g. tcp:30000-30100) and pin the FTP server to it
Game UDPUDP✓ CóYesGói game, voice chat; CCU giới hạn theo góiGame packets, voice; CCU per plan
ICMP · raw IP (ping, L3 VPN)—✗ ChưaNot yetChưa hỗ trợ; chế độ VPN L3 nằm trong roadmapNot yet; an L3 VPN mode is on the roadmap
Vượt mặt relayBeyond relays

Không relay, vẫn kết nối được — và nhanh hơnNo relay, still connected — and faster

So sánh với mở port, dịch vụ relay và tunnel cloud. Ô màu đỏ là điểm yếu; ô vàng là giới hạn thật của Peerova.Compared with port forwarding, relay services and cloud tunnels. Red cells are weaknesses; yellow cells are Peerova's real limits.

Mở portPort forwardingRelayTunnel cloudCloud tunnelPeerova
Client phải mở portClient must open portsKhôngNoKhôngNoKhôngNoKhôngNo
Server phải mở portServer must open portsCóYesKhôngNoKhôngNoKhôngNo
Dữ liệu đi qua bên thứ 3Data passes a third partyKhôngNoCóYesCóYesKhôngNo
Độ trễ cộng thêmAdded latency0+10–80 ms+10–80 ms0 (đường thẳng)0 (direct path)
Server bị quét / tấn côngServer scanned / attackedCóYesKhôngNoÍtRarelyKhông (dark)No (dark)
Mã hoá đầu-cuốiEnd-to-end encryptionTuỳ ứng dụngApp-dependentTới relayUp to the relayTới cloudUp to the cloudCóYes
Ẩn IP với người lạIP hidden from strangersKhôngNoCóYesCóYesCó (private ticket)Yes (private ticket)
Kết nối mọi loại NATConnects across every NAT—CóYesCóYesGần đủ (trừ symmetric ↔ symmetric)Almost (except symmetric ↔ symmetric)
Chịu DDoS băng thôngAbsorbs volumetric DDoSKhôngNoCóYesCóYesMột phần (failover)Partly (failover)
Chi phí vận hành nhà cung cấpProvider running cost0Cao (băng thông)High (bandwidth)CaoHigh≈ 0≈ 0

Ma trận NAT trong lab (không ai mở port)Lab NAT matrix (nobody opened a port)

Server ↔ clientServer ↔ clientQua supernodeVia supernodeChỉ qua websiteWebsite only
Router gia đình ↔ router gia đìnhHome router ↔ home router✓ 3/3 · 0,3 s✓ 2/2 · 1,8 s
Router gia đình ↔ NAT khó (4G)Home router ↔ hard NAT (4G)✓ 3/3 · 1,8 s✓ 2/2 · 2,3 s
NAT khó ↔ router gia đìnhHard NAT ↔ home router✓ 3/3 · 2,5 s✓ 2/2 · 4,2 s
Router gia đình ↔ CGNAT nhà mạngHome router ↔ carrier CGNAT✓ 3/3 · 1,6 s✓ 2/2 · 2,2 s
CGNAT ↔ CGNATCGNAT ↔ CGNAT✓ 3/3 · 3,8 s✗ 0/2: website không thấy port UDP thật0/2: the website cannot see the real UDP port
Symmetric ngẫu nhiên ↔ symmetric ngẫu nhiênRandom symmetric ↔ random symmetric✗ giới hạn chung của cả ngànhindustry-wide limit✗ giới hạn chungindustry-wide limit
Mạng chặn UDPUDP-blocking network✓ TCP trực tiếp đa luồngdirect multi-stream TCP✓ ✓
Có IPv6 ở cả hai bênIPv6 on both sides✓ đi thẳngdirect✓ ✓

Đo trong lab mô phỏng NAT (network namespace), không phải Internet thật. CGNAT ↔ CGNAT cần ít nhất một supernode (máy bất kỳ có IP public hoặc IPv6). Symmetric ngẫu nhiên ở cả hai bên là giới hạn chung của mọi giải pháp không relay.Measured in a NAT lab (network namespaces), not the real Internet. CGNAT ↔ CGNAT needs at least one supernode (any machine with a public IP or IPv6). Random symmetric NAT on both sides is a limit shared by every relay-free solution.

Tích hợpIntegrate

Một dòng lệnh, hoặc vài dòng codeOne command, or a few lines of code

CLI chạy ngay với ứng dụng có sẵn. SDK (bản preview) dùng chung một C ABI cho mọi ngôn ngữ và engine.The CLI works with existing apps today. The SDK (preview) shares one C ABI across languages and engines.

# 1. Check the network (IPv6, UPnP/NAT-PMP, NAT type)
peerova doctor

# 2. Server identity key -> server.key
peerova keygen

# 3. Server: expose local services through the tunnel. No public port is opened.
peerova server --port 47000 --license PVA-XXXXX-XXXXX-XXXXX-XXXXX \
  --expose tcp:443 --expose tcp:22 --expose tcp:5432 --expose udp:10000-10100
# -> prints TICKET pvt_...  (hand it to authorized clients)

# 4. Client: map remote services to localhost
peerova client pvt_... --forward tcp:8443=443 --forward tcp:2222=22 --forward tcp:5432
curl -k https://127.0.0.1:8443      # HTTPS stays end-to-end (not decrypted)
ssh -p 2222 user@127.0.0.1
psql -h 127.0.0.1 -p 5432
using UnityEngine;
using Peerova.Unity;   // UPM package com.peerova.sdk (C# binding of the C ABI)

public class NetHost : MonoBehaviour
{
    void Start()
    {
        var net = gameObject.AddComponent<PeerovaBehaviour>();
        net.OnHostStarted.AddListener(ticket => Debug.Log("ticket: " + ticket));
        net.OnMessage.AddListener((peer, ch, data, reliable) =>
            Debug.Log(System.Text.Encoding.UTF8.GetString(data)));
        net.Host();            // or net.Join(ticketOrConnectCode)
    }
}
// Note: write Peerova.Event / Peerova.EventType in full — UnityEngine has types with the same names.
using Peerova;   // csharp/Peerova.cs (.NET Standard 2.1 / .NET 6+)

using var srv = Server.Start(new ServerConfig { Port = 47000, License = "PVA-XXXXX-XXXXX-XXXXX-XXXXX" });
Console.WriteLine("ticket: " + srv.Ticket);

while (true)
{
    if (srv.Poll(out Event ev, 100))
    {
        if (ev.Type == EventType.Connected) Console.WriteLine($"peer {ev.Peer} connected");
        if (ev.Type == EventType.Message)   srv.Send(ev.Peer, ev.Data, channel: ev.Channel, reliable: true); // echo
    }
}
# addons/peerova (Godot 4.2+ .NET project) — add a PeerovaNode to the scene
@onready var net = $PeerovaNode

func _ready():
    net.connect("Connected", func(peer): net.SendText(peer, "hi", 0, true))
    net.connect("Message", func(peer, ch, data, reliable): print(data.get_string_from_utf8()))
    net.Join(ticket_or_connect_code)   # or net.Host()
import os, peerova   # ctypes binding; library via PEEROVA_LIB if needed

srv = peerova.Server(port=47000, license=os.environ.get("PEEROVA_LICENSE", "PVA-XXXXX-XXXXX-XXXXX-XXXXX"),
                     app="prj_xxx", share={"name": "Demo API", "public": True, "max": 50})
print("ticket:", srv.ticket, "connect code:", srv.room_code)

for ev in srv.events(timeout=1.0):
    if ev.type == peerova.CONNECTED:
        print("peer", ev.peer, "connected")
    elif ev.type == peerova.MESSAGE:
        srv.send(ev.peer, ev.data, channel=ev.channel, reliable=True)   # echo
// java/ (JNI): peerova.jar + libpeerova_jni + libpeerova
try (Peerova.Server srv = Peerova.Server.start("{\"port\":47000}");
     Peerova.Client cli = Peerova.Client.connect(srv.ticket())) {
    Peerova.Event ev = cli.poll(10000);          // CONNECTED
    cli.send(ev.peer, "hello", 0, true);
    Peerova.Event m = srv.poll(5000);            // CONNECTED, then MESSAGE
}
// go get github.com/peerova/peerova-go   (cgo, links libpeerova)
srv, _ := peerova.StartServer(`{"port":47000}`)
defer srv.Close()
cli, _ := peerova.Connect(srv.Ticket(), "")
ev, _ := cli.PollWait(10 * time.Second)        // Connected
cli.Send(ev.Peer, []byte("hello"), 0, true)
#include "peerova.h"   /* libpeerova.so · peerova.dll · libpeerova.dylib */
#include <stdio.h>

int main(void) {
    peerova_node* n = peerova_server_start("{\"port\":47000,\"license\":\"PVA-XXXXX-XXXXX-XXXXX-XXXXX\"}");
    if (!n) { fprintf(stderr, "%s\n", peerova_last_error()); return 1; }
    char ticket[1024];
    peerova_ticket(n, ticket, sizeof ticket);
    printf("peerova %s ticket: %s\n", peerova_version(), ticket);

    peerova_event ev;
    for (;;) {
        if (peerova_poll_wait(n, &ev, 100) == 1 && ev.type == PEEROVA_EVENT_MESSAGE)
            peerova_send(n, ev.peer, ev.channel, ev.data, ev.len, 1 /* reliable */);
    }
    peerova_free(n);
}
Enterprise

Bảo mật cấp doanh nghiệp, không cần thiết bị VPNEnterprise-grade security without a VPN appliance

Nối chi nhánh, nhân viên từ xa, đối tác tới dịch vụ nội bộ — với token theo port, audit log và dữ liệu không rời hạ tầng của bạn.Connect branches, remote staff and partners to internal services — with per-port tokens, audit logs, and data that never leaves your infrastructure.

  • E2E Noise IKE2E Noise IKX25519 + ChaCha20-Poly1305; ticket ghim public key server nên không giả mạo được.X25519 + ChaCha20-Poly1305; the ticket pins the server public key, so impersonation fails.
  • Dark serverDark serverKhông cổng nào trả lời máy quét; gói chưa xác thực bị bỏ im lặng.No port answers scanners; unauthenticated packets are silently dropped.
  • Token truy cập ký, ngắn hạn, theo portSigned, short-lived, per-port access tokenspeerova token issue --access-key access.key --ports tcp:443 --ttl 8h --sub alice. Phát token từ backend SSO/IdP của bạn.peerova token issue --access-key access.key --ports tcp:443 --ttl 8h --sub alice. Mint them from your own SSO/IdP backend.
  • Allow-list & thu hồi khoá clientClient key allow-list & revocationChỉ khoá client được duyệt mới vào; thu hồi tức thì.Only approved client keys get in; revoke instantly.
  • Audit log JSONJSON audit logMỗi kết nối: ai, khi nào, dịch vụ nào, bao nhiêu byte — đẩy thẳng vào SIEM.Every connection: who, when, which service, bytes — straight into your SIEM.
  • Chạy như serviceRuns as a servicesystemd / Windows service, cấu hình bằng peerova.json.systemd / Windows service with a peerova.json config file.
  • Tự host máy chủ licenseSelf-hosted license authorityGói Enterprise: chạy authority trên hạ tầng của bạn (Node/VPS).Enterprise plan: run the authority on your own infrastructure (Node/VPS).
  • Dữ liệu không qua nhà cung cấpData never transits vendor serversPhù hợp yêu cầu tuân thủ và lưu trú dữ liệu.Fits compliance and data-residency requirements.
So sánhCompare

Mở port vs relay vs PeerovaPort forwarding vs relay vs Peerova

Bảng so sánh trung thực — relay và mở port đều có chỗ mạnh.An honest comparison — relays and port forwarding have their strengths.

Mở port truyền thốngPort forwardingDịch vụ dùng relayRelay-based servicePeerova
Cần cấu hình routerRouter configurationCó, phải forward tayYes, manual forwardingKhôngNoKhông: tự dùng UPnP/NAT-PMP, IPv6 hoặc hole punchNo: automatic UPnP/NAT-PMP, IPv6 or hole punching
Port lộ ra InternetPort exposed to the InternetMở công khai, ai cũng quét thấyPublic; any scanner sees itKhông (server nằm sau relay)No (server sits behind the relay)Dark: không trả lời gói thiếu ticket, quét port không thấy gìDark: no reply without a ticket; scans see nothing
Chạy sau CGNAT (4G, nhiều gói cáp quang)Works behind CGNAT (4G, many fibre plans)KhôngNoCóYesĐược nếu có IPv6 hoặc phía server reachable; không được nếu cả hai bên đều symmetric NAT/CGNAT và không có IPv6Yes with IPv6 or a reachable server side; no if both sides are symmetric NAT/CGNAT without IPv6
Độ trễLatencyThấp nhất (đường thẳng)Lowest (direct path)+10–80 ms (đi vòng qua relay)+10–80 ms (detour via relay)Thấp nhất (đường thẳng)Lowest (direct path)
Chi phí vận hànhRunning cost00Theo CCU / băng thôngPer CCU / bandwidth≈ 0 băng thông; chỉ thuê license≈ 0 bandwidth; license only
Mã hoáEncryptionTuỳ game (thường không)Up to the game (often none)Thường chỉ tới relayOften only up to the relayE2E Noise IK (X25519 / ChaCha20-Poly1305)E2E Noise IK (X25519 / ChaCha20-Poly1305)
Ẩn IP serverServer IP hiddenLộ hoàn toànFully exposedẨn sau relayHidden behind the relayMột phần: ticket riêng không chứa IP; IP chỉ lộ cho client đã có ticket và đã xác thựcPartly: private ticket has no IP; only authenticated ticket holders learn it
Chống DDoS dung lượng lớnVolumetric DDoSKhôngNoRelay hấp thụAbsorbed by the relayKhông hấp thụ được nếu kẻ tấn công đã được cấp quyền và biết IP; người lạ không thấy serverCannot absorb it from an authorized client who knows the IP; strangers cannot see the server
Giao thứcProtocolsMọiAnyThường chỉ SDK riêngOften the vendor SDK onlyMọi: TCP (HTTP/HTTPS/WS/SSH…) + UDP (game, QUIC, voice) + SDKAny: TCP (HTTP/HTTPS/WS/SSH…) + UDP (game, QUIC, voice) + SDK

Bảng đầy đủ + hạn chế thật của P2P →Full table + the real limits of P2P →

FAQ

Câu hỏi thường gặpFrequently asked questions

Peerova có cần VPS hay relay không?Do I need a VPS or relay?
Không. Máy chạy dịch vụ (máy nhà, máy văn phòng, server thuê, thiết bị IoT) chạy peerova server. Mọi server Peerova đồng thời là supernode giúp các server khác tìm nhau — dữ liệu không đi qua supernode.
No. The machine running your service (home box, office server, rented server, IoT device) runs peerova server. Every Peerova server is also a supernode that helps others find each other — your data never passes through a supernode.
Client có biết IP thật của server không?Do clients learn the server's real IP?

Nói thật: có. Kết nối P2P trực tiếp nghĩa là client đã được phép sẽ biết IP của server tại thời điểm kết nối — đó là cái giá của việc không có relay.

Peerova giảm phơi nhiễm hết mức có thể: server không mở cổng nào; gói tin chưa xác thực bị bỏ qua im lặng (không trả lời, không lộ dịch vụ); IP không nằm trong ticket công khai (--private); địa chỉ chỉ được cấp cho client đã được phép, đúng lúc kết nối.

Nhưng nếu chính một client đã được phép cố tình tấn công DDoS dung lượng lớn vào IP đó, Peerova không thể hấp thụ lưu lượng như một relay/scrubbing chuyên dụng. Nếu dịch vụ của bạn là mục tiêu DDoS thường xuyên, hãy cân nhắc giải pháp có relay cho phần đó.

Honest answer: yes. Direct P2P means an authorized client necessarily learns the server's IP at connect time — that is the price of having no relay.

Peerova minimizes exposure: no open ports; unauthenticated traffic is silently dropped (no reply, no service fingerprint); the IP is not in the public ticket (--private); addresses are only issued to authorized clients at connect time.

But if an authorized client turns malicious and launches a volumetric DDoS at that IP, Peerova cannot absorb it the way a scrubbing relay can. If your service is a frequent DDoS target, consider a relay-based solution for that part.

Khi nào Peerova KHÔNG kết nối được?When can Peerova NOT connect?

Không có relay nên: nếu cả hai bên đều sau NAT đối xứng (symmetric) cấp port ngẫu nhiên, không có IPv6, không UPnP — sẽ không thông. Với dedicated server bạn kiểm soát mạng phía server (bật IPv6/UPnP hoặc mở 1 port UDP — vẫn dark) thì gần như luôn thông. Firewall doanh nghiệp chặn hẳn UDP cũng là giới hạn.

There is no relay, so if both sides are behind symmetric NATs with random ports, without IPv6 or UPnP, it will not connect. With a dedicated server whose network you control (enable IPv6/UPnP or open one UDP port — still dark) it almost always works. Corporate firewalls that block UDP entirely are also a limit.

Có giới hạn kỹ thuật nào khác?Any other technical limits?
  • TCP fallback (--tcp) bị head-of-line blocking trên đường truyền mất gói nhiều — UDP vẫn là đường chính.
  • ICMP/raw IP chưa được tunnel (ping, VPN L3) — chế độ L3 nằm trong roadmap.
  • FTP passive cần expose cả dải port passive.
  • The TCP fallback (--tcp) suffers head-of-line blocking on lossy links — UDP remains the main path.
  • ICMP/raw IP is not tunneled yet (ping, L3 VPN) — an L3 mode is on the roadmap.
  • Passive FTP needs its passive port range exposed.
License hoạt động thế nào? Mất mạng thì sao?How do licenses work offline?
Server đổi license key lấy một lease ký Ed25519, kiểm tra offline, hạn 7 ngày, tự gia hạn mỗi 6 giờ. Mất kết nối tới máy chủ license vẫn chạy bình thường tối đa 7 ngày. Không có key: chế độ dev miễn phí 1 server, 3 kết nối đồng thời.
The server trades its license key for an Ed25519-signed lease, verified offline, valid 7 days, renewed every 6 hours. If the license server is unreachable you keep running for up to 7 days. No key: free dev mode, 1 server, 3 concurrent connections.
Thanh toán bằng gì?How can I pay?
Trong nước: chuyển khoản VietQR (tự kích hoạt khi tiền về). Quốc tế: thẻ qua Lemon Squeezy (USD). Doanh nghiệp: hợp đồng, hoá đơn, có thể tự host máy chủ license.
Vietnam: VietQR bank transfer (auto-activated when the money lands). International: card via Lemon Squeezy (USD). Enterprise: contract, invoicing, optional self-hosted license authority.
Các bạn có thấy dữ liệu của tôi không?Can you see my data?
Không. Dữ liệu đi thẳng và được mã hoá đầu-cuối, không bao giờ qua máy chủ của chúng tôi. Chúng tôi chỉ nhận số liệu tổng hợp (số kết nối theo phương thức, CCU) để hiển thị thống kê.
No. Traffic goes direct, end-to-end encrypted, and never transits our servers. We only receive aggregate counters (connections per method, CCU) for statistics.

Chạy server, đưa ticket, kết nối.Run the server, share a ticket, connect.

14 ngày dùng thử, license tự tạo khi đăng ký.14-day trial, license key created automatically on signup.