Modules, arguments and order
For iPhone / iPad. Modules do not sync to Apple TV.
Modules can combine routing, DNS, rewriting and scripts. They are unnecessary for a basic proxy connection.
Import
- Open Proxies → Policies → Modules → Import Module or Subscribe Module.
- Select a file or paste the author's resource URL.
- Choose its actual client format and review rules, scripts and unsupported items.
- Edit required arguments, then enable the relevant content.
- Test the target service. HTTPS rewriting also requires MITM certificate trust.
Format suggestions are only guidance. A successful import does not guarantee that every API from another client is supported.
Maintain modules
Use the module menu to update subscriptions, change arguments or organize categories. Categories organize the list; Module Order controls execution priority.
After updates, review warnings and inactive content, especially changed scripts, DNS and hosts.
Resolve conflicts
Modules apply in order. The first eligible module owns a conflicting DNS override; scripts matching the same host also respect module order.
Start with one related module, verify, then enable others individually. Recreate connections after changing order. Disable a module for comparison before deleting it. Removal also removes its contributed rules, scripts and MITM hosts.
Scripts can read matching request/response data and make their own network requests. Use trusted authors and keep private arguments out of public reports.
A host excluded by another module
In versions supporting this behavior, loaded modules share MITM hostname exclusion decisions. If one loaded module excludes a host, the other modules do not decrypt HTTPS for it either. Moving the desired module earlier cannot override that exclusion.
For example, if one loaded module excludes api.example.com, another module declaring the host may be unable to run its HTTPS scripts. Check the reason in Activity → MITM, then disable relevant modules one at a time and retest with new connections.
Native MITM rule-set exclusions and the device's Never Decrypt list have different scopes. See exclusion scopes. A module containing only exclusions and no loadable content should not be used as a global exclusion switch.
Verify a complete import
Identify the problem the module should solve and preserve your previous settings. After import, inspect parsing notices, enabled state, argument values and required MITM hosts. A module name in the list does not prove its script ran.
Visit a target the module should handle and inspect activity/module feedback. On failure, disable other modules affecting the same target, then check format, script compatibility and certificate trust. A module without HTTPS rewriting does not require generating a certificate just to import it.
Subscription updates can change rules, hosts and scripts. Recheck the same target after updating and confirm needed local arguments remain correct. A file import does not automatically change when its author updates a remote file.
Manage module categories
Use a module's action menu to choose an existing category or New Category. The category header menu offers Edit Category Name and Delete Category. Names must be nonempty and unique.
Deleting a category moves its modules to Uncategorized without deleting them. Categories and list dragging organize display; adjust runtime conflict priority in Module Order. Verify with new connections instead of assuming list placement changes execution order.
See External Resources for centralized updates. Update All is not limited to search results.