julabo / yourls_require_protocol
Advanced protocol validation for original URLs in YOURLS.
Installs: 5
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:yourls-plugin
pkg:composer/julabo/yourls_require_protocol
Requires
- php: >=7.4.0
This package is auto-updated.
Last update: 2025-12-15 14:05:22 UTC
README
Require Protocol is a YOURLS plugin that ensures original URLs have a valid protocol — and can optionally enforce HTTPS.
Features
- Enforces presence of a protocol (
http://orhttps://) - Optional: Automatically add
http://when no protocol is present - Optional: Automatically add
https://when no protocol is present - Optional: Allow only HTTPS
- Optional: Automatically upgrade
http://→https:// - Consistent error messages in the YOURLS admin
- Fully compatible with YOURLS 1.9+
Installation
- Download or clone the repository
- Copy the folder to
user/plugins/yourls-require-protocol/ - In YOURLS Admin: Activate the plugin
Configuration
All settings can be found at the top of plugin.php.
Allow only HTTPS
define('REQP_REQUIRE_HTTPS', true);
Automatically upgrade http:// to https://
define('REQP_UPGRADE_TO_HTTPS', true);
When no protocol is present: automatically add http://
define('REQP_AUTO_ADD_HTTP', true);
When no protocol is present: automatically add https://
define('REQP_AUTO_ADD_HTTPS', true);
Note: If both REQP_AUTO_ADD_HTTPS and REQP_AUTO_ADD_HTTP are set to true, https:// takes precedence.
Examples
| Input | Setting | Result |
|---|---|---|
| example.com | REQP_AUTO_ADD_HTTPS = true | https://example.com |
| example.com | REQP_AUTO_ADD_HTTP = true | http://example.com |
| example.com | REQP_AUTO_ADD_HTTPS = true, REQP_AUTO_ADD_HTTP = true | https://example.com |
| http://example.com | REQP_UPGRADE_TO_HTTPS = true | https://example.com |
| http://example.com | REQP_REQUIRE_HTTPS = true | Error |
| example.com | no auto-fix option | Error |
License
This project is licensed under the MIT License - see the LICENSE file for full license text.
Support
For issues, feature requests, or contributions, please visit the GitHub repository.