Profile Configuration
For script authoring, see the JavaScript API guide, including an importable demo, request/response fields, completion rules, and runtime limits.
Updated for MintFlow 2.1.0. Profile text is the source of truth: the app compiles it into a runtime database when starting VPN. Save changes, inspect compilation diagnostics, and restart VPN to apply a new configuration. Syntax/range errors and entitlement restrictions are distinct: a valid Pro configuration may be excluded from the compiled result when Pro is unavailable.
Other sections include [simple-mode], [flowlog], [dns-hosts], and [http-body-rewrite]. Tailscale is an experimental [l3vpns] type. HTTP Engine now supports broader capture scope and jq/JavaScript body rules. Local scripts are separate resources; sharing profile text alone does not package them. Use an MFHRB bundle to share a rule and its source together.
The text-based profile is a cornerstone of MintFlow, designed to provide power users with a highly flexible and shareable way to control the app's advanced networking capabilities.
Why Use Profiles?
- Complex Setups: Easily configure sophisticated routing rules, split DNS, and combinations of proxies and VPNs.
- Manage Multiple Configurations: Create and switch between different profiles for various scenarios (e.g., a "Work" profile with a corporate VPN and a "Home" profile for personal use).
- Share and Collaborate: Profiles are plain text, making them easy to share with other MintFlow users, version control with Git, or collaborate on.
- Import and Export: Seamlessly import profiles from URLs or files, and export your configurations to back them up or share them.
MintFlow uses a powerful and flexible text-based profile format to configure all aspects of the VPN and proxy behavior. This document details the syntax and all available configuration options.
Syntax Overview
The profile uses an INI-style format with sections enclosed in [].
# Comments start with # or //
[section-name]
key=value
# Lists are comma-separated
key=value1,value2,value3
# Structured values use subkey:subvalue pairs
key=subkey1:value1,subkey2:value2
MintFlow 2.1.0 adds [dns-adblock], ordered DOMAIN-KEYWORD rules, VLESS and Trojan, and the Tailscale exit-node-ip field. Choose a chapter below for field tables and examples.
Reference chapters
- General & Simple Mode
- DNS, Static Records & Ad Filter
- VPNs & Tailscale
- Proxy Protocols
- Sets & Routing Rules
- HTTP Engine & Rewrites
- Flow Capture
- JavaScript API (v1)
Sections
[misc]
[simple-mode]
[dns]
[dns-hosts] (Pro)
[l3vpns]
[wireguard-peers]
Full reference: [wireguard-peers]
[amneziawg-peers]
Full reference: [amneziawg-peers]
[l4proxies]
[domain-sets]
[cidr-sets]
[routing]
[http-engine]
[http-url-rewrite]
Full reference: [http-url-rewrite]
[http-body-rewrite]
Full reference: [http-body-rewrite]