Skip to content

About

πŸ“¦ Open, community-driven plugin registry & update catalog for Total Commander (WCX, WLX, WFX, WDX).

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Latest commit

Β 

History

31 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“¦ TotalPlug Community Catalog

Validate & Build License: MIT Catalog CDN

An open-source, community-driven registry and update database for Total Commander plugins (WCX, WLX, WFX, WDX).

Used as the primary update and discovery source for the TotalPlug manager.


πŸš€ Live Endpoints

The catalog is compiled and updated automatically every 6 hours via GitHub Actions:

  • Snapshot (Resolved Versions & Assets, pretty-printed):
    https://sergey.is-a.dev/totalplug-catalog/catalog.resolved.json
  • Minified CDN Version (used by TotalPlug):
    https://sergey.is-a.dev/totalplug-catalog/catalog.min.json

πŸ“ Repository Structure

totalplug-catalog/
β”œβ”€β”€ plugins/
β”‚   β”œβ”€β”€ wcx/                  # Packer plugins (archives, containers)
β”‚   β”œβ”€β”€ wlx/                  # Lister plugins (viewers, highlighters)
β”‚   β”œβ”€β”€ wfx/                  # File System plugins (FTP, Cloud, ADB)
β”‚   └── wdx/                  # Content plugins (file attributes, metadata)
β”œβ”€β”€ schemas/
β”‚   └── plugin.schema.json    # JSON Schema for automated validation
└── scripts/
    └── builder/              # Go compiler & metadata resolver

🀝 How to Add or Update a Plugin

Adding a plugin takes less than 2 minutes:

  1. Fork this repository.
  2. Create a new JSON file inside plugins/<type>/<plugin-id>.json (e.g., plugins/wlx/cudalister.json).
  3. Follow the schema format:
{
  "$schema": "../../schemas/plugin.schema.json",
  "id": "cudalister",
  "name": "CudaLister",
  "type": "WLX",
  "description": "Syntax highlighting viewer plugin based on CudaText engine",
  "authors": ["Alexey-T"],
  "homepage": "https://github.com/Alexey-T/CudaLister",
  "license": "MPL-2.0",
  "match": {
    "aliases": ["cudalister", "wlx_cudalister"],
    "filenames": ["cudalister.wlx", "cudalister.wlx64"]
  },
  "source": {
    "type": "github_release",
    "repo": "Alexey-T/CudaLister",
    "asset_pattern": "wlx_cudalister.*\\.zip"
  }
}
  1. Open a Pull Request. CI will validate your JSON automatically.
  2. Once merged, it goes live in the global catalog!

πŸ“œ Supported Source Types

Source Type Description Required Fields
github_release Dynamically fetches latest release tag & assets from GitHub API repo, asset_pattern (optional)
direct_url Fixed download link with static version download_url, version
totalcmd_net Links to existing totalcmd.net ID totalcmd_id

A plugin gets one address per source. There is no field for mirrors, and the next section explains why that is intentional.


πŸͺž Mirrors

Mirrors are deliberately not catalog data. A mirror list would have to be built by fetching roughly 1200 plugin pages on every build, and an entry nobody revalidates is a dead link with a version number attached to it β€” so the schema accepts sources, not backups of sources.

Instead, TotalPlug finds the mirror when it is actually needed. Once every address the catalog names has failed to deliver an archive, and when the failing address is a totalcmd.net download link, the updater opens that plugin's plugring page from the user's own machine and retries the Mirror links it finds there: https only, and only from a short allowlist of trusted hosts (wincmd.ru). The lookup happens once per broken download rather than for the whole catalog, and any failure in it leaves the ordinary error, which names the plugin page.

What this means for a contribution: if a plugin's totalcmd.net download counter points at a host that no longer answers, leave the entry as it is β€” the update still works through the search above. Fix the entry when the plugin's actual home moved (new repo, new upstream version), not when one mirror went down.


πŸ™ Credits & Acknowledgments

  • totalcmd.net β€” The original long-standing Total Commander plugin database.
  • Total Commander is a registered trademark of Christian Ghisler / Ghisler Software GmbH.

βš–οΈ License

All catalog metadata is released under the MIT License.

About

πŸ“¦ Open, community-driven plugin registry & update catalog for Total Commander (WCX, WLX, WFX, WDX).

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages