Documentation · For providers
FlowLock User-Agent
Which User-Agent FlowLock sends when it downloads a subscription, how to recognise FlowLock in a panel, and what happens if the panel doesn't accept it.
When downloading a subscription, FlowLock introduces itself with its own User-Agent:
FlowLock/<version> (<system>; <architecture>)| Example | |
|---|---|
FlowLock/1.2.0 (macOS; arm64) |
macOS, Apple Silicon |
FlowLock/0.1.0 (Windows; x64) |
Windows |
FlowLock/0.1.0 (Linux; x64) |
Linux |
- System:
macOS,Windows,Linux. Architecture:x64,arm64,x86. - FlowLock doesn't send the system version: it would be an extra fingerprint.
- The Windows/Linux service, when it refreshed the subscription by itself (right after the computer starts, before the
window has been opened), may send a UA without a version:
FlowLock (Windows; x64).
How to recognise FlowLock in a panel
Look for a User-Agent that starts with FlowLock/ or FlowLock (. For example, a panel rule condition: “User-Agent
starts with FlowLock”. There is no need to serve FlowLock a special format: it understands base64, links, Xray JSON
and sing-box JSON.
If the panel doesn't accept FlowLock's User-Agent
Some panels answer unknown clients with an HTML page or a 403/406 status. Then FlowLock retries the request once with
the compatible User-Agent v2rayN/7.13.8, and for the next 7 days it loads that subscription with it straight
away, then tries its own again. There is no retry on 404, 5xx or any other response: a different User-Agent won't help
there.
It is better to teach your panel to answer FlowLock with the subscription: that way you'll see in the panel's logs how many FlowLock users you have.
Custom User-Agent
- A person can set a User-Agent for one subscription or for all of them; then exactly that one is sent, with no retries.
- The provider of a verified subscription can set it with the
change-user-agentparameter (see “App management”).
This page in Markdown · Every page is available as Markdown: add .md to its address without the trailing slash. The list is in llms.txt, everything at once in llms-full.txt.