Le prototype de l’application SingLinkVPN est désormais open source

By SingLinkVPN Editorial Team2026-11-12Mises à jour du produit5 min de lecture
Le prototype de l’application SingLinkVPN est désormais open source
Contents

Aujourd’hui, SingLinkLabs, l’équipe derrière SingLinkVPN, a publié sur GitHub le code source du prototype de première génération de l’application SingLinkVPN, sous licence Apache-2.0. C’est une application VPN grand public pour Windows, macOS, Android et iOS, développée à partir d’une seule base de code sur le protocole SingLink, lui aussi tout juste publié en open source.

Elle est publiée en même temps que le protocole lui-même : voir le protocole SingLink est désormais open source. Ensemble, ils montrent comment un protocole VPN ouvert et un client complet s’articulent, du bouton de connexion jusqu’aux paquets chiffrés.

Dépôt : SingLinkLabs / singlink-vpn-app · Statut : prototype de première génération · Licence : Apache-2.0 · Technologies : Flutter (Dart) pour l’interface, Go pour le cœur

Ce n’est pas l’application que vous téléchargez sur notre site

Les applications officielles SingLinkVPN que vous téléchargez sur notre site et dans les boutiques d’applications sont des produits distincts. Elles fonctionnent avec nos protocoles de production, dont SingLink 2.0, et leur code source principal ne fait pas partie de cette publication. Rien ne change pour les utilisateurs actuels.

Le prototype est un client de référence pour le protocole ouvert SingLink. Il se connecte uniquement aux serveurs qui parlent ce protocole et ne comporte aucune connexion à un compte : vous ajoutez vous-même les serveurs en collant un lien de serveur ou en l’important depuis le presse-papiers. Il n’est publié dans aucune boutique d’applications.

Ce que fait l’application

  • Connexion et déconnexion en un geste grâce à un grand bouton rond qui affiche trois états : non connecté, connexion en cours et connecté.
  • État de la protection (« Not protected » ou « Protected ») et minuteur de connexion.
  • Votre IP : une fois connecté, l’application affiche l’adresse IP de sortie que voient les sites web.
  • Choix de l’emplacement : les serveurs sont listés avec le drapeau de leur pays, avec « Quick connect (auto) » en tête de liste. Changer d’emplacement pendant une connexion déclenche une reconnexion automatique.
  • Latence honnête : seules les valeurs mesurées sont affichées. Les serveurs qui n’ont pas été mesurés affichent « — » au lieu d’un chiffre inventé.
  • Débit en direct : vitesses de téléchargement et d’envoi, ainsi que les données consommées pendant la session en cours.
  • Messages d’erreur clairs qui indiquent quoi faire ensuite, avec les détails techniques accessibles d’un geste.
  • Modes clair et sombre, qui suivent le réglage du système.

Deux modes de connexion

Sur les téléphones, un VPN pour tout l’appareil. Android utilise le VpnService du système et iOS une Network Extension. Le trafic de toutes les applications passe par le tunnel, et les requêtes DNS s’y effectuent aussi.

Sur les ordinateurs, le mode proxy système. À la connexion, l’application configure le proxy système, puis rétablit vos réglages précédents lorsque vous vous déconnectez ou quittez l’application. Si elle est fermée de force pendant une connexion, elle les rétablit au démarrage suivant. Les navigateurs et la plupart des applications suivent le proxy système ; quelques programmes qui ignorent les réglages de proxy ne le font pas. Un VPN au niveau des paquets pour ordinateur (une Network Extension sur macOS, Wintun sur Windows) est la prochaine étape prévue.

Comment elle est construite

  • Une seule base de code Flutter produit les quatre applications, avec la même interface sur chaque plateforme. L’interface est en anglais.
  • Un cœur en Go contient le protocole SingLink et est compilé en bibliothèque native pour chaque plateforme, que l’application appelle directement.
  • Sur les téléphones, le cœur ajoute la pile réseau en espace utilisateur gVisor de Google (Apache-2.0), qui transforme tout le trafic de l’appareil en connexions SingLink.
  • Écrite de zéro. Hormis le modèle vide que Flutter génère pour un nouveau projet, tout le code est nouveau. Aucun code, aucune icône ni aucune image n’a été repris d’autres applications VPN.

Où en est chaque plateforme

  • macOS 13 ou ultérieur (Apple silicon) : mode proxy système. Compilée et testée avec une vraie connexion.
  • Android 7 ou ultérieur : VPN pour tout l’appareil. L’APK est compilé et a été testé avec une vraie connexion sur l’émulateur Android.
  • iOS 15 ou ultérieur : VPN pour tout l’appareil. L’application se compile et s’exécute dans le simulateur iOS ; le simulateur ne peut pas créer de tunnel VPN, et l’exécution sur un vrai iPhone nécessite un compte Apple Developer.
  • Windows 10 et 11 (x64) : mode proxy système. La bibliothèque du cœur est compilée ; l’application elle-même doit être compilée sous Windows, et le dépôt inclut un workflow GitHub Actions qui s’en charge.

Limites, en toute franchise

  • C’est un prototype. Il s’adresse aux développeurs, aux chercheurs et à tous ceux qui veulent voir comment les pièces s’assemblent, et ne remplace pas les applications officielles.
  • La distribution demande des étapes supplémentaires. Une version Mac publique nécessite la signature et la notarisation d’Apple, un vrai iPhone nécessite un compte Apple Developer, et les builds Android sont signés avec une clé de test.
  • La prise en charge de macOS se limite pour l’instant à macOS 13 ou ultérieur sur les Mac Apple silicon (M-series).
  • Sur ordinateur, c’est le mode proxy système, donc les programmes qui ignorent les réglages de proxy ne sont pas encore couverts.
  • Le protocole sous-jacent est un brouillon. Il a fait l’objet d’un audit de sécurité interne mais pas encore d’un audit tiers, et il n’a pas été testé sur le terrain en Chine continentale.
  • Les noms des serveurs s’affichent tels que le serveur les envoie. Nommez vos serveurs en anglais pour une interface entièrement en anglais.

La compiler et participer

Le README du dépôt explique comment compiler le cœur et l’application pour chaque plateforme. Le cœur du protocole se trouve dans son propre dépôt, SingLinkLabs / singlink-protocol.

Questions, rapports de bugs et pull requests sont les bienvenus sur GitHub. Merci de signaler les vulnérabilités de sécurité en privé plutôt que dans une issue publique : la procédure est décrite dans SECURITY.md, dans le dépôt du protocole.

Licence et marques

Le code est distribué sous licence Apache-2.0 : vous pouvez l’utiliser, le modifier et le redistribuer, y compris à des fins commerciales, selon les termes de la licence. Les noms « SingLink » et « SingLinkVPN », leurs noms chinois et le logo sont des marques de SingLinkLabs, et la licence n’autorise pas leur utilisation. Les forks doivent utiliser leur propre nom et leur propre icône. L’application inclut la pile réseau gVisor, elle aussi sous licence Apache-2.0.

Pour aller plus loin

Related articles