Wiki
Clone wikiProxyKiller / Config
ProxyKiller configuration file
ProxyKiller in its entirety is configurable to a very reasonable extent
The configuration file is located under /csgo/cfg/sourcemod/ProxyKiller-Config.cfg
in KeyValues format
See Config examples for more examples of configs.
Take the given example configuration as demonstration:
"ProxyKiller"
{
"my-test" "{steamid2}"
"proxycheckio_key" "xxxxxxxxxx"
"proxycheck.io"
{
"method" "GET"
"url" "http://proxycheck.io/v2/{ip}" // Contains: Player's IP
"params"
{
"key" "{{proxycheckio_key}}" // Contains: "xxxxxxxxxx"
"vpn" "1"
"tag" "ProxyKiller-Testing"
}
"headers"
{
"test" "{{my-test}}" // Contains: "{steamid2}" - Player's SteamId2
}
"response"
{
"type" "json"
"compare" "equal"
"object" "{ip}.proxy"
"value" "yes"
}
}
}
Runtime variables
- Resolved every time the service is ran
- Indicated by single { } brackets, e.g. "{ip}"
These variables are provided by ProxyKiller and cannot be modified.
See variables for all the available runtime variables provided by ProxyKiller.
Config variables
- Resolved when the config is parsed
- Can also contain runtime variables
- Indicated by the double {{ }} brackets, e.g. "{{my-test}}"
These variables can be defined in the root scope of the configuration file.
Service
A single service can be configured and named anything.
The name of the service you use is displayed when logging.
A service needs the following:
- "url" - The url of the service
- "response" - Object defining what response is expected
The following are optional:
- "method" - HTTP request method, defaults to "GET"
- "params" - HTTP params of the service in KeyValues format
- "headers" - HTTP headers of the service in KeyValues format
Parameters / Headers
Any request parameters and headers can be easily defined in KeyValues format
These params/headers can also use runtime- and config variables, e.g. "{ip}" "{{my-test}}"
- Params are defined in the service's "params" block
- Headers are defined in the service's "headers" block
Example of the KeyValue format:
"params" { "my-param" "value" "my-other-param" "{ip}" "my-third-param" "{{my-test}}" } "headers" { "my-header" "value" "my-other-header" "{steamid2}" "my-third-header" "{{my-test}}" }
Response
The response object defines what kind of a response we're expecting as a positive result for Proxy/VPN
The "value" and "object" values support runtime- and config variables, e.g. "{ip}" "{{my-test}}"
The response object needs the following:
- "value" - Value of the response considered as positive result for Proxy/VPN
- "object" - Object to fetch the response value from (Only required on JSON)
The following are optional:
-
"type" - Type of the response
- Valid types:
- "json" - JSON (needs "object")
- "plaintext" - Plaintext
- "statuscode" - Status code
- Defaults to "plaintext" if not defined
- Valid types:
-
"compare" - Compare type of the response value
- Valid compare types:
- "equal" - Equality comparisation
- "notequal" - Inequality comparisation
- Defaults to "equal" if not defined
- Valid compare types:
Example of the response object:
"response" { "type" "json" "compare" "equal" "object" "{ip}.proxy" "value" "yes" }
Updated