To Proxyman είναι ένας εγγενής proxy-client για macOS και iOS, που προορίζεται για τη συλληψη, προβολή και τροποποίηση κινήσεως HTTP/HTTPS κατά την ανάπτυξη εφαρμογών. Σύμφωνα με την επίσημη ιστοσελίδα Proxyman (2025), το εργαλείο χρησιμοποιείται σε πάνω από 10.000 εταιρίες και υποστηρίζει όλες τις σύγχρονες εκδόσεις iOS και macOS. Ο proxy-client προσφέρει δωρεάν βασική έκδοση και διαφέρει από το Charles Proxy με πιο σύγχρονη διεπαφή, υποστήριξη JavaScript scripts για τροποποίηση δεδομένων στην πτήση και ενσωματωμένη συμβατότητα με τον iOS simulator.
Βασικά σημεία
Proxyman είναι ένας proxy-client HTTP/HTTPS που δημιουργήθηκε ειδικά για το οικοσύστημα Apple. Σε αντίθεση με τις λύσεις πολλαπλών πλατφορμών, το Proxyman χρησιμοποιεί εγγενείς φραμπουόρκες macOS (Swift, AppKit), παρέχοντας υψηλή απόδοση και απρόσκοπτη ενσωμάτωση με τους μηχανισμούς proxy του συστήματος. Το εργαλείο υποστηρίζει macOS 11+ και iOS 14+.
Το Proxyman τοποθετείται ως μια σύγχρονη εναλλακτική στο Charles Proxy για προγραμματιστές του οικοσυστήματος Apple. Βασικά πλεονεκτήματα: δωρεάν έκδοση με πλήρη βασική λειτουργικότητα, εγγενής διεπαφή που συμμορφώνεται με το σύστημα σχεδίασης macOS, αυτόματη ρύθμιση για τον iOS simulator χωρίς επιπλέον ενέργειες. Το Proxyman αναπτύσσεται ενεργά από το 2018 και διαθέτει ανοικτό σύστημα ανάδρασης με την κοινότητα προγραμματιστών.
Το Proxyman λειτουργεί σε macOS (εγγενής εφαρμογή, όχι Electron) και παρέχει βοηθητική εφαρμογή για iOS. Οι φυσικές συσκευές (iPhone, iPad) ρυθμίζονται μέσω WiFi Proxy όπως στο Charles. Η εφαρμογή για iOS (Proxyman iOS companion) επιτρέπει την προβολή κινήσεως απευθείας στη συσκευή χωρίς υπολογιστή — αυτή η λειτουργία είναι μοναδική για το Proxyman.
Το Proxyman λειτουργεί βάσει της τυπικής αρχής MITM: η εφαρμογή ρυθμίζεται ως προξυ συστήματος από το οποίο διέρχεται όλη η κινήσεως HTTP/HTTPS. Το εργαλείο χρησιμοποιεί εγγενείς μηχανισμούς macOS Network Extension για τη συλληψη κινήσεως χωρίς την ανάγκη χειροκίνητης ρύθμισης proxy για τον iOS simulator.
Στο macOS, το Proxyman χρησιμοποιεί το Apple Network Framework για διαφανή συλληψη κινήσεως. Κατά την ενεργοποίηση του proxy, το Proxyman δημιουργεί μια εικονική διεπαφή δικτύου από την οποία διέρχεται η κινήσεως όλων των εφαρμογών. Για τον iOS simulator, η ρύθμιση γίνεται αυτόματη κατά την εκκίνηση — το Proxyman εντοπίζει μέσω Xcode τους ενεργούς simulators και ανακατευθύνει την κινήσεως τους χωρίς χειροκίνητη ρύθμιση proxy στις ρυθμίσεις.
Για την αποκρυπτογράφηση HTTPS, το Proxyman εγκαθιστά ένα τοπικό ριζικό πιστοποιητικό στην αλυσίδα κλειδιών του macOS. Κατά την πρώτη εκκίνηση, το πρόγραμμα προσφέρει να εγκαταστήσετε το πιστοποιητικό και να το εμπιστευτείτε. Όλα τα πιστοποιητικά για συγκεκριμένα domains δημιουργούνται στην πτήση και υπογράφονται με το ριζικό πιστοποιητικό Proxyman. Για τον iOS simulator, το πιστοποιητικό εγκαθίσταται αυτόματα κατά την εκκίνηση του proxy.
// Παράδειγμα script Proxyman για τροποποίηση απάντησης
// Scripting: αλλάζουμε την κατάσταση απάντησης σε 500 για δοκιμή σφαλμάτων
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 προσφέρει ένα μοναδικό σύνολο λειτουργιών που το διαφοροποιεί από άλλα εργαλεία proxy. Ιδιαίτερη έμφαση δίνεται στην τροποποίηση κινήσεως μέσω scripts και στην εγγενή απόδοση.
Το κύριο χαρακτηριστικό του Proxyman — υποστήριξη JavaScript scripts για τροποποίηση αιτημάτων και απαντήσεων. Αντί να επεξεργάζεσθε χειροκίνητα κάθε αίτημα μέσω Breakpoints (όπως στο Charles), ο προγραμματιστής μπορεί να γράψει ένα script που θα εφαρμόζεται αυτόματα σε συγκεκριμένα URL. Τα scripts έχουν πλήρη πρόσβαση σε headers, σώμα αιτήματος και απάντησης, κωδικό κατάστασης και μεταδεδομένα. Αυτό επιτρέπει την αυτοματοποίηση εργασιών ρουτίνας: αντικατάσταση token εξουσιοδότησης, αλλαγή headers, εναρμόνιση σφαλμάτων για δοκιμή.
Το Proxyman προσφέρει ένα ευέλικτο σύστημα φιλτρων βασισμένο σε κανόνες. Μπορείτε να δημιουργήσετε προφίλ που ομαδοποιούν αυτόματα την κίνηση βάσει domain, τύπου περιεχομένου ή κωδικού κατάστασης. Για παράδειγμα, όλα τα αιτήματα προς το API της εφαρμογής σας εισέρχονται αυτόματα σε μια ξεχωριστή ομάδα και τα στατικά αρχεία (CSS, JS, εικόνες) σε μια άλλη. Αυτό είναι ιδιαίτερα βολικό κατά τη διαρρήγφωση όταν πρέπει να εστιάσετε μόνο σε συγκεκριμένα endpoints.
| Λειτουργία | Proxyman | Charles Proxy | Σημείωση |
|---|---|---|---|
| Scripting | JavaScript | Όχι | Αυτόματη τροποποίηση χωρίς Breakpoints |
| iOS Simulator | Αυτόματα | Χειροκίνητη ρύθμιση | Το Proxyman εντοπίζει τον simulator μέσω Xcode |
| Δωρεάν έκδοση | Ναι | 30 ημέρες trial | Proxyman — χωρίς χρονικό περιορισμό |
| Πλατφόρμα | macOS, iOS | Windows, macOS, Linux | Charles cross-platform, Proxyman — μόνο Apple |
| HAR Export | Ναι | Ναι | Και τα δύο υποστηρίζουν τη τυπική μορφή |
Το Proxyman εμφανίζει την χρονική γραμμή αιτημάτων σε στυλ χρονικού διαγράμματος, όπου κάθε αίτημα αναπαριστάται με μια χρωματιστή γραμμή με πληροφορίες για τη διάρκεια, την κατάσταση και το μέγεθος. Η χρονική γραμμή είναι διαδραστική: μπορείτε να επιλέξετε ένα χρονικό εύρος και να δείτε μόνο τα αιτήματα από αυτή την περίοδο. Για κάθε αίτημα είναι διαθέσιμη μια ανάλυση φάσεων: DNS, Connect, TLS Handshake, Request, Response.
Μια μοναδική δυνατότητα Proxyman — μια ξεχωριστή εφαρμογή για iOS που μπορεί να εγκατασταθεί σε iPhone ή iPad. Επιτρέπει την προβολή κινήσεως δικτύου απευθείας στην συσκευή χωρίς σύνδεση σε υπολογιστή. Η κίνηση εμφανίζεται σε πραγματικό χρόνο με δυνατότητες φιλτραρίσματος και αναζήτησης. Η εφαρμογή είναι ιδιαίτερα χρήσιμη σε δοκιμές υπαίθρου όταν δεν υπάρχει πρόσβαση σε υπολογιστή.
Το Proxyman προσφέρει διαφορετικούς τρόπους ρύθμισης για iOS και Android. Χάρη στην εγγενή ενσωμάτωση με το Xcode, η ρύθμιση για τον iOS simulator γίνεται σχεδόν αυτόματη. Για φυσικές συσκευές και Android απαιτείται χειροκίνητη ρύθμιση.
Το πιο απλό σενάριο: εκκινήστε το Proxyman, ανοίξτε την καρτέλα iOS Simulator και κάντε κλικ Start. Το Proxyman θα εντοπίσει αυτόματα τους ενεργούς simulators μέσω Xcode και θα ρυθμίσει το proxy. Το πιστοποιητικό HTTPS επίσης εγκαθίσταται αυτόματα. Δεν απαιτούνται επιπλέον ενέργειες — η κίνηση του simulator εμφανίζεται αμέσως στο παράθυρο Proxyman. Αυτό είναι ένα σημαντικό πλεονέκτημα έναντι του Charles, όπου η ρύθμιση του simulator απαιτεί χειροκίνητη ρύθμιση proxy.
Για iPhone ή iPad: συνδέστε τη συσκευή στο ίδιο δίκτυο WiFi με τον υπολογιστή. Στις ρυθμίσεις WiFi της συσκευής, καθορίστε HTTP Proxy: τη διεύθυνση IP του υπολογιστή και τη θύρα 9090 (η προκαθορισμένη θύρα Proxyman). Στη συνέχεια ανοίξτε το Safari και μεταβείτε στο http://proxy.man/ssl για εγκατάσταση πιστοποιητικού. Σε iOS 10.3+ ενεργοποιήστε την εμπιστοσύνη του πιστοποιητικού στο Settings → General → About → Certificate Trust Settings.
Οι συσκευές Android ρυθμίζονται παρόμοια με το iOS: WiFi Proxy με τη διεύθυνση IP του υπολογιστή και τη θύρα 9090. Για HTTPS απαιτείται εγκατάσταση πιστοποιητικού μέσω προγράμματος περιήγησης στο http://proxy.man/ssl. Σε Android 7+ για debug έκδοση της εφαρμογής θα χρειαστεί ένα αρχείο network_security_config.xml με εμπιστοσύνη σε πιστοποιητικά χρήστη. Για τον Android emulator, χρησιμοποιήστε τη διεύθυνση IP του host (συνήθως 10.0.2.2) αντί του IP του υπολογιστή.
<!-- network_security_config.xml για Android με 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>
Η επιλογή ανάμεσα Proxyman και Charles Proxy εξαρτάται από τις συγκεκριμένες ανάγκες της ομάδας και της πλατφόρμας ανάπτυξης. Ας εξετάσουμε τις βασικές διαφορές για να βοηθήσουμε τον προγραμματιστή να λάβει μια τεκμηριωμένη απόφαση.
Το Proxyman γράφτηκε με Swift και AppKit, που παρέχει εγγενή απόδοση macOS και ελάχιστη χρήση μνήμης. Το Charles γράφτηκε σε Java (Eclipse RCP), που προσφέρει διαλειτουργικότητα πολλαπλών πλατφορμών, αλλά μπορεί να οδηγήσει σε λίγο υψηλότερη χρήση μνήμης και μη εγγενή διεπαφή σε macOS. Για προγραμματιστές του οικοσυστήματος Apple, το Proxyman αισθάνεται συνήθως πιο αποκρισιακό.
Το Charles προσφέρει ένα πιο ώριμο και ευρύτερο σύνολο εργαλείων: Rewrite Rules με οπτικό επεξεργαστή, Repeat για επανάληψη αιτημάτων, Map Local/Remote, Auto Save συνεδριών. Το Proxyman απαντά με πιο σύγχρονες λειτουργίες: Scripting σε JavaScript, αυτόματη ρύθμιση simulator, iOS-companion για προβολή κινήσεως στην συσκευή. Το Charles έχει πλεονέκτημα σε σύνθετα σενάρια αυτοματοποίησης (Rewrite, Repeat), και το Proxyman — σε γρήγορη και ευέλικτη τροποποίηση μέσω scripts.
Το Proxyman προσφέρει δωρεάν έκδοση με βασική λειτουργικότητα χωρίς χρονικό περιορισμό. Η έκδοση Pro (συνδρομή ~$12/έτος ή εφάπαξ αγορά ~$59) ξεκλειδώνει προηγμένες λειτουργίες: scripting, φίλτρα, εξαγωγή. Charles — $50 για άδεια με 30-ήμερη δοκιμή. Για ανεξάρτητους προγραμματιστές, το Proxyman είναι πιο προσιτό; για εταιρικά περιβάλλοντα, η διαφορά είναι ασημάντη.
Συχνές ερωτήσεις
Το Proxyman έχει δωρεάν έκδοση με βασική λειτουργικότητα για συλληψη κινήσεως HTTP/HTTPS χωρίς χρονικό περιορισμό. Οι πληρωμένες συνδρομές (Pro και Team) προσθέτουν scripting, προηγμένα φίλτρα, εξαγωγή HAR και υποστήριξη προτεραιότητας. Για τις περισσότερες εργασίες επιδιόρθωσης, η δωρεάν έκδοση είναι αρκετή.
Το Proxyman είναι μια εγγενής εφαρμογή macOS, αλλά μπορεί να συλλάβει κινήσεως από συσκευές Android μέσω WiFi Proxy όπως το Charles. Οι συσκευές Android ρυθμίζονται ως HTTP-proxy με τη διεύθυνση IP του υπολογιστή και τη θύρα Proxyman. Για τον Android emulator χρησιμοποιείται IP 10.0.2.2. Το πιστοποιητικό HTTPS εγκαθίσταται ξεχωριστά.
Υπάρχουν δύο τρόποι: Local Edit — διπλό κλικ σε ένα αίτημα, επιλογή της καρτέλας Response, χειροκίνητη επεξεργασία, έπειτα το κουμπί Execute για αποστολή της τροποποιημένης απάντησης στην εφαρμογή. Scripting — γράψιμο ενός JavaScript script που εφαρμόζει αυτόματα αλλαγές σε καθορισμένα URL σε κάθε αίτημα.
Ναι, το Proxyman υποστηρίζει εξαγωγή σε μορφές: HAR (HTTP Archive), Proxyman Session (.pxm), Curl Command (για κάθε αίτημα), Plain Text. Η εξαγωγή είναι διαθέσιμη μέσω του αραχνικού μενού σε ένα αίτημα ή ομάδα αιτημάτων. Η μορφή HAR είναι συμβατή με Charles Proxy, Chrome DevTools και διαδικτυακά προγράμματα προβολής.
Το Proxyman εντοπίζει αυτόματα τους ενεργούς iOS Simulators μέσω Xcode και ανακατευθύνει την κινήσεως τους χωρίς χειροκίνητη ρύθμιση. Κατά την εκκίνηση του proxy, το Proxyman εφαρμόζει ένα προξυ συστήματος μέσω Network Extension σε macOS, που εφαρμόζεται αυτόματα σε όλους τους simulators. Το πιστοποιητικό HTTPS επίσης εγκαθίσταται αυτόματα.
Συμπεράσματα
Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση
Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.
Διαβάστε επίσης