{"id":30580608,"url":"https://github.com/gioxx/yourls-pluginmanager","last_synced_at":"2026-06-06T09:01:11.980Z","repository":{"id":306994829,"uuid":"990724117","full_name":"gioxx/YOURLS-PluginManager","owner":"gioxx","description":"Install, update and manage YOURLS plugins directly from the admin interface.","archived":false,"fork":false,"pushed_at":"2026-06-04T16:10:59.000Z","size":214,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-04T17:11:55.995Z","etag":null,"topics":["php","yourls","yourls-plugin"],"latest_commit_sha":null,"homepage":"https://yourls.gioxx.org/plugins/plugin-manager","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gioxx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"gioxx","ko_fi":"gioxx","buy_me_a_coffee":"gioxx"}},"created_at":"2025-05-26T14:33:46.000Z","updated_at":"2026-06-04T16:11:50.000Z","dependencies_parsed_at":"2025-07-28T22:26:43.132Z","dependency_job_id":"dbe91d29-1ab6-4e8d-a03d-7f8c52a38957","html_url":"https://github.com/gioxx/YOURLS-PluginManager","commit_stats":null,"previous_names":["gioxx/yourls-pluginmanager"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/gioxx/YOURLS-PluginManager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gioxx%2FYOURLS-PluginManager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gioxx%2FYOURLS-PluginManager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gioxx%2FYOURLS-PluginManager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gioxx%2FYOURLS-PluginManager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gioxx","download_url":"https://codeload.github.com/gioxx/YOURLS-PluginManager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gioxx%2FYOURLS-PluginManager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33975476,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-06T02:00:07.033Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["php","yourls","yourls-plugin"],"created_at":"2025-08-29T05:39:09.739Z","updated_at":"2026-06-06T09:01:11.489Z","avatar_url":"https://github.com/gioxx.png","language":"PHP","funding_links":["https://github.com/sponsors/gioxx","https://ko-fi.com/gioxx","https://buymeacoffee.com/gioxx"],"categories":[],"sub_categories":[],"readme":"# 🔌 YOURLS Advanced Plugin Manager\n\n[Readme file is also available in italian](README_IT.md).\n\n[![Latest Release](https://img.shields.io/github/v/release/gioxx/YOURLS-PluginManager)](https://github.com/gioxx/YOURLS-PluginManager/releases)\n[![License](https://img.shields.io/github/license/gioxx/YOURLS-PluginManager)](LICENSE)\n\n**Install, update and manage YOURLS plugins directly from the admin interface.**  \nJust feed it a GitHub URL and it handles the rest 🧙‍♂️\n\n---\n\n## 🚀 Features\n\n- 🧲 Install plugins from any public GitHub repo (release or tag)\n- 🔁 Auto-overwrite existing plugin folder (works like \"update\")\n- ⏱️ Automatic update checks every 24 hours (plus manual on-demand checks)\n- 🤖 Auto-associates repository metadata from `Plugin URI` (when valid GitHub URLs are available)\n- ✅ Verifies `plugin.php` structure before installing\n- 🔐 Supports GitHub Personal Access Token (to avoid API limits)\n- 📦 Extracts ZIP via `ZipArchive` (no dependencies)\n- 📊 Shows version, author, status, and last update time\n- 🔗 Associate/Change repo via dedicated modal UI (with pre-filled URL on change)\n- 🧼 Can delete inactive plugins safely\n- 💬 Fully translatable (`.po/.mo` ready — Italian included 🇮🇹)\n\n---\n\n## 🔧 Requirements\n\n- PHP with [`ZipArchive`](https://www.php.net/manual/en/class.ziparchive.php) extension (default in most hosting)\n- YOURLS 1.8+\n\n---\n\n## 🛠️ Installation\n\n1. Clone or download this repo\n2. Copy the folder `yourls-plugin-manager` into your `user/plugins/` directory\n3. (Optional) Create a `/languages` folder and add `.mo` translations\n4. Activate the plugin from the YOURLS admin interface\n5. Go to **Tools \u003e Advanced Plugin Manager** to start using it!\n\n---\n\n## ℹ️ Update Metadata Note\n\nPlugins installed **before** repository metadata tracking was introduced may temporarily show **\"No repository metadata\"**.\n\nTo enable update checks and one-click updates for those plugins, reinstall or update each one once via Advanced Plugin Manager.\n\nDefault YOURLS plugins do not require repository association, and the UI now reflects this explicitly.\n\n---\n\n## 🆕 What’s New in 1.1.5\n\n- Self-update notifications:\n  - the plugin now checks its own GitHub releases and shows a dashboard notice when a newer version is available\n  - the plugin page title now shows an update badge when applicable\n\n## 🆕 What’s New in 1.1.4\n\n- Delete flow hardened:\n  - automatic deletion now reports the exact plugin directory when YOURLS cannot remove it\n  - the admin can delete that folder manually on the server\n\n## 🆕 What’s New in 1.1.3\n\n- Install flow hardened:\n  - automatic extraction now runs only when `user/plugins` is writable by PHP\n  - when permissions are missing, the plugin stops with a clear message and a direct ZIP download link for manual installation\n\n## 🆕 What’s New in 1.1.2\n\n- Minor consistency fix:\n  - unified product naming across plugin metadata, UI copy, translations, and docs to **YOURLS Advanced Plugin Manager**\n\n## 🧾 Previous highlights (1.1.1)\n\n- UI naming updates:\n  - plugin menu entry is now **Advanced Plugin Manager**\n  - page title is now **YOURLS Advanced Plugin Manager**\n- Plugin submenu quality of life:\n  - plugin admin sublinks under **Manage Plugins** are now sorted alphabetically\n- Installed plugins header actions:\n  - added a **Manage** button that links directly to YOURLS native plugin management page (`admin/plugins.php`)\n  - action buttons are now visually consistent\n  - **Update all available** is disabled when no updates are available\n- New integrated settings feature:\n  - built-in `admin_view_per_page` customization (no separate plugin needed)\n  - if legacy plugin **Custom number of displayed links** is detected, an in-panel warning suggests deactivating/removing it\n  - credit: based on the snippet shared by **ozh** in YOURLS issue #2339: https://github.com/YOURLS/YOURLS/issues/2339#issuecomment-352127623\n\n---\n\n## 🐙 GitHub API Tips\n\nBy default, GitHub allows **60 unauthenticated requests/hour per IP**.\n\nTo increase the limit to **5000 req/hour**, use a **[GitHub Personal Access Token](https://github.com/settings/tokens/new)** (no scopes needed).\n\n---\n\n## 🌐 Localization\n\n- English (`en_US`) — default\n- Italian (`it_IT`) — included  \nYou can contribute other translations by forking and submitting `.po`/`.mo` files to the `languages/` folder.\n\n---\n\n## 🤓 Example Plugin URLs\n\nYou can paste any of these into the GitHub URL field:\n\n- `https://github.com/gioxx/YOURLS-LogoSuite`\n- `https://github.com/YOURLS/antispam`\n\nThe plugin will automatically fetch the latest release or fallback to the latest tag.\n\n---\n\n## 🧩 Plugin Compatibility\n\nTo make your YOURLS plugin compatible with **Advanced Plugin Manager**, follow these simple guidelines:\n\n### ✔️ What to do\n\n- **Create a release** on your GitHub repository.  \n  This will generate a `.zip` package that Advanced Plugin Manager can detect and download.\n- Ensure your `plugin.php` file is:\n  - in the **root** of the ZIP, **or**\n  - in a **single subfolder** along with the rest of your plugin files.\n\n### ❌ What to avoid\n\n- Do not leave your repository in a flat layout without a release:  \n  in this case, Advanced Plugin Manager will **not find any installable content**.\n- Avoid deeply nested folders like `your-plugin/another-folder/plugin.php`.\n\n### 📦 Example structure\n\n```text\nyour-plugin/\n├── plugin.php\n├── readme.md\n└── ...\n```\n\nThen 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).\n\n---\n\n## 📄 License\n\nThis plugin is licensed under the [MIT License](LICENSE).  \nIt uses only native PHP features — no bundled third-party code or copyleft libraries.\n\n---\n\n## 💬 About\n\nLovingly developed by the usually-on-vacation brain cell of [Gioxx](https://github.com/gioxx), using Codex to speed up some of the development and correct some rubbish.  \n\n---\n\n## 🤝 Contributing\n\nPull requests and feature suggestions are welcome.  \nIf you find bugs or have feature requests, [open an issue](https://github.com/gioxx/YOURLS-PluginManager/issues).  \nIf you find it useful, leave a ⭐ on GitHub! ❤️\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgioxx%2Fyourls-pluginmanager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgioxx%2Fyourls-pluginmanager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgioxx%2Fyourls-pluginmanager/lists"}