Proxyman হল macOS এবং iOS-এর জন্য একটি নেটিভ প্রক্সি ক্লায়েন্ট, যা অ্যাপ্লিকেশন ডেভেলপমেন্টের সময় HTTP/HTTPS ট্রাফিক ইন্টারসেপ্ট, দেখা এবং পরিবর্তন করার জন্য ডিজাইন করা হয়েছে। অফিসিয়াল Proxyman ওয়েবসাইট (2025) অনুযায়ী, টুলটি 10,000-এর বেশি কোম্পানি ব্যবহার করে এবং iOS এবং macOS-এর সব আধুনিক সংস্করণ সমর্থন করে। এই প্রক্সি ক্লায়েন্টটি একটি বিনামূল্যের বেসিক সংস্করণ অফার করে এবং Charles Proxy-র থেকে আরও আধুনিক ইন্টারফেস, রিয়েল-টাইম ডেটা পরিবর্তনের জন্য JavaScript স্ক্রিপ্ট সমর্থন এবং iOS সিমুলেটরের সাথে বিল্ট-ইন সামঞ্জস্যের কারণে আলাদা।
মূল পয়েন্ট
Proxyman হল একটি HTTP/HTTPS প্রক্সি ক্লায়েন্ট যা বিশেষভাবে Apple ইকোসিস্টেমের জন্য তৈরি। ক্রস-প্ল্যাটফর্ম সমাধানের বিপরীতে, Proxyman নেটিভ macOS ফ্রেমওয়ার্ক (Swift, AppKit) ব্যবহার করে, যা উচ্চ কর্মক্ষমতা এবং সিস্টেম প্রক্সি মেকানিজমের সাথে নিরবিচ্ছিন্ন ইন্টিগ্রেশন নিশ্চিত করে। টুলটি macOS 11+ এবং iOS 14+ সমর্থন করে।
Proxyman নিজেকে Apple ইকোসিস্টেম ডেভেলপারদের জন্য Charles Proxy-র আধুনিক বিকল্প হিসেবে অবস্থান করে। মূল সুবিধা: সম্পূর্ণ বেসিক কার্যকারিতা সহ বিনামূল্যের সংস্করণ, macOS ডিজাইন সিস্টেমের সাথে মেলে এমন নেটিভ ইন্টারফেস এবং অতিরিক্ত ধাপ ছাড়াই iOS সিমুলেটরের জন্য স্বয়ংক্রিয় কনফিগারেশন। Proxyman 2018 থেকে সক্রিয়ভাবে উন্নয়ন করা হচ্ছে এবং ডেভেলপার সম্প্রদায়ের সাথে একটি উন্মুক্ত প্রতিক্রিয়া ব্যবস্থা রয়েছে।
Proxyman macOS-এ চলে (নেটিভ অ্যাপ্লিকেশন, Electron নয়) এবং iOS-এর জন্য একটি সহযোগী অ্যাপ্লিকেশন সরবরাহ করে। ফিজিক্যাল ডিভাইস (iPhone, iPad) Charles-এর মতো WiFi Proxy-র মাধ্যমে কনফিগার করা হয়। iOS সহযোগী অ্যাপ (Proxyman iOS companion) কম্পিউটার ছাড়াই সরাসরি ডিভাইসে ট্রাফিক দেখতে দেয় — এই বৈশিষ্ট্যটি Proxyman-এর জন্য অনন্য।
Proxyman মানক MITM নীতি অনুযায়ী কাজ করে: অ্যাপ্লিকেশনটি একটি সিস্টেম প্রক্সি হিসাবে কনফিগার করা হয় যার মাধ্যমে সমস্ত HTTP/HTTPS ট্রাফিক passes। টুলটি iOS সিমুলেটরের জন্য ম্যানুয়াল প্রক্সি কনফিগারেশনের প্রয়োজন ছাড়াই ট্রাফিক ইন্টারসেপ্ট করতে নেটিভ macOS Network Extension মেকানিজম ব্যবহার করে।
macOS-এ, Proxyman স্বচ্ছ ট্রাফিক ইন্টারসেপশনের জন্য Apple Network Framework ব্যবহার করে। প্রক্সি সক্রিয় হলে, Proxyman একটি ভার্চুয়াল নেটওয়ার্ক ইন্টারফেস তৈরি করে যার মাধ্যমে সমস্ত অ্যাপ্লিকেশনের ট্রাফিক যায়। iOS সিমুলেটরের জন্য, কনফিগারেশন স্টার্টআপে স্বয়ংক্রিয়ভাবে হয় — Proxyman Xcode-এর মাধ্যমে চলমান সিমুলেটর শনাক্ত করে এবং সেটিংসে ম্যানুয়াল প্রক্সি সেটআপ ছাড়াই তাদের ট্রাফিক রিডাইরেক্ট করে।
HTTPS ডিক্রিপশনের জন্য, Proxyman macOS সিস্টেম কীচেইনে একটি লোকাল রুট সার্টিফিকেট ইনস্টল করে। প্রথম লঞ্চে, প্রোগ্রামটি সার্টিফিকেট ইনস্টল এবং বিশ্বাস করতে অনুরোধ করে। নির্দিষ্ট ডোমেইনের জন্য সব সার্টিফিকেট ফ্লাইতে জেনারেট করা হয় এবং Proxyman রুট সার্টিফিকেট দিয়ে সই করা হয়। iOS সিমুলেটরের জন্য, প্রক্সি শুরু হলে সার্টিফিকেট স্বয়ংক্রিয়ভাবে ইনস্টল হয়।
// প্রতিক্রিয়া পরিবর্তনের জন্য 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 অনন্য বৈশিষ্ট্যের একটি সেট সরবরাহ করে যা এটিকে অন্যান্য প্রক্সি টুল থেকে আলাদা করে। স্ক্রিপ্ট-ভিত্তিক ট্রাফিক পরিবর্তন এবং নেটিভ কর্মক্ষমতার উপর বিশেষ জোর দেওয়া হয়েছে।
Proxyman-এর প্রধান বৈশিষ্ট্য হল অনুরোধ এবং প্রতিক্রিয়া পরিবর্তনের জন্য JavaScript স্ক্রিপ্ট সমর্থন। ম্যানুয়ালি Breakpoints-এর মাধ্যমে প্রতিটি অনুরোধ সম্পাদনা করার (Charles-এর মতো) পরিবর্তে, ডেভেলপার একটি স্ক্রিপ্ট লিখতে পারেন যা স্বয়ংক্রিয়ভাবে নির্দিষ্ট URL-এ প্রয়োগ হবে। স্ক্রিপ্টগুলির হেডার, অনুরোধ এবং প্রতিক্রিয়া বডি, স্ট্যাটাস কোড এবং মেটাডেটাতে সম্পূর্ণ অ্যাক্সেস রয়েছে। এটি রুটিন অপারেশন স্বয়ংক্রিয় করতে দেয়: টোকেন প্রতিস্থাপন, হেডার পরিবর্তন, পরীক্ষার জন্য ত্রুটি সিমুলেশন।
Proxyman একটি নমনীয় নিয়ম-ভিত্তিক ফিল্টার সিস্টেম অফার করে। আপনি প্রোফাইল তৈরি করতে পারেন যা স্বয়ংক্রিয়ভাবে ডোমেইন, কন্টেন্ট টাইপ বা স্ট্যাটাস কোড অনুযায়ী ট্রাফিক গ্রুপ করে। উদাহরণস্বরূপ, আপনার অ্যাপ্লিকেশনের API-তে সমস্ত অনুরোধ স্বয়ংক্রিয়ভাবে একটি গ্রুপে যায়, যখন স্ট্যাটিক অ্যাসেট (CSS, JS, ইমেজ) অন্য গ্রুপে যায়। এটি বিশেষভাবে ডিবাগিংয়ের সময় উপযোগী যখন আপনাকে শুধুমাত্র নির্দিষ্ট এন্ডপয়েন্টে ফোকাস করতে হবে।
| বৈশিষ্ট্য | Proxyman | Charles Proxy | নোট |
|---|---|---|---|
| Scripting | JavaScript | না | Breakpoints ছাড়াই স্বয়ংক্রিয় পরিবর্তন |
| iOS সিমুলেটর | স্বয়ংক্রিয় | ম্যানুয়াল সেটআপ | Proxyman Xcode-এর মাধ্যমে সিমুলেটর শনাক্ত করে |
| বিনামূল্যের সংস্করণ | হ্যাঁ | 30 দিনের ট্রায়াল | Proxyman — কোনো সময় সীমা নেই |
| প্ল্যাটফর্ম | macOS, iOS | Windows, macOS, Linux | Charles ক্রস-প্ল্যাটফর্ম, Proxyman — শুধুমাত্র Apple |
| HAR এক্সপোর্ট | হ্যাঁ | হ্যাঁ | উভয়ই স্ট্যান্ডার্ড ফরম্যাট সমর্থন করে |
Proxyman একটি অনুরোধ টাইমলাইন প্রদর্শন করে গ্যান্ট চার্ট স্টাইলে, যেখানে প্রতিটি অনুরোধ একটি রঙিন বার দ্বারা উপস্থাপিত হয় যা সময়কাল, স্ট্যাটাস এবং আকার নির্দেশ করে। টাইমলাইনটি ইন্টারেক্টিভ: আপনি একটি সময় পরিসীমা নির্বাচন করতে পারেন এবং শুধুমাত্র সেই সময়ের অনুরোধ দেখতে পারেন। প্রতিটি অনুরোধের জন্য, ফেজ বিভাজন উপলব্ধ: DNS, Connect, TLS Handshake, Request, Response.
Proxyman-এর একটি অনন্য ক্ষমতা হল একটি পৃথক iOS অ্যাপ্লিকেশন যা iPhone বা iPad-এ ইনস্টল করা যায়। এটি কম্পিউটারে সংযোগ না করেই সরাসরি ডিভাইসে নেটওয়ার্ক ট্রাফিক দেখতে দেয়। ট্রাফিক ফিল্টারিং এবং অনুসন্ধান ক্ষমতা সহ রিয়েল-টাইমে প্রদর্শিত হয়। অ্যাপটি বিশেষভাবে ফিল্ড টেস্টিংয়ের জন্য উপযোগী যখন কোনো কম্পিউটার উপলব্ধ নেই।
Proxyman iOS এবং Android-এর জন্য বিভিন্ন সেটআপ পদ্ধতি অফার করে। নেটিভ Xcode ইন্টিগ্রেশনের কারণে, iOS সিমুলেটরের জন্য কনফিগারেশন প্রায় স্বয়ংক্রিয়। ফিজিক্যাল ডিভাইস এবং Android-এর জন্য, ম্যানুয়াল কনফিগারেশন প্রয়োজন।
সবচেয়ে সহজ পরিস্থিতি: Proxyman চালু করুন, iOS Simulator ট্যাব খুলুন এবং Start-এ ক্লিক করুন। Proxyman স্বয়ংক্রিয়ভাবে Xcode-এর মাধ্যমে চলমান সিমুলেটর শনাক্ত করে এবং প্রক্সি কনফিগার করে। HTTPS সার্টিফিকেটও স্বয়ংক্রিয়ভাবে ইনস্টল হয়। কোনো অতিরিক্ত পদক্ষেপের প্রয়োজন নেই — সিমুলেটর ট্রাফিক অবিলম্বে Proxyman উইন্ডোতে উপস্থিত হয়। এটি Charles-এর তুলনায় একটি উল্লেখযোগ্য সুবিধা, যেখানে সিমুলেটর সেটআপের জন্য ম্যানুয়াল প্রক্সি কনফিগারেশন প্রয়োজন।
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-এর মতোই কনফিগার করা হয়: কম্পিউটারের IP ঠিকানা এবং পোর্ট 9090 সহ WiFi Proxy। HTTPS-এর জন্য, আপনাকে http://proxy.man/ssl-এ ব্রাউজারের মাধ্যমে সার্টিফিকেট ইনস্টল করতে হবে। Android 7+-এ ডিবাগ বিল্ডের জন্য, আপনার ব্যবহারকারী সার্টিফিকেট বিশ্বাস করে এমন একটি network_security_config.xml ফাইলের প্রয়োজন হবে। Android এমুলেটরের জন্য, কম্পিউটারের IP-এর পরিবর্তে হোস্ট IP ঠিকানা (সাধারণত 10.0.2.2) ব্যবহার করুন।
<!-- Proxyman-এর সাথে Android-এর জন্য network_security_config.xml -->
<?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 আরও আধুনিক বৈশিষ্ট্য দিয়ে জবাব দেয়: JavaScript Scripting, স্বয়ংক্রিয় সিমুলেটর কনফিগারেশন, এবং ডিভাইসে ট্রাফিক দেখার জন্য iOS কম্প্যানিয়ন। Charles জটিল অটোমেশন পরিস্থিতিতে (Rewrite, Repeat) সুবিধা রাখে, যখন Proxyman স্ক্রিপ্টের মাধ্যমে দ্রুত এবং নমনীয় পরিবর্তনে পারদর্শী।
Proxyman সময় সীমা ছাড়াই বেসিক কার্যকারিতা সহ একটি বিনামূল্যের সংস্করণ অফার করে। Pro সংস্করণ (সাবস্ক্রিপশন ~$12/বছর বা এককালীন ক্রয় ~$59) উন্নত বৈশিষ্ট্য খোলে: স্ক্রিপ্টিং, ফিল্টার, এক্সপোর্ট। Charles-এর মূল্য 30-দিনের ট্রায়াল সহ $50 প্রতি লাইসেন্স। ইন্ডি ডেভেলপারদের জন্য, Proxyman আরও সাশ্রয়ী; এন্টারপ্রাইজ পরিবেশের জন্য, পার্থক্য নগণ্য।
প্রায়শই জিজ্ঞাসিত প্রশ্ন
Proxyman-এর সময় সীমা ছাড়াই বেসিক HTTP/HTTPS ট্রাফিক ইন্টারসেপশন কার্যকারিতা সহ একটি বিনামূল্যের সংস্করণ রয়েছে। পেইড সাবস্ক্রিপশন (Pro এবং Team) স্ক্রিপ্টিং, উন্নত ফিল্টার, HAR এক্সপোর্ট এবং অগ্রাধিকার সমর্থন যোগ করে। বেশিরভাগ ডিবাগিং কাজের জন্য, বিনামূল্যের সংস্করণ যথেষ্ট।
Proxyman একটি নেটিভ macOS অ্যাপ্লিকেশন, কিন্তু এটি Charles-এর মতো WiFi Proxy-র মাধ্যমে Android ডিভাইস থেকে ট্রাফিক ইন্টারসেপ্ট করতে পারে। Android ডিভাইসগুলি কম্পিউটারের IP ঠিকানা এবং Proxyman-এর পোর্ট সহ HTTP প্রক্সি হিসাবে কনফিগার করা হয়। Android এমুলেটরের জন্য, IP 10.0.2.2 ব্যবহার করুন। HTTPS সার্টিফিকেট আলাদাভাবে ইনস্টল করা হয়।
দুটি পদ্ধতি আছে: Local Edit — একটি অনুরোধে ডাবল-ক্লিক করুন, Response ট্যাব নির্বাচন করুন, ম্যানুয়ালি সম্পাদনা করুন, তারপর অ্যাপ্লিকেশনে পরিবর্তিত প্রতিক্রিয়া পাঠাতে Execute-এ ক্লিক করুন। Scripting — একটি JavaScript স্ক্রিপ্ট লিখুন যা প্রতিটি অনুরোধে নির্দিষ্ট URL-এ স্বয়ংক্রিয়ভাবে পরিবর্তন প্রয়োগ করে।
হ্যাঁ, Proxyman ফরম্যাটে এক্সপোর্ট সমর্থন করে: HAR (HTTP Archive), Proxyman Session (.pxm), Curl Command (প্রত্যেক অনুরোধের জন্য), Plain Text। এক্সপোর্ট একটি অনুরোধ বা অনুরোধের গ্রুপে কনটেক্সট মেনুর মাধ্যমে উপলব্ধ। HAR ফরম্যাট Charles Proxy, Chrome DevTools এবং অনলাইন ভিউয়ারের সাথে সামঞ্জস্যপূর্ণ।
Proxyman স্বয়ংক্রিয়ভাবে Xcode-এর মাধ্যমে চলমান iOS সিমুলেটর শনাক্ত করে এবং ম্যানুয়াল কনফিগারেশন ছাড়াই তাদের ট্রাফিক রিডাইরেক্ট করে। প্রক্সি শুরু হলে, Proxyman macOS-এ Network Extension-এর মাধ্যমে একটি সিস্টেম প্রক্সি ইনজেক্ট করে, যা স্বয়ংক্রিয়ভাবে সব সিমুলেটরে প্রয়োগ হয়। HTTPS সার্টিফিকেটও স্বয়ংক্রিয়ভাবে ইনস্টল হয়।
সারসংক্ষেপ
আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব
IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।
আরও পড়ুন