Config Velocity
plugins/mythicproxy/config.json is the MythicProxy config of the proxy. The plugin creates it with these defaults on the first start and reads it only when the proxy starts, so restart the proxy after you change it. The plugin never writes to the file again. A missing key uses its default, and key names are case-sensitive.
{
"proxy-id": "proxy",
"bind": "0.0.0.0:25580",
"advertise": "",
"secret": "",
"storage": "SQLITE",
"sqlite-file": "variables.db",
"mysql": {
"host": "127.0.0.1",
"port": 3306,
"database": "mythicproxy",
"user": "root",
"password": "",
"pool-size": 4
},
"cleanup-interval-seconds": 300
}
Options
| Option | Description | Default |
|---|---|---|
proxy-id |
Name of this proxy, shown in backend logs. Give every proxy its own id, see Multiple Proxies, and do not use it as a server name, see Server Names. | "proxy" |
bind |
Address and port the proxy listens on for backends. The port is required. See Hub Port and Firewall. | "0.0.0.0:25580" |
advertise |
The host:port the proxy tells backends to connect to. Leave it empty to pick one automatically, see Announced Address. |
"" |
secret |
The shared secret. Leave it empty to use the Velocity forwarding secret, see Secret. | "" |
storage |
SQLITE or MYSQL, see Storage. |
"SQLITE" |
sqlite-file |
The SQLite database file. A relative path starts in plugins/mythicproxy/. Folders in the path are not created. |
"variables.db" |
mysql.host |
Host of the MySQL server. | "127.0.0.1" |
mysql.port |
Port of the MySQL server. | 3306 |
mysql.database |
Name of the database. It must already exist. | "mythicproxy" |
mysql.user |
User that connects to the database. | "root" |
mysql.password |
Password of that user. | "" |
mysql.pool-size |
Most database connections at once, at least 1. |
4 |
cleanup-interval-seconds |
Seconds between two cleanups of expired variables. Values below 10 count as 10. |
300 |
If the file cannot be read or a value is invalid, for example a storage other than SQLITE or MYSQL or a bind without a port, MythicProxy stays disabled. See Troubleshooting.
Storage
The proxy keeps the network variables, and the leases and blobs of the API, in a database. Changing storage does not move existing data.
SQLite
SQLite is the default. The data is in one file, plugins/mythicproxy/variables.db unless sqlite-file says otherwise, and the files variables.db-wal and variables.db-shm can appear next to it. With more than one proxy, use MySQL, see Multiple Proxies.
MySQL
Set storage to "MYSQL" and fill in the mysql keys.
- Create the database first. MythicProxy creates its tables
mythicproxy_variables,mythicproxy_leasesandmythicproxy_blobswhen the proxy starts, so the user needs the rights to create tables and to read, write and delete rows. - The table names have no prefix, so give each network its own database.
- There are no other connection settings, such as SSL options.
Cleanup
Every cleanup-interval-seconds the proxy deletes the variables that have expired, see Persistence and Expiry. The first cleanup runs one interval after the proxy starts. Leases and blobs are never cleaned up.