Premiers pas sur Android
Chute Android exécute le même moteur que les autres éditions, porté en Kotlin, et lit le même fichier de configuration. Cette page parcourt le premier lancement ; Premiers pas contient l'équivalent pour iOS, macOS et tvOS, et la configuration minimale qui y figure fonctionne sur Android telle quelle.
1. Obtenir une configuration
Au premier lancement, sans aucune configuration, Chute ouvre un assistant de configuration (« Configurons votre première configuration de proxy ») qui propose trois chemins : une URL d'abonnement fournie par votre fournisseur, un QR code, ou les coordonnées de votre propre serveur suivies des sites à faire passer par le proxy et d'un choix de DNS. Sa dernière étape, Créer et connecter, enregistre la configuration, la sélectionne et démarre le tunnel. Ignorer ferme l'assistant ; tant qu'il n'y a toujours aucune configuration, il se rouvre au prochain lancement de Chute, mais pas quand l'écran pivote ni quand vous revenez dans l'application. Afficher l'assistant de configuration dans les réglages rouvre l'assistant.
L'URL d'abonnement doit être une adresse https://. Un profil natif que l'assistant télécharge — depuis cette URL ou depuis une adresse portée par un QR code — est conservé comme configuration gérée, rafraîchie toutes les 86400 secondes, la valeur par défaut d'Ajouter un abonnement ci-dessous. Un profil Clash ou sing-box, qu'il vienne de l'abonnement ou d'un QR code, est converti en instantané statique, qui n'est pas rafraîchi, comme sur la page Configurations. Le QR code est lu comme cette page le lit : un lien chute://download (ou import, install-config, subscribe) est l'adresse à télécharger, un code peut porter une configuration entière, et un code chute://tv ou chute://remote ouvre la boîte de dialogue de dépôt distant de l'écran principal.
Pour ajouter une configuration plus tard, touchez la barre Config de l'écran principal pour ouvrir Configurations, puis Ajouter une configuration depuis... :
- Configuration vierge — enregistre un modèle sous
Untitled.confsans ouvrir l'éditeur ; ouvrez-le avec Modifier en mode structuré ou Modifier le texte depuis le menu ⋮ de la ligne. - Ajouter un abonnement — télécharge l'URL d'un fournisseur et la conserve comme configuration gérée, rafraîchie à l'intervalle que vous saisissez dans la boîte de dialogue (86400 secondes par défaut). Un abonnement Clash ou sing-box est converti au passage et enregistré comme instantané statique, sans en-tête de mise à jour : il ne se rafraîchit donc pas de lui-même.
- Importer depuis un fichier local — importe un fichier Chute (
.conf), sing-box (.json) ou Clash/mihomo (.yaml) ; les formats non natifs sont convertis. - Télécharger depuis une URL, Télécharger depuis un QR code, Envoyer un fichier via Wi-Fi — d'autres moyens pour la même chose. La page d'envoi Wi-Fi liste les adresses à ouvrir dans un navigateur sur le même réseau, protégées par un PIN.
- Serveur distant — charge une configuration depuis un dépôt de configurations distant.
Un lien chute://download?url=... ouvert depuis l'extérieur de l'application — touché, ou scanné avec l'appareil photo — télécharge lui aussi le fichier, et un profil Clash ou sing-box est converti en instantané statique comme sur la page Configurations ; mais le lien n'ajoute aucun abonnement : chute://subscribe?url=... n'est qu'un alias de download. L'application ne rafraîchit jamais un profil natif qu'un tel lien enregistre, même si un moteur en cours d'exécution récupère son URL toutes les 24 heures et applique le nouveau contenu en mémoire — voir Schéma d'URL. Scanné dans l'assistant de configuration, le même lien vers un profil natif donne au contraire une configuration gérée que l'application rafraîchit toutes les 86400 secondes.
Sans licence, Chute ne conserve qu'une seule configuration locale ; en ajouter une deuxième par n'importe quel canal est une fonctionnalité Chute Pro — voir Licence et activation.
2. La sélectionner
Sur la page Configurations, touchez une configuration pour qu'elle soit marquée En attente, puis touchez Terminé : c'est la configuration que Chute exécute. Celle que vous venez d'y ajouter revient déjà marquée En attente, tout comme celle qu'a ajoutée un lien chute:// ouvert depuis l'extérieur de l'application : Chute ouvre cette page avec elle marquée, et rien ne change tant que vous ne touchez pas Terminé — un tel lien ne change jamais la configuration que Chute exécute. La configuration sélectionnée peut être changée pendant que Chute tourne, avec ou sans licence ; la nouvelle s'applique par un redémarrage du tunnel.
3. Démarrer et autoriser
Touchez l'interrupteur (Touchez pour démarrer le VPN). Au premier démarrage, Android demande d'autoriser la demande de connexion VPN — le consentement système dont toute application VPN a besoin ; le refuser laisse Chute arrêté. Deux réglages décident de ce que transporte le tunnel :
- Mode de service — VPN (par défaut) capture le trafic de l'appareil via un VPN système ; Proxy local n'exécute que les écouteurs HTTP et SOCKS5 vers lesquels d'autres applications ou appareils pointent, sans tunnel.
- Mode proxy par application — Global achemine toutes les applications, Proxy seulement les applications sélectionnées, Liste noire toutes sauf celles sélectionnées.
Interrupteurs associés dans les réglages : Démarrer au démarrage (nécessite le consentement VPN accordé une fois), Limiter au Wi-Fi (mode VPN uniquement : met le tunnel en pause lorsque le réseau sous-jacent est facturé à l'usage et le reprend lorsqu'il ne l'est plus — c'est ce qu'Android rapporte, pas le type de transport : un Wi-Fi facturé à l'usage met donc lui aussi en pause, et un forfait cellulaire illimité non) et VPN permanent, qui ouvre la liste des VPN d'Android, la page du VPN permanent n'étant pas elle-même une destination publique ; activez-y le VPN permanent pour Chute. Depuis l'extérieur de l'application, les raccourcis d'écran d'accueil Démarrer, Arrêter et Basculer, les Intents de diffusion et un plugin Tasker/Locale démarrent et arrêtent le tunnel, tout comme la tuile de réglages rapides — sauf si Actions rapides, dans les réglages, la fait passer de VPN à Mode (faire défiler le mode de sortie) ou à Groupe (faire défiler le groupe de politiques choisi sous Groupe du widget, qui ne liste aucun groupe marqué hidden=true hormis celui déjà choisi). Un widget d'écran d'accueil indique si le tunnel tourne et la politique de ce groupe ; le toucher fait passer le groupe à sa politique suivante.
Avec le VPN permanent activé, Android démarre lui-même le tunnel — lorsque le réglage est activé, au démarrage de l'appareil et après une mise à jour de Chute — avec la configuration sélectionnée, et toujours en VPN, même quand le Mode de service est Proxy local. Par ailleurs, si Android tue le processus de Chute pendant que le VPN tourne, le tunnel revient de lui-même sur la configuration sélectionnée, sauf si vous l'aviez arrêté, déconnecté dans les réglages VPN d'Android ou donné l'autorisation VPN à une autre application. Il en va de même en mode Proxy local : les écouteurs qui tournaient reviennent, sauf si vous les aviez arrêtés — Android 12 et versions ultérieures peuvent toutefois refuser ce redémarrage tant que Chute est en arrière-plan, et le démarrage est alors signalé comme échoué.
4. Vérifier
Laissez le mode de sortie sur Règle (les modes Direct / Global contournent ou forcent le proxy en bloc), puis ouvrez un site web. Tableau de bord sur l'écran principal montre le trafic en direct dans ses onglets Statistiques, Tunnels, DNS, UDP et Journaux ; un tunnel s'ouvre sur le détail de sa requête et de sa réponse. Le Panneau de configuration regroupe les interrupteurs d'exécution — les écouteurs HTTP et SOCKS5 locaux, l'API de contrôle HTTP et la Console web, MitM, Capture du trafic, Détection de protocole, DNS optimisé — plus Purger le cache DNS et l'Ensemble de diagnostic d'exécution.
Différences de plateforme
- Les règles de processus correspondent aux noms de package.
PROCESS-NAMEcompare avec le nom de package de l'application qui a ouvert la connexion, par exemplePROCESS-NAME,com.android.chrome,Proxy; Chute demande à Android à quelle application appartient chaque connexion TCP que transporte l'interface VPN. Les connexions qui arrivent plutôt aux écouteurs — toutes en mode Proxy local, et celles des applications qui utilisent le Proxy HTTP système — n'ont pas de nom de package : la règle ne leur correspond donc jamais. - Le déchiffrement HTTPS exige votre propre CA. Il n'y a pas de générateur de certificat : sur la page Configurer le CA de l'éditeur, sous MitM, Importer un P12 écrit un PKCS#12 dans le
ca-p12de la configuration, encodé en base64 comme Chute l'écrit sur les appareils Apple, si bien que la configuration emporte son CA sur n'importe quel appareil ; une fois la phrase secrète renseignée, Installer le CA ouvre l'installateur de certificats d'Android pour son certificat CA. La page de l'éditeur n'est pas sous licence, mais le moteur l'est : sans Chute Pro rien n'est déchiffré, quoi que demande un[MITM] enable = trued'un profil, et l'interrupteur MitM d'exécution, dans le panneau de configuration et sur le tableau de bord, est verrouillé lui aussi. - Les fonctions basées sur le SSID fonctionnent — groupes de politiques
ssid, règlesSUBNETet[SSID Setting]— moyennant la permission que le système exige pour lire le nom du réseau : localisation (Android 12 et antérieur) ou appareils Wi-Fi à proximité (Android 13 et ultérieur). Chute demande cette permission lorsque vous démarrez avec l'interrupteur principal et que la configuration contient un groupe de politiquesssidousubnet, une règleSUBNET,SSID:ouSUBNET,BSSID:, ou une section[SSID Setting]/[SSID Suspend]. Un démarrage qui ne peut pas afficher la demande — la tuile de réglages rapides, un raccourci, Démarrer au démarrage, une diffusion, le VPN permanent — publie à la place une notification Autorisation SSID requise, une fois par configuration, et la toucher lance la demande. Le moteur relit le réseau toutes les minutes, si bien qu'une autorisation accordée prend effet en moins d'une minute, sans redémarrage. Les règlesSUBNETd'un jeu de règles externe ne sont pas détectées : si elles s'y trouvent, accordez la permission depuis les réglages du système. En mode VPN, l'entréesuspendde Suspension SSID retire l'interface VPN tant que l'appareil est sur un réseau correspondant ; le mode Proxy local l'ignore. - Tailscale est disponible ; l'éditeur possède une page Tailscale à cet effet.
- Directives de plateforme — les lignes
#!IOS-ONLY,#!MACOS-ONLYet#!TVOS-ONLYsont ici des commentaires, aucune ne s'applique donc sur Android. - Lignes Trojan des anciennes versions. Une politique Trojan exige un
tls=trueexplicite sur toutes les plateformes. Les anciennes versions de Chute Android supposaient TLS pour Trojan, et leur éditeur n'écrivait pas l'option par défaut ; le premier lancement après la mise à jour ajoute donctls=trueà chaque politique Trojan de vos configurations locales qui ne nomme aucune optiontls, et consigne chaque modification dans le journal de service de l'application. Une configuration gérée n'est pas touchée — sa source la remplace —, pas plus qu'une ligne qui indiquetls=false. - Deux journaux. Le journal du moteur reste en mémoire : lisez-le sur la page Journal de la Console web ou avec
GET /api/logs, emportez-le dans l'Ensemble de diagnostic d'exécution (panneau de configuration, pendant que le tunnel tourne), ou suivez-le avecadb logcat. L'application n'écrit sur disque que son propre journal de service — démarrages et arrêts, suspensions, changements de réseau, notifications qu'elle publie — danslogs/runtime.logde son stockage privé, avec une copie par exécution soussessions/<run id>/. L'onglet Journaux du tableau de bord affiche les 80 dernières lignes de ce fichier et l'onglet Journal d'une session la copie de son exécution ; Enregistrer l'ensemble de diagnostic hors ligne sous Réglages → DIAGNOSTIQUER emporte le fichier, et Nettoyer les journaux locaux dans les réglages le supprime, mais pas les copies par exécution — voir Dépannage. - Chute Dashboard sur un Mac se connecte au téléphone par USB via
adb, ou par le réseau — voir Chute Dashboard. - Les notifications couvrent les mêmes événements du moteur que les autres applications (Réglages → Notifications) ; « Le réseau ne transporte aucun trafic » suit l'interrupteur Échec massif de connexions. Elles ne sont publiées qu'en mode VPN : le mode Proxy local ne déclenche aucune notification d'événement du moteur.
- Absent sur Android : le Mode amélioré et le VIF réservés au Mac, la synchronisation iCloud, et les actions d'URL
chute://start/stop/toggle— voir Schéma d'URL pour les Intents de diffusion qui les remplacent. Une diffusion ne peut pas faire apparaître la boîte de dialogue de consentement VPN :START_VPNest donc ignoré en silence tant que le consentement n'a pas été accordé une fois ;TOGGLE_VPNouvre l'application à la place, où toucher l'interrupteur la fait apparaître, et le mode Proxy local ne demande aucun consentement.