Skip to content

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.

toml
[[proxy-provider]]
name = "team"
url = "https://config.example.com/specola/team-proxies.toml"

Fields

FieldRequiredNotes
nameyesunique provider name
urlyesHTTPS URL of the provider file
pathnowhere to store the download; defaults to the Specola cache directory
proxynodownload 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:

toml
[[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 = 8080

Clash 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:

toml
[[proxy-group]]
name = "team"
type = "url-test"
proxies = ["team-tokyo", "team-frankfurt"]
url = "https://www.gstatic.com/generate_204"
interval = 300

Proxy 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.