Providers
A proxy provider downloads a list of [[proxy]] entries from a URL when Core loads the profile, and adds them to the proxies defined in the profile itself. Use it when a team publishes a shared list of internal proxies.
[[proxy-provider]]
name = "team"
url = "https://config.example.com/specola/team-proxies.toml"Fields
| Field | Required | Notes |
|---|---|---|
name | yes | unique provider name |
url | yes | HTTPS URL of the provider file |
path | no | where to store the download; defaults to the Specola cache directory |
proxy | no | download through this proxy; must be a [[proxy]] defined in the profile itself |
Any other field is rejected.
Provider file
The file is Specola TOML containing only [[proxy]] entries, in the same format as Proxies:
[[proxy]]
name = "team-tokyo"
type = "http"
server = "tokyo.proxy.example.com"
port = 8080
[[proxy]]
name = "team-frankfurt"
type = "http"
server = "fra.proxy.example.com"
port = 8080Clash YAML, sing-box JSON and share links are not accepted.
Using provider proxies
Provider proxies behave exactly like proxies written in the profile. Reference them by name in a group, a rule or global-proxy:
[[proxy-group]]
name = "team"
type = "url-test"
proxies = ["team-tokyo", "team-frankfurt"]
url = "https://www.gstatic.com/generate_204"
interval = 300Proxy names must stay unique across the profile and all providers. The group field use, which selects provider members by filter, is not available in the current build; list the members in proxies instead.
Updates and failures
The provider is downloaded every time Core loads the profile, including specola-core -t. If the download fails and a previous copy exists, Core uses the cached copy and logs a warning. If there is no copy, loading fails.
A provider file is routing input: only use providers you trust, over HTTPS.
Rule sets
Lists of rules that you want to reuse or download are configured under [rule.cache]. See Rules → Rule sets.