Skip to content

gioxx/YOURLS-PluginManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

56 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ”Œ YOURLS Advanced Plugin Manager

Readme file is also available in italian.

Latest Release License Listed in Awesome YOURLS!

Install, update and manage YOURLS plugins directly from the admin interface.
Just feed it a GitHub URL and it handles the rest ๐Ÿง™โ€โ™‚๏ธ


๐Ÿš€ Features

  • ๐Ÿงฒ Install plugins from any public GitHub repo (latest release, specific tag/version, or branch)
  • โฌ† Upload and install plugins directly from a local .zip file
  • ๐Ÿ” Auto-overwrite existing plugin folder (works like "update")
  • โฑ๏ธ Automatic update checks every 24 hours (plus manual on-demand checks per plugin or in bulk)
  • ๐Ÿค– Auto-associates repository metadata from Plugin URI (when valid GitHub URLs are available)
  • โœ… Verifies plugin.php structure before installing
  • ๐Ÿ” Supports GitHub Personal Access Token (to avoid API limits)
  • ๐Ÿ“ฆ Extracts ZIP via ZipArchive (no dependencies)
  • ๐Ÿ“Š Shows version, author, status, and last update time โ€” with clickable author links
  • ๐Ÿ”— Associate/Change repo via dedicated modal UI (with pre-filled URL on change)
  • โ–ถ Activate / Deactivate each plugin directly from the manager (including self-deactivation)
  • ๐Ÿท๏ธ Detects plugins with source-code-only repos (no releases) and offers "Reinstall from source"
  • โš ๏ธ Flags archived/abandoned repositories
  • ๐ŸŽจ Theme-aware UI โ€” adapts to dark admin themes (Sleeky dark mode supported)
  • ๐Ÿ” Filter plugins by All / Active / Inactive / Updatable / No metadata / Abandoned / Errors
  • ๐Ÿงผ Can delete inactive plugins safely
  • ๐Ÿ’ฌ Fully translatable (.po/.mo ready โ€” Italian ๐Ÿ‡ฎ๐Ÿ‡น and Dutch ๐Ÿ‡ณ๐Ÿ‡ฑ included)
  • โœจ Quick-install recommended companion plugins directly from the admin page

๐Ÿ”ง Requirements

  • PHP with ZipArchive extension (default in most hosting)
  • YOURLS 1.8+

๐Ÿ› ๏ธ Installation

  1. Clone or download this repo
  2. Copy the folder yourls-plugin-manager into your user/plugins/ directory
  3. (Optional) Create a /languages folder and add .mo translations
  4. Activate the plugin from the YOURLS admin interface
  5. Go to Tools > Advanced Plugin Manager to start using it!

โ„น๏ธ Update Metadata Note

Plugins installed before repository metadata tracking was introduced may temporarily show "No repository metadata".

To enable update checks and one-click updates for those plugins, reinstall or update each one once via Advanced Plugin Manager.

Default YOURLS plugins do not require repository association, and the UI now reflects this explicitly.


๐Ÿ†• Whatโ€™s New in 1.2.2

  • Recommended plugins: a new box at the bottom of the admin page lists Gioxxโ€™s companion plugins (Logo Suite, URL Fallback, Change Notifier, Alternative Index) โ€” install one, several, or all of them in a single click
    • Already-installed entries are greyed out and non-selectable
    • Select all / Deselect all only affects plugins not yet installed
    • The Install selected button is disabled (with a not-allowed cursor) when nothing is selected

๐Ÿ†• Whatโ€™s New in 1.2.0

  • Theme-aware UI: the admin panel now adapts to the active admin theme; dark variants are applied only when a dark theme (e.g. Sleeky dark) is explicitly detected โ€” vanilla YOURLS stays light regardless of OS dark mode
  • Branch and release version inputs: install a specific branch or a specific release tag instead of always pulling latest; when both are empty, falls back automatically: latest release โ†’ latest tag โ†’ default branch
  • Upload from ZIP: install a plugin directly from a local .zip file without needing a GitHub URL
  • Activate / Deactivate toggle: each plugin row now has a toggle button; self-deactivation is supported with a confirmation prompt
  • Per-plugin update check: click the ๐Ÿ”Ž button to run an update check for a single plugin without running a full bulk check
  • Source-code-only plugins: repos with no release and no tag are now surfaced with a "Source code only" badge and a "Reinstall from source" action instead of an error
  • Abandoned repository detection: repos that are archived on GitHub or have been moved/renamed are flagged as abandoned
  • Active / Inactive / Abandoned filter tabs: new filter links in the installed plugins header
  • Clickable author links: Author URI plugin header field is now rendered as a link, matching native YOURLS behaviour
  • Dutch translation ๐Ÿ‡ณ๐Ÿ‡ฑ contributed by @toineenzo

