Dezvoltatori

Integrează Warren în aplicația ta

Un motor în Rust, un SDK pentru limbajul tău și vectori de test care garantează că toate implementările vorbesc exact același protocol. Totul open source.

Un singur motor, mai multe limbaje

Protocolul este implementat o singură dată, în motorul Rust. Fiecare SDK încorporează acest motor și îl expune printr-un API natural pentru limbajul său. SDK-ul TypeScript este excepția: reimplementează protocolul pe cont propriu și dovedește că rămâne compatibil rejucând aceiași vectori de test ca motorul.

Rust

Motorul de referință, cel pe care celelalte SDK-uri îl încorporează. Gestionează identitatea, tunelul QUIC, multi-hop-ul și un proxy local fără privilegii (SOCKS5, HTTP CONNECT, DNS prin tunel, IPv6, port forwarding). Testat continuu pe servere de ieșire reale.

Depozit: WarrenBrowse/warren-sdk-rs
Dart / Flutter

Integrează Warren într-o aplicație Flutter, desktop și mobil. Motorul Rust rulează in-process prin flutter_rust_bridge și expune un proxy SOCKS5 local, fără privilegii. Modul VPN de sistem (TUN) este validat pe macOS; celelalte platforme urmează.

Depozit: WarrenBrowse/warren-sdk-dart
TypeScript

Identitatea, semnarea cererilor și dialogul cu API-ul, rescrise în TypeScript pur: browser, Node, Electron. Aceiași vectori de test garantează compatibilitatea cu motorul Rust. Sub Node, traficul tunelului trece prin motorul nativ (napi-rs); un browser singur nu poate deschide un tunel QUIC, deci SDK-ul se limitează acolo la identitate și API.

Depozit: WarrenBrowse/warren-sdk-ts
Python / Kotlin

Binding-uri uniffi generate peste motorul Rust (crate warren-sdk-ffi) și validate în CI.

Depozit: WarrenBrowse/warren-sdk-rs

Un protocol fixat la nivel de bit

Fiecare format de schimb (identitate, semnături, lista serverelor de ieșire, sigilarea multi-hop) este fixat în depozitul warren-vectors, sub formă de octeți de referință pe care fiecare implementare trebuie să îi reproducă exact. CI rejoacă acești vectori continuu: un SDK care se abate de la format nu mai trece testele.

Ce poate face SDK-ul

  • Identitate non-custodială: o frază BIP39, o cheie Ed25519 derivată pe dispozitivul tău, o adresă SS58 care începe cu wb. Cheia privată nu îți părăsește niciodată dispozitivul.
  • Cererile API sunt semnate cu cheia contului (niciun token de furat), iar lista serverelor de ieșire este verificată prin semnătură.
  • Tunel WarrenGuard complet: QUIC, TLS 1.3 cu Raw Public Keys, obfuscare activă implicit.
  • Multi-hop sigilat: releul transportă traficul fără să îl poată citi (HPKE).
  • Proxy local fără privilegii: SOCKS5, HTTP CONNECT, DNS rezolvat prin tunel, IPv6.
  • Port forwarding: SDK-ul cere și eliberează porturi publice pe un server de ieșire.

Licențe și depozite

Motorul și SDK-urile sunt publicate sub AGPL-3.0, aplicația sub GPL-3.0. Aceiași vectori de test validează orice implementare terță.