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

Sections

[misc]

Full reference: [misc]

[simple-mode]

Full reference: [simple-mode]

[dns]

Full reference: [dns]

[dns-hosts] (Pro)

Full reference: [dns-hosts]

[l3vpns]

Full reference: [l3vpns]

[wireguard-peers]

Full reference: [wireguard-peers]

[amneziawg-peers]

Full reference: [amneziawg-peers]

[l4proxies]

Full reference: [l4proxies]

[domain-sets]

Full reference: [domain-sets]

[cidr-sets]

Full reference: [cidr-sets]

[routing]

Full reference: [routing]

[http-engine]

Full reference: [http-engine]

[http-url-rewrite]

Full reference: [http-url-rewrite]

[http-body-rewrite]

Full reference: [http-body-rewrite]

[flowlog]

Full reference: [flowlog]

[dns-adblock]

Full reference: [dns-adblock]

Read this page as Markdown