๐Ÿ†• Whatโ€™s New in 1.1.5

  • Self-update notifications:
    • the plugin now checks its own GitHub releases and shows a dashboard notice when a newer version is available
    • the plugin page title now shows an update badge when applicable

๐Ÿ†• Whatโ€™s New in 1.1.4

  • Delete flow hardened:
    • automatic deletion now reports the exact plugin directory when YOURLS cannot remove it
    • the admin can delete that folder manually on the server

๐Ÿ†• Whatโ€™s New in 1.1.3

  • Install flow hardened:
    • automatic extraction now runs only when user/plugins is writable by PHP
    • when permissions are missing, the plugin stops with a clear message and a direct ZIP download link for manual installation

๐Ÿ†• Whatโ€™s New in 1.1.2

  • Minor consistency fix:
    • unified product naming across plugin metadata, UI copy, translations, and docs to YOURLS Advanced Plugin Manager

๐Ÿงพ Previous highlights (1.1.1)

  • UI naming updates:
    • plugin menu entry is now Advanced Plugin Manager
    • page title is now YOURLS Advanced Plugin Manager
  • Plugin submenu quality of life:
    • plugin admin sublinks under Manage Plugins are now sorted alphabetically
  • Installed plugins header actions:
    • added a Manage button that links directly to YOURLS native plugin management page (admin/plugins.php)
    • action buttons are now visually consistent
    • Update all available is disabled when no updates are available
  • New integrated settings feature:
    • built-in admin_view_per_page customization (no separate plugin needed)
    • if legacy plugin Custom number of displayed links is detected, an in-panel warning suggests deactivating/removing it
    • credit: based on the snippet shared by ozh in YOURLS issue #2339: YOURLS/YOURLS#2339 (comment)

๐Ÿ™ GitHub API Tips

By default, GitHub allows 60 unauthenticated requests/hour per IP.

To increase the limit to 5000 req/hour, use a GitHub Personal Access Token (no scopes needed).


๐ŸŒ Localization

  • English (en_US) โ€” default
  • Italian (it_IT) โ€” included
  • Dutch (nl_NL) โ€” included, contributed by @toineenzo

You can contribute other translations by forking and submitting .po/.mo files to the languages/ folder.


๐Ÿค“ Example Plugin URLs

You can paste any of these into the GitHub URL field:

  • https://github.com/gioxx/YOURLS-LogoSuite
  • https://github.com/YOURLS/antispam

The plugin will automatically fetch the latest release, fall back to the latest tag, then fall back to the default branch.


๐Ÿงฉ Plugin Compatibility

To make your YOURLS plugin compatible with Advanced Plugin Manager, follow these simple guidelines:

โœ”๏ธ What to do

  • Create a release on your GitHub repository.
    This will generate a .zip package that Advanced Plugin Manager can detect and download.
  • Ensure your plugin.php file is:
    • in the root of the ZIP, or
    • in a single subfolder along with the rest of your plugin files.

โŒ What to avoid

  • Avoid deeply nested folders like your-plugin/another-folder/plugin.php.

๐Ÿ“ฆ Example structure

your-plugin/
โ”œโ”€โ”€ plugin.php
โ”œโ”€โ”€ readme.md
โ””โ”€โ”€ ...

Then publish a release starting with the link: https://github.com/tuo-utente/tuo-plugin/releases/new (replace your-user and your-plugin with the correct informations).


๐Ÿ“„ License

This plugin is licensed under the MIT License.
It uses only native PHP features โ€” no bundled third-party code or copyleft libraries.


๐Ÿ’ฌ About

Lovingly developed by the usually-on-vacation brain cell of Gioxx, using Codex to speed up some of the development and correct some rubbish.


๐Ÿค Contributing

Pull requests and feature suggestions are welcome.
If you find bugs or have feature requests, open an issue.
If you find it useful, leave a โญ on GitHub! โค๏ธ

About

Install, update and manage YOURLS plugins directly from the admin interface.

Topics

Resources

License

Stars

2 stars

Watchers

0 watching

Forks

Sponsor this project

  •  

Contributors