proxxi is a .NET toolchain for fetching proxies from plugins and serializing them into multiple output formats.
- Plugin-based proxy sources (load providers via plugins)
- Configurable data directory (supports environment-based configuration)
- Multiple output formats:
- Plain text
- URL list
- JSON / JSONL
- CSV / TSV / PSV
- XML
- .NET SDK 10.0+ (for building)
Go to the GitHub Releases page and download the binary for your OS/architecture (e.g. linux-x64, win-x64, etc.).
git clone https://github.com/proxxi/proxxi.git
cd proxxi
dotnet restore
dotnet build -c Release --self-contained true -p:DebugType=embedded -o publishThe CLI provides a
fetchcommand that loads configured plugins, fetches proxies, and writes them in the chosen format.
./proxxi --help./proxxi fetch publisher.plugin --output proxies.csvProxxi supports configuring its working directory via an environment variable.
export PROXXI_DIR="<PATH>"(If your shell is PowerShell on Windows, use $env:PROXXI_DIR="...".)
Proxxi will initialize required directories/files on the first run.
You can manage plugins using the plugin command and its subcommands:
plugin <PLUGIN-ID> info- Show information about a pluginplugin <PLUGIN-ID> alias [ALIAS]- Set or remove an alias for a pluginplugin <PLUGIN-ID> enable- Enable a pluginplugin <PLUGIN-ID> disable- Disable a pluginplugin <PLUGIN-ID> parameter <NAME> [VALUE]- Set or remove a parameter for a pluginplugin <PLUGIN-ID> parameters- List parameters for a plugin
You can also use the plugins command to list all installed plugins.
Proxxi can write proxies in several formats depending on command options:
plain(one proxy per line)url(URL-style entries)json,jsonlcsv,tsv,psvxml
To create Proxxi plugins, use the official plugin SDK as the base:
- Proxxi Plugin SDK: https://github.com/ImuS663/proxxi.plugin.sdk
A plugin exposes one or more proxy sources, and the CLI orchestrates:
- locating/loading plugins
- validating parameters
- fetching proxies
- writing output using the selected writer
For automatic adding plugins from .pxp package use the command:
./proxxi pack install <PATH_TO_PLUGIN_PACKAGE>.pxpThis command unpackage
.pxppackage in to the plugins directory, and register in the plugins configurationplugins.json.
- Copy the plugin into the
pluginsdirectory. Typically, this is the plugin.dllplus any required dependency files that ship with it (keep every plugin in its own folder for simplicity and conflict prevention):cp -r <PLUGIN_FOLDER> "$PROXXI_DIR/plugins/"
- Register/enable the plugin in the plugins configuration
plugins.jsonunder the Proxxi directory.[ { "id": "publisher.plugin", "path": "path/to/plugin/dll", // relative path from `$PROXXI_DIR/plugins/` "alias": "publisher", // optional "version": "1.0.0", "enabled": true, "params": { // plugin parameters if needed "param1": "value1", "param2": "value2" } } ]
Tip: If a plugin is not discovered, ensure the plugin and its dependencies are present in the plugins folder and that the plugin is added/enabled in the JSON config.
This project is licensed under the GNU General Public License v3.0 – see the LICENSE file for details.