Proxyman est un client proxy natif pour macOS et iOS, conçu pour intercepter, visualiser et modifier le trafic HTTP/HTTPS lors du développement d'applications. D'après le site officiel de Proxyman (2025), l'outil est utilisé par plus de 10 000 entreprises et prend en charge toutes les versions modernes d'iOS et macOS. Ce client proxy propose une version de base gratuite et se distingue de Charles Proxy par une interface plus moderne, la prise en charge de scripts JavaScript pour la modification des données en temps réel et une compatibilité intégrée avec le simulateur iOS.
Points clés
Proxyman est un client proxy HTTP/HTTPS créé spécifiquement pour l'écosystème Apple. Contrairement aux solutions multiplateformes, Proxyman utilise des frameworks macOS natifs (Swift, AppKit), ce qui garantit des performances élevées et une intégration transparente avec les mécanismes de proxy système. L'outil prend en charge macOS 11+ et iOS 14+.
Proxyman se positionne comme une alternative moderne à Charles Proxy pour les développeurs de l'écosystème Apple. Principaux avantages : version gratuite avec fonctionnalités de base complètes, interface native correspondant au système de design macOS et configuration automatique pour le simulateur iOS sans étapes supplémentaires. Proxyman est activement développé depuis 2018 et dispose d'un système de feedback ouvert avec la communauté des développeurs.
Proxyman fonctionne sur macOS (application native, pas Electron) et fournit une application compagnon pour iOS. Les appareils physiques (iPhone, iPad) sont configurés via WiFi Proxy de manière similaire à Charles. L'application compagnon iOS (Proxyman iOS companion) permet de visualiser le trafic directement sur l'appareil sans ordinateur — cette fonctionnalité est unique à Proxyman.
Proxyman fonctionne selon le principe MITM standard : l'application est configurée comme un proxy système à travers lequel passe tout le trafic HTTP/HTTPS. L'outil utilise les mécanismes natifs Network Extension de macOS pour intercepter le trafic sans nécessiter de configuration manuelle de proxy pour le simulateur iOS.
Sur macOS, Proxyman utilise Apple Network Framework pour l'interception transparente du trafic. Lorsque le proxy est activé, Proxyman crée une interface réseau virtuelle à travers laquelle passe le trafic de toutes les applications. Pour le simulateur iOS, la configuration se fait automatiquement au démarrage — Proxyman détecte les simulateurs en cours d'exécution via Xcode et redirige leur trafic sans configuration manuelle du proxy dans les paramètres.
Pour le déchiffrement HTTPS, Proxyman installe un certificat racine local dans le trousseau système macOS. Au premier lancement, le programme invite à installer et à approuver le certificat. Tous les certificats pour des domaines spécifiques sont générés à la volée et signés avec le certificat racine Proxyman. Pour le simulateur iOS, le certificat est installé automatiquement au démarrage du proxy.
// Exemple de script Proxyman pour modifier une réponse
// Scripting : changer le statut de la réponse en 500 pour tester les erreurs
function onResponse(request, response) {
if (request.url.includes("/api/users")) {
response.statusCode = 500;
response.body = JSON.stringify({
error: "Internal Server Error",
code: "SERVER_TIMEOUT"
});
}
return response;
}
Proxyman fournit un ensemble unique de fonctionnalités qui le distinguent des autres outils proxy. L'accent est mis sur la modification du trafic par scripts et les performances natives.
La principale caractéristique de Proxyman est la prise en charge de scripts JavaScript pour modifier les requêtes et réponses. Au lieu de modifier manuellement chaque requête via des Breakpoints (comme dans Charles), le développeur peut écrire un script qui s'appliquera automatiquement à des URL spécifiques. Les scripts ont un accès complet aux en-têtes, au corps de la requête et de la réponse, aux codes d'état et aux métadonnées. Cela permet d'automatiser les opérations courantes : remplacement de jetons, modification d'en-têtes, simulation d'erreurs pour les tests.
Proxyman offre un système de filtres flexible basé sur des règles. Vous pouvez créer des profils qui regroupent automatiquement le trafic par domaines, types de contenu ou codes d'état. Par exemple, toutes les requêtes vers l'API de votre application sont automatiquement regroupées, tandis que les ressources statiques (CSS, JS, images) vont dans un autre groupe. Ceci est particulièrement utile lors du débogage lorsque vous devez vous concentrer uniquement sur des endpoints spécifiques.
| Fonctionnalité | Proxyman | Charles Proxy | Remarque |
|---|---|---|---|
| Scripting | JavaScript | Non | Modification automatique sans Breakpoints |
| Simulateur iOS | Automatique | Configuration manuelle | Proxyman détecte le simulateur via Xcode |
| Version gratuite | Oui | 30 jours d'essai | Proxyman — sans limite de temps |
| Plateforme | macOS, iOS | Windows, macOS, Linux | Charles est multiplateforme, Proxyman — Apple uniquement |
| Export HAR | Oui | Oui | Les deux prennent en charge le format standard |
Proxyman affiche une chronologie des requêtes à la manière d'un diagramme de Gantt, où chaque requête est représentée par une barre colorée indiquant la durée, le statut et la taille. La chronologie est interactive : vous pouvez sélectionner une plage temporelle et voir uniquement les requêtes de cette période. Pour chaque requête, une répartition par phase est disponible : DNS, Connect, TLS Handshake, Request, Response.
Une capacité unique de Proxyman est une application iOS distincte qui peut être installée sur un iPhone ou un iPad. Elle permet de visualiser le trafic réseau directement sur l'appareil sans connexion à un ordinateur. Le trafic est affiché en temps réel avec des capacités de filtrage et de recherche. L'application est particulièrement utile pour les tests sur le terrain lorsqu'aucun ordinateur n'est disponible.
Proxyman propose différentes méthodes de configuration pour iOS et Android. Grâce à l'intégration native avec Xcode, la configuration pour le simulateur iOS est presque automatique. Pour les appareils physiques et Android, une configuration manuelle est requise.
Le scénario le plus simple : lancez Proxyman, ouvrez l'onglet iOS Simulator et cliquez sur Start. Proxyman détecte automatiquement les simulateurs en cours d'exécution via Xcode et configure le proxy. Le certificat HTTPS est également installé automatiquement. Aucune action supplémentaire n'est requise — le trafic du simulateur apparaît immédiatement dans la fenêtre Proxyman. C'est un avantage significatif par rapport à Charles, où la configuration du simulateur nécessite une configuration manuelle du proxy.
Pour iPhone ou iPad : connectez l'appareil au même réseau WiFi que l'ordinateur. Dans les paramètres WiFi de l'appareil, spécifiez le proxy HTTP : l'adresse IP de l'ordinateur et le port 9090 (port par défaut de Proxyman). Ouvrez ensuite Safari et allez sur http://proxy.man/ssl pour installer le certificat. Sur iOS 10.3+, assurez-vous d'activer la confiance du certificat dans Settings → General → About → Certificate Trust Settings.
Les appareils Android sont configurés de manière similaire à iOS : proxy WiFi avec l'adresse IP de l'ordinateur et le port 9090. Pour HTTPS, vous devez installer le certificat via le navigateur sur http://proxy.man/ssl. Sur Android 7+ pour les builds de débogage, vous aurez besoin d'un fichier network_security_config.xml approuvant les certificats utilisateur. Pour l'émulateur Android, utilisez l'adresse IP de l'hôte (généralement 10.0.2.2) au lieu de l'IP de l'ordinateur.
<!-- network_security_config.xml pour Android avec Proxyman -->
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<debug-overrides>
<trust-anchors>
<certificates src="user" />
<certificates src="system" />
</trust-anchors>
</debug-overrides>
<base-config cleartextTrafficPermitted="false">
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
</network-security-config>
Le choix entre Proxyman et Charles Proxy dépend des besoins spécifiques de votre équipe et de la plateforme de développement. Examinons les principales différences pour aider les développeurs à prendre une décision éclairée.
Proxyman est écrit en Swift avec AppKit, offrant des performances natives macOS et une consommation mémoire minimale. Charles est écrit en Java (Eclipse RCP), ce qui permet une compatibilité multiplateforme mais peut entraîner une consommation mémoire légèrement plus élevée et une interface non native sur macOS. Pour les développeurs de l'écosystème Apple, Proxyman semble généralement plus réactif.
Charles propose un ensemble d'outils plus mature et plus large : Rewrite Rules avec éditeur visuel, Repeat pour répéter les requêtes, Map Local/Remote, Auto Save des sessions. Proxyman répond avec des fonctionnalités plus modernes : Scripting en JavaScript, configuration automatique du simulateur et un compagnon iOS pour visualiser le trafic sur l'appareil. Charles a l'avantage dans les scénarios d'automatisation complexes (Rewrite, Repeat), tandis que Proxyman excelle dans la modification rapide et flexible via des scripts.
Proxyman propose une version gratuite avec des fonctionnalités de base sans limite de temps. La version Pro (abonnement ~12$/an ou achat unique ~59$) débloque des fonctionnalités avancées : scripting, filtres, exportation. Charles coûte 50$ par licence avec un essai de 30 jours. Pour les développeurs indépendants, Proxyman est plus abordable ; pour les environnements d'entreprise, la différence est négligeable.
Questions fréquentes
Proxyman dispose d'une version gratuite avec des fonctionnalités de base d'interception de trafic HTTP/HTTPS sans limite de temps. Les abonnements payants (Pro et Team) ajoutent le scripting, les filtres avancés, l'exportation HAR et le support prioritaire. Pour la plupart des tâches de débogage, la version gratuite est suffisante.
Proxyman est une application macOS native, mais il peut intercepter le trafic des appareils Android via WiFi Proxy de manière similaire à Charles. Les appareils Android sont configurés comme proxy HTTP avec l'adresse IP de l'ordinateur et le port de Proxyman. Pour l'émulateur Android, utilisez l'IP 10.0.2.2. Le certificat HTTPS est installé séparément.
Il existe deux méthodes : Local Edit — double-cliquez sur une requête, sélectionnez l'onglet Response, modifiez manuellement, puis cliquez sur Execute pour envoyer la réponse modifiée à l'application. Scripting — écrivez un script JavaScript qui applique automatiquement des modifications à des URL spécifiques à chaque requête.
Oui, Proxyman prend en charge l'exportation vers les formats : HAR (HTTP Archive), Proxyman Session (.pxm), Curl Command (pour chaque requête), Plain Text. L'exportation est disponible via le menu contextuel sur une requête ou un groupe de requêtes. Le format HAR est compatible avec Charles Proxy, Chrome DevTools et les visualiseurs en ligne.
Proxyman détecte automatiquement les simulateurs iOS en cours d'exécution via Xcode et redirige leur trafic sans configuration manuelle. Lorsque le proxy démarre, Proxyman injecte un proxy système via Network Extension sur macOS, qui s'applique automatiquement à tous les simulateurs. Le certificat HTTPS est également installé automatiquement.
Résumé
Nous développerons une application mobile clé en main
IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.
Lisez aussi