MONO VPN
Documentation technique

Comment configurer un serveur NaiveProxy

NaiveProxy peut être hébergé en tant qu'inbound dans une sing-box avec TLS et nom de domaine. La structure du nœud, la configuration et les vérifications de base sont décrites ci-dessous.

1. DNS et ACME

Créez un enregistrement A DNS uniquement, par exemple naive.example.com, dirigé vers l’adresse IP du serveur. Pour émettre automatiquement un certificat, le domaine doit se résoudre sur ce nœud et TCP 80 et 443 doivent être accessibles de l'extérieur. Ne publiez pas l’API du service Sing-box sur Internet.

2. Installation de la sing-box

Utilisez le référentiel officiel sing-box et la version actuelle, qui contient le type NaiveProxy requis. Après l'installation, vérifiez le binaire et la configuration avec une commande régulière.

sing-box version
sing-box check -C /etc/sing-box

3. Structure de configuration minimale

{
  "inbounds": [{ "type": "naive", "listen": "::", "listen_port": 443,
    "users": [{"username": "ACCOUNT", "password": "GENERATE_ME"}],
    "tls": {"enabled": true, "server_name": "naive.example.com",
      "acme": {"domain": ["naive.example.com"]}}
  }], "outbounds": [{"type": "direct", "tag": "direct"}]
}

En production, définissez le courrier électronique ACME, les limites de journalisation, le fichier cache et un secret aléatoire distinct pour l'API locale. Générez des mots de passe utilisateur de manière cryptographique de manière aléatoire et ne les réutilisez pas.

4. Pool de comptes

Préchargement

Les utilisateurs entrants sont chargés à partir de la configuration. Pour évoluer, préparez un pool de comptes et un plan de redémarrage géré.

Statut d'accès

Stockez le serveur, le port, le nom du serveur, le nom d'utilisateur et le mot de passe dans un stockage sécurisé. La libération des comptes expirés doit être idempotente.

5. Surveillance et vérification

  • Vérifiez l'état de la sing-box et du certificat TLS.
  • Surveillez le processeur, la RAM, les connexions actives et la vitesse du trafic.
  • Stockez l'API locale uniquement sur localhost et fermez-la avec un pare-feu.
  • Vérifiez le port externe 443 et testez le profil avec un client distinct.

Les statistiques par utilisateur nécessitent une prise en charge distincte dans l’assembly et l’agent. Un instantané du trafic à l'échelle du serveur ne prouve pas en soi l'activité d'un utilisateur spécifique.

Sécurité

Ne mettez pas de secrets dans le frontend, Git, les instructions publiques ou les URL. Utilisez des secrets d'API distincts, des clés SSH, des sauvegardes de configuration et une rotation régulière. Pour la production, testez d’abord la configuration sur un domaine distinct.