├── .gitattributes
├── .github
├── dependabot.yml
├── scripts
│ └── parse.rb
└── workflows
│ ├── auto-merge.yml
│ ├── build.yml
│ └── check-links.yml
├── CONTRIBUTING.md
├── LICENSE
└── README.md
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto
2 | README.md merge=union
3 | .github/** linguist-vendored
4 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 | updates:
3 | - package-ecosystem: github-actions
4 | directory: "/"
5 | schedule:
6 | interval: daily
7 |
--------------------------------------------------------------------------------
/.github/scripts/parse.rb:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | # Open README.md
4 | readme = 'README.md'
5 | content = File.read(readme)
6 |
7 | # Remove everything before `## Plugins` and after `## Themes`
8 | # Count all the `- [` at the beginning of lines
9 | count = content
10 | .gsub(/^[.\s\S\r\n]*## Plugins/, '')
11 | .gsub!(/## Themes[.\s\S\r\n]*$/, '')
12 | .scan(/^-\s+\[/m).size
13 |
14 | if count.to_i > 100
15 | print "#{count} plugins found, "
16 |
17 | # Update ??? placeholders in readme and update file
18 | content.gsub!(/\d*?/, "#{count}")
19 | File.open(readme, "w") {|file| file.puts content }
20 | puts "#{readme} updated."
21 | exit(true)
22 |
23 | else
24 | puts "error (found #{count} plugins)"
25 | exit(false)
26 |
27 | end
28 |
--------------------------------------------------------------------------------
/.github/workflows/auto-merge.yml:
--------------------------------------------------------------------------------
1 | # https://docs.github.com/actions
2 |
3 | name: Auto-merge
4 |
5 | on: pull_request_target
6 |
7 | permissions:
8 | pull-requests: write
9 | contents: write
10 |
11 | jobs:
12 | dependabot:
13 | name: Dependabot
14 | uses: YOURLS/.github/.github/workflows/auto-merge.yml@main
15 |
--------------------------------------------------------------------------------
/.github/workflows/build.yml:
--------------------------------------------------------------------------------
1 | name: Update plugin count
2 |
3 | on:
4 | #pull_request:
5 | push:
6 | branches:
7 | - main
8 | paths:
9 | - 'README.md'
10 | workflow_dispatch:
11 |
12 | jobs:
13 | build:
14 | runs-on: ubuntu-latest
15 | permissions:
16 | contents: write
17 | steps:
18 | - uses: actions/checkout@v4
19 |
20 | - name: Generate token
21 | uses: actions/create-github-app-token@v2
22 | id: app-token
23 | with:
24 | app-id: ${{ vars.BOT_APP_ID }}
25 | private-key: ${{ secrets.BOT_PRIVATE_KEY }}
26 |
27 | - name: Set up Ruby
28 | uses: ruby/setup-ruby@v1
29 | with:
30 | ruby-version: 3.0
31 |
32 | - name: Update README
33 | run: ruby .github/scripts/parse.rb
34 |
35 | - name: Git diff
36 | run: |
37 | git diff
38 |
39 | - name: Get GitHub App User ID
40 | id: get-user-id
41 | run: echo "user-id=$(gh api "/users/${{ steps.app-token.outputs.app-slug }}[bot]" --jq .id)" >> "$GITHUB_OUTPUT"
42 | env:
43 | GH_TOKEN: ${{ steps.app-token.outputs.token }}
44 |
45 | - name: Commit and push if README changed
46 | run: |
47 | git config --global user.name '${{ steps.app-token.outputs.app-slug }}[bot]'
48 | git config --global user.email '${{ steps.get-user-id.outputs.user-id }}+${{ steps.app-token.outputs.app-slug }}[bot]@users.noreply.github.com'
49 |
50 | - run: |
51 | git add -A
52 | git commit -m "Update plugin count" || exit 0
53 | git push
54 |
--------------------------------------------------------------------------------
/.github/workflows/check-links.yml:
--------------------------------------------------------------------------------
1 | name: Check links
2 |
3 | on:
4 | workflow_dispatch:
5 | schedule:
6 | - cron: '0 12 */7 * *'
7 |
8 | jobs:
9 | check:
10 | runs-on: ubuntu-latest
11 | steps:
12 | - uses: actions/checkout@v4
13 | - name: Set up Ruby
14 | uses: ruby/setup-ruby@v1
15 | with:
16 | ruby-version: 2.7.2
17 | - name: Install Awesome Bot
18 | run: gem install awesome_bot
19 | - name: Run Awesome Bot
20 | run: awesome_bot README.md --request-delay 1 --allow-ssl --allow-timeout -t 5 --allow-dupe --white-list sho.rt,your.site,long.url,awesome.re
21 | - uses: actions/upload-artifact@v4
22 | if: failure()
23 | with:
24 | name: ab-results
25 | path: ab-results-README.md-filtered.json
26 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contribution Guidelines
2 |
3 | Do you want to get your work featured here, be it an article, plugin or other code ? You're at the right place.
4 |
5 | Did you Notice something missing in this curated list of awesome things related to YOURLS ? Or encountered a dead link ?
6 |
7 | ## Open a pull request or file an issue in this repository
8 |
9 | The best and fastest way is to open a pull request to add, fix or remove links.
10 |
11 | Please prefer hosting your resources (code, article) somewhere users will be able to interact with you (blog comments, ideally Github issues). This way, official YOURLS resources won't be polluted by questions concerning your material.
12 |
13 | Any content, free or commercial, is welcome to be listed. Just make it clear to users.
14 |
15 | ## Show off to your users
16 |
17 | On your `README` or home page, make sure your users notice that you are listed on this awesome list. This way the community will grow faster and you will eventually get more users
18 |
19 | It's totally optional, but it's a nice way to show you've been featured in an Awesome list. You can choose either the regular badge or the flat one.
20 |
21 | * [](https://github.com/YOURLS/awesome-yourls/)
22 | ```
23 | [](https://github.com/YOURLS/awesome-yourls/)
24 | ```
25 |
26 | * [](https://github.com/YOURLS/awesome-yourls/)
27 | ```
28 | [](https://github.com/YOURLS/awesome-yourls/)
29 | ```
30 |
31 | * [](https://github.com/YOURLS/awesome-yourls/)
32 | ```
33 | [](https://github.com/YOURLS/awesome-yourls/)
34 | ```
35 |
36 | ## Code of Conduct
37 |
38 | Please note that this project is released with a
39 | [Contributor Code of Conduct](https://github.com/YOURLS/.github/blob/master/CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.
40 |
41 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | CC0 1.0 Universal
2 |
3 | Statement of Purpose
4 |
5 | The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work").
6 |
7 | Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others.
8 |
9 | For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights.
10 |
11 | Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following:
12 | i. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work;
13 |
14 | ii. moral rights retained by the original author(s) and/or performer(s);
15 |
16 | iii. publicity and privacy rights pertaining to a person's image or likeness depicted in a Work;
17 |
18 | iv. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below;
19 |
20 | v. rights protecting the extraction, dissemination, use and reuse of data in a Work;
21 |
22 | vi. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and
23 |
24 | vii. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof.
25 |
26 | Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose.
27 |
28 | Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose.
29 |
30 | Limitations and Disclaimers.
31 |
32 | a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.
33 |
34 | b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.
35 |
36 | c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work.
37 |
38 | d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work.
39 |
40 | For more information, please see https://creativecommons.org/publicdomain/zero/1.0
41 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | # Awesome YOURLS
8 |
9 | [](https://awesome.re)
10 | [](https://github.com/YOURLS/awesome)
11 |
12 | > A curated list of **awesome things** related to **[YOURLS](https://yourls.org)**
13 |
14 | ## Contents
15 |
16 | - [Official Links](#official-links) - Official guides and tools
17 | - [Plugins](#plugins) - what makes YOURLS so versatile and powerful.
18 | Currently: **230** plugins listed.
19 | - [Themes](#themes) - to customize how YOURLS looks
20 | - [Translations](#translations) - YOURLS in your language
21 | - [Integrations](#integrations) - Third-party integrations and frameworks
22 | - [Guides & tutorials](#guides--tutorials) - Community resources
23 | - [Showcases](#showcases) - Inspiration and celebrity endorsements
24 |
25 | _Something missing or incorrect? Want to get your work listed? See how you can [contribute](CONTRIBUTING.md)!_
26 |
27 | ## Official Links
28 | [🔼 Go to top](#readme)
29 |
30 | #### Official material from the YOURLS team
31 |
32 | - [Official Readme](https://yourls.org)
33 | - [Source Code](https://github.com/YOURLS/YOURLS)
34 | - [Documentation](https://yourls.org/docs)
35 | - [Release Notes](https://github.com/YOURLS/YOURLS/releases)
36 | - [YOURLS News](https://yourls.org/blog)
37 | - [Community Discussions](https://github.com/orgs/YOURLS/discussions)
38 |
39 | #### Official tools from the YOURLS team
40 |
41 | - [YOURLS using Docker](https://hub.docker.com/_/yourls/)
42 | - [YOURLS using Helm for Kubernetes](https://artifacthub.io/packages/helm/yourls/yourls)
43 | - [Sample YOURLS plugin template](https://github.com/YOURLS/plugin-sample)
44 | - [Sample YOURLS plugin with translations](https://github.com/YOURLS/plugin-with-translations)
45 | - [YOURLS plugins using Composer](https://github.com/YOURLS/composer-installer)
46 | - [YOURLS test suite for plugins](https://github.com/YOURLS/YOURLS-test-suite-for-plugins)
47 |
48 | ## Plugins
49 | [🔼 Go to top](#readme)
50 |
51 | All known plugins, from the community or the YOURLS team
52 |
53 | _Legend:_
54 | - ☑️ : plugin authored by a member of the YOURLS teams
55 | - :test_tube: : plugins featuring their own unit tests to ensure expected functionality, as well as present and future compatibility, with YOURLS
56 |
57 | Currently we have **230** plugins listed.
58 |
59 |
60 | Willing to get your plugins featured here? Please [contribute](CONTRIBUTING.md)!
61 |
62 | Jump to [0-9](#0-9) | [A](#a) | [B](#b) | [C](#c) | [D](#d) | [E](#e) | [F](#f) | [G](#g) | [H](#h) | [I](#i) | [J](#j) | [K](#k) | [L](#l) | [M](#m) | [N](#n) | [O](#o) | [P](#p) | [Q](#q) | [R](#r) | [S](#s) | [T](#t) | [U](#u) | [V](#v) | [W](#w) | [X](#x) | [Y](#y) | [Z](#z)
63 |
64 | ### 0-9
65 | - [2fa Support](https://github.com/MatthewC/yourls-2fa-support) - Adds 2FA support to YOURLS.
66 | - [302-Instead](https://github.com/EpicPilgrim/302-instead) - Send a 302 (temporary) redirect instead of 301 (permanent), for sites where shortlinks may change.
67 | - [302-Instead](https://github.com/timcrockford/302-instead) - A fork of previous plugin, with some more options.
68 | - [404 If Not Found](https://github.com/YOURLS/404-if-not-found) ☑️ - Give a 404 Not Found if the short URL is not found.
69 |
70 | [⬆️ Go to section](#plugins)
71 |
72 | ### A
73 |
74 | - [AAF Rapid Connect auth](https://github.com/clmcavaney/aaf-rapidconnect-auth-yourls) - AAF Rapid Connect authentication plugin for YOURLS.
75 | - [Abuse Desk for YOURLS](https://yourls.org/blog/2011/04/yourls-abuse-anti-spam-plugins/) - A Google Safe Browsing implementation for YOURLS to avoid spam links.
76 | - [Access Control Allow Origin](https://github.com/TEODE/yourls-access-control-allow-origin) - Prevents CORS issue with domain CNAMES and aliases for admin actions.
77 | - [Additional Charsets](https://github.com/josheby/yourls-additional-charsets) - Define additional character sets for short URLs.
78 | - [Admin Issue Diagnostic - A.I.D.](https://github.com/PopVeKind/admin_issue_diagnostic) - Collects YOURLS environmentals and formats a template to copy/paste into a YOURLS issue.
79 | - [Admin NoReCAPTCHA](https://github.com/amindeed/YOURLS-Admin-NoReCAPTCHA) - Protect logins with Google's No CAPTCHA reCAPTCHA (Google's ReCAPTCHA v2.0).
80 | - [Admin reCaptcha](https://github.com/armujahid/Admin-reCaptcha) - Spam protection for private YOURLS admin interface with reCaptcha.
81 | - [Admin reCaptcha v3](https://github.com/axilaris/admin-yourls-recaptcha-v3) - Protect Admin login with reCaptcha v3.
82 | - [Admin Turnstile](https://github.com/SophiaAtkinson/yourls-cf-turnstile) - Protect Admin login with Cloudflare Turnstile!
83 | - [Advanced Reserved URLs](https://github.com/josheby/yourls-advanced-reserved-urls) - Extends the reserved word functionality, blocking short URLs containing reserved words, even if mixed case or written in leetspeak.
84 | - [Allow Aliases](https://github.com/adigitalife/yourls-allow-aliases) - Allow YOURLS to work with alias hostnames for the server.
85 | - [Allow Existing URLs](https://github.com/elder-oss/yourls-allow-existing-urls) - Have YOURLs return success when shortening an existing URL with YOURLS_UNIQUE_URLS=true.
86 | - [Allow Forward Slashes in Short URLs](https://github.com/williambargent/YOURLS-Forward-Slash-In-Urls) - Just as the name says.
87 | - [Allow Full Stops in Short URLs](https://github.com/SophiaAtkinson/YOURLS-full-stop-in-short-urls) - This plugin will allow full stops `.` in keywords when shortening URLS.
88 | - [Always-302](https://github.com/tinjaw/Always-302) - A newer alternative to 302-Instead.
89 | - [Amazon Affiliate](https://github.com/floschliep/YOURLS-Amazon-Affiliate) - Adds your Amazon Affiliate Tag to all Amazon URLs before redirection.
90 | - [Amazon Affiliate With Notice](https://github.com/Trsmoothie/YOURLS-Amazon-Affiliate-With-Redirect-Notice) - Adds your Amazon Affiliate Tag to all Amazon URLs before redirection with a notice of Amazon Affiliate link usage.
91 | - [Anonymise](https://github.com/wlabarron/yourls-anonymise) - Anonymise the log data that YOURLS captures.
92 | - [Antispam](https://github.com/YOURLS/antispam) ☑️ - Antispam plugin using the major DNS blacklists.
93 | - [YOURLS APC Cache](https://yourls.org/blog/2011/06/yourls-apc-cache-plugin/) - Add support for APC to reduce MySQL queries.
94 | - [API Action](https://github.com/YOURLS/API-action) ☑️ - Example plugin for YOURLS 1.6+ to show how to implement custom API actions.
95 | - [API Contract](https://github.com/brookestevens/yourls-api-contract) - API action opposite to "expand": check if a URL has been shortened before
96 | - [API Delete](https://github.com/claytondaley/yourls-api-delete) - Add a "delete" action to the API.
97 | - [API Edit URL](https://github.com/timcrockford/yourls-api-edit-url) - Add an "update" action to the API to edit a URL, and a "geturl" action to get the long URL of a short URL.
98 | - [API List All](https://github.com/rosano/yourls-api-action-list) - Add a "list" action to the API to show all keywords.
99 | - [API List All + URLs](https://github.com/Le0X8/yourls-api-action-list) - Add a "list" action to the API to show all keywords & URLs. This is a fork of the previous plugin and therefore incompatible with it.
100 | - [API List Extended](https://github.com/Codeinwp/yourls-api-list-extended?tab=readme-ov-file) - Add a "list" action to the API with advanced options, such as shorting, pagination and field selection.
101 | - [API ShortUrl Analytics](https://github.com/stefanofranco/yourls-api-shorturl-analytics) - Add a "shorturl_analytics" action to the API to get the statistics of a specific shortURL in a range of dates.
102 | - [Append Query String](https://github.com/drockney/append-qs) - Appends the query string to a long URL.
103 | - [Auth Manager Plus](https://github.com/joshp23/YOURLS-AuthMgrPlus) - Seperates user data & manages authorization with role-based access controls (RBAC).
104 | - [Auto Login](https://gist.github.com/ozh/3fa3382eb83d26449daab4b70cd3b299) ☑️ - Automatically populate login/password with test/test (for test installs).
105 | - [Awin Affiliate](https://github.com/lammersbjorn/YOURLS-Awin) - Automatically adds Awin affiliate parameters to URLs from configured merchants.
106 |
107 | [⬆️ Go to section](#plugins)
108 |
109 | ### B
110 |
111 | - [BaseURL Rewrite](https://github.com/christian-krieg/yourls-plugin-base-url-rewrite) - Rewrite short URLs such that they point to alternative (base) URLs.
112 | - [Blacklist Domains](https://github.com/apelly/YourlsBlacklistDomains) - A simple plugin to blacklist domains from shortening URLs.
113 | - [Better Blacklist Domains](https://git.oldgate.org/Sophia/better-yourls-blacklist-domains) - A better plugin to blacklist domains from shortening URLs.
114 | - [Blacklist IPs](https://github.com/LudoBoggio/YourlsBlacklistIPs) - A simple plugin to blacklist IPs from shortening URLs.
115 | - [BlackList User-Agent](https://github.com/8Mi-Tech/yourls-ban-useragent):test_tube: - A simple plugin to blacklist User-Agent from shortening URLs.
116 | - [Block details while not login](https://github.com/taozhiyu/block-details-while-not-login) - Blocks access to the details page when not logged in.
117 | - [Broken Banisher](https://github.com/ptrsmk/hp-broken-banisher) - Semi-automatically audits links already in your database and banishes the broken ones.
118 | - [Bulk Import and Shorten](https://github.com/vaughany/yourls-bulk-import-and-shorten) - Import links from a CSV file.
119 | - [Bulk URL Shortening](https://github.com/tdakanalis/bulk_api_bulkshortener) - Shortening of multiple URLs with one API request.
120 |
121 | [⬆️ Go to section](#plugins)
122 |
123 | ### C
124 |
125 | - [cAuth](https://github.com/joshp23/YOURLS-cAuth) - Client side SSL certificate authentication for admin pages.
126 | - [Cache Stat Pages](https://github.com/YOURLS/cache-stats-pages) ☑️ - Serve stat pages (`http://sho.rt/blah+`) from cache.
127 | - [Caching Disabled for Redirects](https://github.com/dgw/yourls-shorturl-no-cache) ☑️ - Send no-cache headers with shorturl redirects.
128 | - [CAS Plugin](https://github.com/nicwaller/yourls-cas-plugin) - Enable authentication through a CAS server.
129 | - [Case Insensitive](https://github.com/seandrickson/YOURLS-Case-Insensitive/) - Makes all keywords case insensitive (creates and calls all keywords lowercase).
130 | - [Case Insensitive](https://github.com/adigitalife/yourls-case-insensitive) - Make YOURLS case insensitive: if you create `http://sho.rt/MyLink`, then variations like `mylink` or `MYLINK` will redirect to the same URL.
131 | - [Case Insensitive YOURLS](https://github.com/IMExperts/yourls-case-insensitive) - Makes YOURLS case insensitive, for 1.9+.
132 | - [Change Error Messages](https://github.com/adigitalife/yourls-change-error-messages) - Changes the error message when a keyword or URL already exists and displays the long URL.
133 | - [YOURLS GWall Change Logo](https://github.com/gioxx/YOURLS-GWallChangeLogo) - Allows you to change the image of the YOURLS logo and its alt and title tags.
134 | - [YOURLS GWall Change Title](https://github.com/gioxx/YOURLS-GWallChangeTitle) - Allows you to change the title of the YOURLS website (the html `` tag).
135 | - [Change Password](https://github.com/ozh/yourls-change-password) ☑️ - Change your password from within YOURLS instead of editing the config file.
136 | - [Change Password](https://github.com/vvanasten/YOURLS-Change-Password) - Allow users to change their password via the administration interface.
137 | - [Check URL](https://github.com/adigitalife/yourls-check-url) - Check if a long URL is reachable before creating a short URL.
138 | - [Compliance](https://github.com/joshp23/YOURLS-Compliance) - Anti-abuse plugin, designed to address link complaints from 3rd parties.
139 | - [Conditional Toolbar](https://github.com/YOURLS/conditional-toolbar) ☑️ - A plugin to conditionally enable the toolbar: `http://sho.rt/blah` for normal redirect, `http://sho.rt/tb/blah` for a toolbar.
140 | - [Conditional Advertisements](https://github.com/HeroCC/yourls-conditional-urlads) - A plugin to conditionally send links through various link monetizing services: `http://your.site/short` is normal, `http://your.site/a/short` redirects through AdFly.
141 | - [Custom Header & Footer](https://github.com/mediageni/yourls-custom-header-footer) - A plugin administration page to add custom header and footer style and content.
142 | - [Custom Header](https://github.com/srivastava07/YOURLS-Custom-Header) - This plugin allows the addition of a custom header to the generated URL, enabling compliance with specific regulatory requirements in certain countries, such as India, for bulk SMS services.
143 | - [Custom Javascript](https://github.com/mediageni/yourls-custom-javascript) - Add custom javascript to admin pages.
144 | - [Custom Number of Displayed Links](https://github.com/YOURLS/YOURLS/issues/2339#issuecomment-352127623) ☑️ - Change the default number of links per page, if 15 isn't your taste.
145 | - [Custom Protocol](https://github.com/YOURLS/custom-protocol) ☑️ - If the user is known, this plugin adds custom protocol (eg `blah://`) to authorized protocols, otherwise restricts to `http|s`.
146 |
147 | [⬆️ Go to section](#plugins)
148 |
149 | ### D
150 |
151 | - [Device Details](https://github.com/SachinSAgrawal/YOURLS-Device-Details) - Display click details, including IP, user-agent, device information, and more.
152 | - [Device Charts](https://github.com/AlbertoVargasMoreno/YOURLS-Device-Charts) - Display charts showcasing information about browsers, platforms, and devices used by visitors.
153 | - [Disable JSONP](https://github.com/seandrickson/YOURLS-Disable-JSONP) - Disables JSONP access for the YOURLS API.
154 | - [Domain Limit](https://github.com/nicwaller/yourls-domainlimit-plugin) - Limit the domains that users can create shortlinks to.
155 | - [Domain Limiter](https://bitbucket.org/quantumwebco/domain-limiter-yourls-plugin) - Fork of Nic Waller's plugin with the addition of an admin panel to edit the white list from the admin area.
156 | - [Do TLS](https://github.com/joshp23/YOURLS-doTLS) - Always use SSL/TLS for a destination url if available.
157 | - [Don't Log Bots](https://github.com/YOURLS/dont-log-bots) ☑️ - Ignore bot hits in your stats (both click count as seen in the main admin page and in detailed stats).
158 | - [Don't Log Crawlers](https://github.com/luixxiul/dont-log-crawlers/) - A fork of the `Don't Log Bots`, with more bots filtered out.
159 | - [Don't Log Health Checker](https://github.com/guessi/yourls-dont-log-health-checker) - A fork of `Don't Log Bots`, with more bots filtered out.
160 | - [Don't Track Admin Clicks](https://github.com/dgw/yourls-dont-track-admins) ☑️🧪 - Don't count clicks on short URL if user is logged in.
161 | - [Download Plugin](https://github.com/krissss/yourls-download-plugin) - Download and install YOURLS plugins from the admin panel.
162 |
163 | [⬆️ Go to section](#plugins)
164 |
165 | ### E
166 |
167 | - [Edition Logger](https://github.com/esuarezsantana/yourls-edition-logger) - Logs to a file every url insertion, deletion, or modification, to provide traceability of users' actions allowing an open edition policy.
168 | - [Emojis](https://github.com/SophiaAtkinson/yourls-emojis) - Create an emoji-only short link, like `http://sho.rt/✨` or `http://sho.rt/😎🆒🔗`
169 | - [Enhanced Auth Cookies](https://github.com/ozh/yourls-enhanced-cookies) ☑️ - Enhances the cookie based authentication, making each auth cookie name unique and time based.
170 | - [Every Click Counts](https://github.com/BstName/every-click-counts) - Click count include multiple clicks for the same client (ie there will be no browser caching of the redirection).
171 | - [Expiry](https://github.com/joshp23/YOURLS-Expiry) - Defines optional conditions under which links will expire, able to set time and click limited links globally or per individual links.
172 |
173 | [⬆️ Go to section](#plugins)
174 |
175 | ### F
176 |
177 | - [Fallback URL](https://github.com/ozh/yourls-fallback-url/) - Redirect to a custom URL when the short URL does not exist.
178 | - [Fancy Animals Short Urls](https://github.com/cfultz/Fancy-Animal-Short-Urls) - Plugin to create cool short URLS like `https://sho.rt/SwiftCrimsonBullfrog`
179 | - [Fancy Pokemon Short Urls](https://github.com/fortepc/Fancy-Pokemon-Short-Urls) - Plugin to create cool short URLS like `https://sho.rt/QuirkyHisuianNuzleaf`
180 | - [Favicon](https://github.com/YOURLS/yourls-favicon/) ☑️ - Properly displayed favicon in all cases (home screen on iOS, Android, Chrome, Safari...).
181 | - [Filter Code](https://github.com/ShredCode/YOURLS-filter-code) - Allow to select 3XX Status Code to return per keyword.
182 | - [Fix long URLs](https://github.com/adigitalife/yourls-fix-long-url) - Fix long URLs that contain %20 and other similar encodings.
183 | - [Fix Youtube titles](https://github.com/ozh/fix-youtube-titles) ☑️ - Get correct video title, not "`Before you continue to YouTube`"
184 | - [Force Lowercase](https://github.com/YOURLS/force-lowercase) ☑️ - Force lowercase so `http://sho.rt/ABC` → `http://sho.rt/abc`.
185 | - [Forward Query Strings](https://github.com/hastinbe/yourls-plugin-forward-query-strings) - Forwards query params to the destination URL. Can exclude params by domain.
186 | - [Fuzzy Keyword Suggestions](https://github.com/philhagen/ltc-fuzzy-keyword-suggestions) - Handles typos and other "near-misses" for any shortened link (eg if you have `sho.rt/dh1ik` but someone types `sho.rt/dhlik`, the 404 page will show suggestions for similar short URLs).
187 |
188 | [⬆️ Go to section](#plugins)
189 |
190 | ### G
191 |
192 | - [GA MP](https://github.com/powerthazan/YOURLS-GA-MP-Tracking) - Track YOURLS link clicks with Google Analytics Measurement protocol in Real Time.
193 | - [Git Version](https://github.com/chtaube/YOURLS-plugin-gitversion) - Add version information from the git repository into the footer of the admin page.
194 | - [Geo API](https://github.com/ssecurelabs/yourls-Geo-API-plugin) - Plugin to look up country code from another 3rd party API (geoiplookup.net).
195 | - [GeoIP Update](https://github.com/ozh/yourls-geoip-update) ☑️ - Update the GeoIP database
196 | - [GeoShortURL](https://github.com/tobozo/YOURLS-GeoShortURL) - Plugin to add per-country support to existing short URLs (use it with [302-Instead](https://github.com/timcrockford/302-instead)).
197 | - [Google Analytics Link Tagging](https://katz.co/2300/) - Add GA tags (utm_source and others) to your shortened links.
198 | - [Google Auth](https://github.com/8thwall/google-auth-yourls) - Enables Google Authentication for YOURLS.
199 | - [Google Safe Browsing](https://github.com/YOURLS/google-safe-browsing) ☑️:test_tube: - Check every new URL against Google's Safe Browsing Lookup service.
200 | - [GTM for YOURLS](https://github.com/dorks-delivered/GTM-for-YOURLS) - Google Tag Manager for every single click.
201 |
202 | [⬆️ Go to section](#plugins)
203 |
204 | ### H
205 |
206 | - [hexdec](https://github.com/plttn/yourls-hexdec) - Changes the sequential keywords from base36 to base16 (ie `[0-9a-f]`).
207 | - [Hide Referrer](https://github.com/Sire/yourls-hide-referrer) - Hide referrer on all or some short links.
208 | - [Hide Version String](https://github.com/YOURLS/YOURLS/issues/1878#issuecomment-88450475) - Hide the version string in the footer.
209 | - [HTTP:BL](https://github.com/joshp23/YOURLS-httpBL) - Prevent spam using the black list from Project Honeypot.
210 | - [HTTP Proxy](https://github.com/adigitalife/yourls-http-proxy) - Get remote content using an HTTP proxy, for instance when YOURLS is running behind a firewall (e.g. corporate intranet).
211 | - [HTTP status per link](https://github.com/district09/yourls_plugin_http-status-per-link) - Select `3XX` Status Code to return per keyword.
212 |
213 | [⬆️ Go to section](#plugins)
214 |
215 | ### I
216 |
217 | - [Identi.ca for YOURLS](https://yourls.org/blog/2011/04/yourls-identi-ca-and-tumblr-plugins/) - Share YOURLS links via identi.ca.
218 | - [YOURLS IDN](https://github.com/YOURLS/YOURLS-IDN) ☑️ - Add IDN support to YOURLS.
219 | - [Image Placeholder](https://github.com/LeoColomb/yourls-image-placeholder) ☑️ - Simple image placeholder service for YOURLS.
220 | - [YOURLS Import Export](https://github.com/GautamGupta/YOURLS-Import-Export) - A plugin to import and export YOURLS URL.
221 | - [Integrated QRCodes](https://github.com/joshp23/YOURLS-IQRCodes) - Integrated QRCodes is an updated fork of Inline QRCode, but more compact, configurable, and just as efficient with more features.
222 | - [Insert Fake Links](https://gist.github.com/ozh/6455d192ac443c2a12379cc94f607b43) ☑️ - Insert fake links (for test installs)
223 | - [iOS URL](https://github.com/suculent/yourls-ios-url-schemes-plugin) - Adds support for URLs starting with `itms-apps://` and `itms-services://`.
224 | - [IP Click Detail](https://github.com/tacoded/YOURLS-IP-Click-Detail) - Shows click level IP address detail and User Agent, Referrer
225 | - [iTunes-Affiliate](https://github.com/floschliep/YOURLS-iTunes-Affiliate) - Adds your iTunes Affiliate-Token to all iTunes URLs before redirection.
226 |
227 | [⬆️ Go to section](#plugins)
228 |
229 | ### J
230 |
231 | - [Jappix](https://github.com/jonrandoem/yourls-jappix) - Adds a JappixMini chat on your YOURLS admin pages.
232 | - [JSON Response](https://github.com/tessus/yourls-json-response) - Add `.json` (or a custom string/character) to the short URL to get info about it as a JSON response.
233 |
234 | [⬆️ Go to section](#plugins)
235 |
236 | ### K
237 |
238 | - [Keep Query String](https://github.com/rinogo/yourls-keep-query-string) - Adds the short URL's query string (if any) to the long URL.
239 | - [Keywords, Charset & Length](https://github.com/peterberbec/yourls-keyword_charset_length) - Custom charset, custom link length and random short urls, all in one plugin, with an admin panel.
240 | - [Keyword Limiter](https://github.com/za22061991/yourls-keyword-limiter) - Add several conditions to check whether submitted keyword is allowed or not.
241 | - [Keyword not found](https://github.com/8thwall/keyword-not-found-set-field-yourls) - If keyword isn't found in the database, redirect to admin page and pre-populate the short URL field.
242 | - [Keyword Prefix](https://github.com/jangrewe/yourls-keyword-prefix) - Adds a defined prefix to your short URLs.
243 |
244 | [⬆️ Go to section](#plugins)
245 |
246 | ### L
247 |
248 | - [LDAP](https://github.com/k3a/yourls-ldap-plugin) - Enables use of LDAP for user authentication.
249 | - [Link Anonymizer](https://github.com/katzwebservices/YOURLS-Link-Anonymizer) - Generate a link that will take you to an anonymizer service.
250 | - [Link List](https://gitlab.com/ruthtillman/yourls-linklist) - List recent links added, in the admin interface or on a public page.
251 | - [Limit Custom Keyword Length (Min & Max Characters)](https://github.com/suryatanjung/yourls-limit-custom-keyword-length) - This plugin limits the minimum and maximum number of characters for custom keyword.
252 | - [Limit keyword length](https://github.com/adigitalife/yourls-limit-keyword-length) - This plugin limits the number of characters allowed for the custom keyword.
253 | - [Limit keyword length](https://github.com/gehwissenlos/yourls-limit-keyword-length) - This plugin defines the minimal amount of characters for the custom keyword.
254 | - [Limited Links](https://github.com/LeoColomb/yourls-limited-links) ☑️ -limit the number of redirections of a specific link.
255 | - [log-login](https://github.com/SweBarre/log-login) - Logs login atempts to YOURLS. To be used with fail2ban.
256 | - [Login Timeout](https://github.com/reanimus/yourls-login-timeout) - Adds a timeout after a certain number of failed logins to mitigate brute force logins.
257 | - [Lookup keywords by long URL substring](https://github.com/bryzgaloff/yourls-api-lookup-keywords-by-url-substr) - Add a "lookup-url-substr" action to YOURLS API which searches keywords by long URL substring (implements `url LIKE %substr%` SQL operation).
258 | - [lowercase username](https://github.com/JensSpanier/yourls-lowercase-username) - Makes the username lowercase when logging in.
259 |
260 | [⬆️ Go to section](#plugins)
261 |
262 | ### M
263 |
264 | - [Mailto](https://github.com/peterberbec/yourls-mailto) - Adds a "mailto:" sharing option, next to Twitter and Facebook.
265 | - [Mailto Bookmarklet](https://github.com/peterberbec/yourls-mailto-bookmarklet) - Adds a bookmarklet to share links by mail.
266 | - [Mass Remove Link](https://github.com/YOURLS/mass-remove-links/) ☑️ - Remove several links at once. Select by date, date range, IP or URL matching.
267 | - [Mass Update](https://github.com/Binarypark/yourls-api-mass-update) - Adds an API action to mass update links from `old_domain` to `new_domain`.
268 | - [md5 salt](https://github.com/ashleykleynhans/yourls-plugin-md5-salt) - Provide backwards compatibility for those still using `md5` in their passwordless API calls.
269 | - [Memcached](https://github.com/alexalouit/Yourls-Memcached) - Memcached plugin for YOURLS.
270 | - [Meta Redirect](https://github.com/pureexe/Yourls-meta-redirect) - Redirect using HTML meta tag when you prepend the short URL with an underscore (eg `http://sho.rt/_bleh`).
271 | - [Mobile Detect](https://github.com/guessi/yourls-mobile-detect) - Add ability to redirect by user device OS.
272 |
273 | [⬆️ Go to section](#plugins)
274 |
275 | ### N
276 |
277 | - [No Traking Admins](https://github.com/joshp23/YOURLS-No-Tracking-Admins) - No loggin clicks for authenticated users (compatible with OIDC).
278 | - [No URL title](https://github.com/YOURLS/YOURLS/issues/1966#issuecomment-148905749) ☑️ - Don't fetch long URL titles.
279 | - [No Version Check](https://github.com/YOURLS/YOURLS/issues/2851) ☑️ - Stop YOURLS from checking if a new release is available.
280 | - [Notifier](https://github.com/SosthenG/yourls-notifier) - Sends notifications when actions occurs, like creating a new shortened url.
281 |
282 | [⬆️ Go to section](#plugins)
283 |
284 | ### O
285 |
286 | - [OAuth Sign In](https://github.com/LouisSung/YOURLS-OAuth_Sign_In) - Enable OAuth sign in support (using GitLab as an example).
287 | - [OIDC](https://github.com/joshp23/YOURLS-OIDC) - OpenID Connect authentication against a generic OpenID Connect server.
288 | - [Open Graph Meta Scraper](https://github.com/LK608/OG-Scraper) - Get Open Graph (OG) information for your shortened links.
289 | - [Original URL Regex Limiter](https://github.com/uniwue-rz/yourls-original-url-regex-limiter) - Enables to allow and block (original) URLs not just with domain names like related plugins, but with regular expressions for more precise policies.
290 |
291 | [⬆️ Go to section](#plugins)
292 |
293 | ### P
294 |
295 | - [Password Protection](https://github.com/MatthewC/yourls-password-protection) - Password protect any Short URL you want so that users are prompted for a password before redirection.
296 | - [Phishtank](https://blog.yourls.org/2011/04/yourls-abuse-anti-spam-plugins/) - Prevent spam links using Phishtank's API.
297 | - [Phishtank 2.0](https://github.com/joshp23/YOURLS-Phishtank-2.0) - Functional rewrite of the old Phishtank plugin with more features.
298 | - [Piwik-YOURLS](https://github.com/interfasys/piwik-yourls) - Piwik and a few other features.
299 | - [Popular Clicks](https://github.com/miconda/yourls/tree/master/plugins/popular-clicks) - Display the top of the most clicked links during past days.
300 | - [Popular Clicks Extended](https://github.com/vaughany/yourls-popular-clicks-extended) - Shows which short links get clicked the most during a specific time frame.
301 | - [Popular Links](https://github.com/laaabaseball/Yourls-Popular-Links) - Adds an admin page that displays your shortener's most popular links.
302 | - [Preview URL](https://yourls.org/docs/development/examples/preview) ☑️ - Add the character '~' to a short URL to display a preview screen before redirection.
303 | - [Preview URL with QR Code](https://github.com/dennydai/yourls-preview-url-with-qrcode) - Add the character '~' to a short URL to display a preview screen & QR code before redirection.
304 | - [Preview URL with QR Code And Thumbnail](https://github.com/prog-it/yourls-preview-url-with-qrcode-thumbnail) - Add the character '~' to a short URL to display a QR code and Thumbnail image before redirection.
305 | - [Public "Prefix n' Shorten"](https://yourls.org/docs/development/examples/public-prefix) ☑️ - Redirect `http://sho.rt/http://someurl.com/` to a public interface instead of the admin area.
306 | - [YOURLS Pseudonymize](https://github.com/ubicoo/yourls-pseudonymize) - This plugin "pseudonymizes" the IP addresses so that it is in line with the German privacy laws (the last 2 segments/bytes of a visitor's IP address are removed).
307 | - [PUNS](https://github.com/joshp23/YOURLS-PUNS) - A Plugin Update Notification System: provides a report-generating page and an API with optional email notifications.
308 | - [Purge All Logs](https://github.com/SophiaAtkinson/yourls-purge-all-logs) - A Plugin that allows you to purges all YOURLS logs
309 |
310 | [⬆️ Go to section](#plugins)
311 |
312 | ### Q
313 |
314 | - [QRCode](https://yourls.org/docs/development/examples/qrcode) ☑️ - Add ".qr" to short URLs to display the shorturl's QR code.
315 | - [QRCode](https://techlister.com/plugins-2/qrcode-plugin-for-yourls/) - Creates and displays QR Codes within YOURLS.
316 | - [QR Google Charts](https://aiaraldea.github.io/qr-google-charts/) - Another QR Code plugin, using Google Charts API.
317 | - [QRCode](https://github.com/seandrickson/YOURLS-QRCode-Plugin) - Another QR Code plugin. Get the QR code by simply clicking on a button in the Admin area (or by adding ".qr" to the end of the keyword).
318 | - [QRCode Local](https://github.com/alexkolodko/yourls-local-qr-code) — Add ".qr" to short URLs to display the shorturl's QR code in SVG, PDF, PNG or JPG (local generation with JS).
319 | - [QRCode Quickchart](https://github.com/tyler71/yourls-quickchart-qr-code) — QR Code plugin, using [Quickchart](https://quickchart.io/). Combatible with a self-hosted Quickchart instance. Default suffix `/qr`.
320 | - [QueryString Forward](https://github.com/llonchj/yourls_plugins) - Forward the query string on short link to long URL (eg `http://sho.rt/kk?a=1` to `http://long.url/somepage/?a=1`).
321 | - [Query String Keeper](https://github.com/jessemaps/yourls-query-string-keeper) - Pass the query string from the shortlink to the long URL (eg `http://sho.rt/kk?hey` forwards to `http://long.url/bleh/?hey`).
322 | - [Query String Keeper](https://github.com/littleskyfish/query-string-keeper) - Pass the query string from the shortlink to the long URL (tested on YOURLS version 1.8.3 and php version 8.0.12).
323 |
324 | [⬆️ Go to section](#plugins)
325 |
326 | ### R
327 |
328 | - [Random Redirect Manager](https://github.com/lammersbjorn/YOURLS-Random-Redirect-Manager) - Redirects specific keywords to randomly selected URLs from predefined lists with customizable probability weights.
329 | - [reCaptcha](https://github.com/spbriggs/recaptcha-plugin) - YOURLS plugin implementing reCaptcha for unauthenticated users in your public interface.
330 | - [Redirect Index](https://github.com/tomslominski/yourls-redirect-index) - Redirect the user to another site if they go to the base directory of your YOURLS installation.
331 | - [Redirect based on User-Agent](https://github.com/daitj/yourls-redirect-useragent) - Redirect based on User-Agent, all blacklisted user agents won't be redirected to target URL but instead shown a custom page.
332 | - [Referral Link Checkpoint](https://github.com/telepathics/yourls-ref-checkpoint) - Add a landing page to let visitors know when it is a referral link.
333 | - [Regenerate URL](https://github.com/TheLeonKing/yourls-api-regenerate-url) - Regenerate a new keyword for a URL that has already been shortened.
334 | - [Remove The Share Function](https://github.com/seandrickson/YOURLS-Remove-the-Share-Function) - Remove the Share button and box that toggles the sharing options on the Admin page.
335 | - [Remove YouTube Play Indicator](https://github.com/UltraNurd/youtube-play-indicator) - Removes the triangle from the title of Youtube shortened URL.
336 | - [Replace Text](https://github.com/takuy/yourls-replacetext) - Replace URL or tokens in URL based on keyword, regex pattern matching, or script.
337 | - [Reset URLs](https://gist.github.com/ozh/a0090f46569b50835520d95f9481d9fd) ☑️ - Deletes all URLs. For your test install needs.
338 | - [Reverse Proxy](https://github.com/Diftraku/yourls_reverseproxy) - Fixes the user IPs to point to the actual user instead of your cloud provider’s infrastructure IPs (Cloudflare, Heroku...).
339 | - [rscrub](https://github.com/joshp23/YOURLS-rscrub) - An "HTTP referrer scrubbing swiss army knife for YOURLS" (evolution of the Hide Referrer plugin).
340 |
341 | [⬆️ Go to section](#plugins)
342 |
343 | ### S
344 |
345 | - [Safe Redirect](https://github.com/imydou/yourls-safe-redirect) - A security reminder is displayed before redirecting long links, and custom ads can be inserted on the reminder page.
346 | - [SAML Authentication](https://github.com/wlabarron/yourls-saml) - Sign in via SAML-based single sign-on.
347 | - [Save By Keyword](https://github.com/vitorccs/yourls-api-save-by-keyword) - API action to update the long URL of an existing keyword, or creates a new short URL.
348 | - [Semantic Scuttle](https://github.com/jonrandoem/yourls-semanticscuttle) - Allows the sharing of the URL to a Semantic Scuttle installation.
349 | - [Separate Users](https://github.com/ianbarber/Yourls-Separate-Users) - Adds a username to each created URL, and filters the admin interface.
350 | - [Shaarli](https://github.com/miwasp/yourls-shaarli) - Allows the sharing of the URL to a Shaarli installation.
351 | - [Share Files](https://github.com/mtttmpl/YOURLS-Plugin--Share-Files) - Upload and share files with YOURLS.
352 | - [Share LinkedIn](https://github.com/popnt/yourls-linkedin-share) - Adds LinkedIn to the Quick Share Box.
353 | - [Share with Tumblr](https://gist.github.com/ozh/25b2074dd275ed091aa1869200894c4d) ☑️ - In the Quick Share box, add a one-click share to Tumblr link.
354 | - [Shibboleth](https://github.com/fuero/yourls-shibboleth) - Enable authentication with Shibboleth.
355 | - [ShortShort](https://github.com/abaumg/yourls-shortshort) - Checks if a URL is already shortened (e.g. t.co, bit.ly, youtu.be) to avoid nested shortened links.
356 | - [Show Git Branch](https://github.com/ozh/show-git-branch) ☑️ - Using YOURLS on a dev box under Git? Show the current branch in page footer.
357 | - [SimpleDB Clickqueue](https://github.com/ianbarber/Yourls-SimpleDB-Clickqueue) - Queue clicks to Amazon SimpleDB before processing. This allows using a regular MySQL store even in the face of a high frequency of writes, without concern of connection limit overflow. Clicks are inserted later into the database via an import job.
358 | - [Skimlinks](https://github.com/mtttmpl/YOURLS-Plugin--Skimlinks) - Push all links through Skimlinks to automatically embed affiliate codes.
359 | - [Skip Click Count](https://github.com/vipwangtian/yourls-skip-click-count) - Don't count clicks on short URLs.
360 | - [Slack Notifier](https://github.com/jfix/yourls-plugin-slack-notifier) - Send a notification to a Slack channel whenever a new short URL is created.
361 | - [SMTP Contact](https://github.com/joshp23/YOURLS-SMTP-contact) - Provides a public contact page using PHPMailer for outbound mail delivery.
362 | - [Snapshot](https://github.com/joshp23/YOURLS-Snapshot) - Visual preview plugin with image caching powered by PhantomJS.
363 | - [YOURLS SQLite](https://github.com/ozh/yourls-sqlite) ☑️ - SQLite driver for YOURLS. It is now considered outdated.
364 | - [YOURLS SQLite](https://github.com/Niduroki/yourls-sqlite-driver) - A fork of the original SQLite driver for YOURLS, actively maintained.
365 | - [Static Titles](https://github.com/softius/yourls-static-titles) - Provide two options to avoid the network traffic when retrieving URL titles.
366 | - [SSL for SSL](https://github.com/tipichris/ssl4ssl) - Generates SSL short links if the original link was SSL.
367 | - [Swap Short URL](https://github.com/gerbz/Yourls-Swap-Short-Url) - A plugin to have `http://sho.rt/blah` while having YOURLS installed in `http://sho.rt/yourls/`
368 |
369 | [⬆️ Go to section](#plugins)
370 |
371 | ### T
372 |
373 | - [Telegram Notifier](https://github.com/XLixl4snSU/yourls-telegram-notifier) - Get a notification via Telegram whenever a new shortlink is created.
374 | - [Telegram Quickshare](https://github.com/ColinShark/YOURLS_tg-quickshare) - Quickly share a shortened URL via Telegram Messenger.
375 | - [Title Refetch](https://github.com/joshp23/YOURLS-title-refetch) - Refetch page titles.
376 | - [Timezones](https://github.com/YOURLS/timezones) ☑️ - Tell YOURLS your time zone and how you'd like times and dates displayed.
377 | - [Thumbnail URL image](https://github.com/stevecohenfr/yourls-thumbnail-url) - Get the Thumbnail URL image (long URL) by adding `.i` to the end of the keyword.
378 | - [Time-Period Clicks](https://github.com/rinogo/yourls-time-period-clicks) - A simple API plugin for reporting URL clicks in a specific time period (e.g. the last week, January 1 - February 1, etc).
379 | - [Time Limit Link](https://github.com/chesterrush/yourls-Time-Limit-Link) - Set a time limit for links.
380 | - [Track Custom Keyword](https://github.com/timcrockford/track-custom-keywords) - Add a new field to YOURLS designed to track if a keyword was randomly assigned or manually specified.
381 | - [Typer, a yourls prank plugin](https://github.com/koma5/typer) - Add an underscore * to your shortlink and the user will be shown a page where they have to type the shortlink themselves.
382 |
383 | [⬆️ Go to section](#plugins)
384 |
385 | ### U
386 |
387 | - [Upload and Shorten](https://github.com/fredl99/YOURLS-Upload-and-Shorten) - Upload and share files with YOURLS.
388 | - [U-SRV](https://github.com/joshp23/YOURLS-U-SRV) - Provides secure links to files while obfuscating filesystem paths, allowing easy, secure access to files between plugins or from 3rd party scripts. Manual uploading of files is supported.
389 | - [Update 30X](https://github.com/joshp23/YOURLS-Update-30X) - An API plugin to test single, domain based, or all available links and update the URL in YOURLS if redirection occures at the destination.
390 | - [URL Health Check](https://github.com/joshp23/YOURLS-URL-Health-Check) - Checks submitted URLs for validity, reachability, and redirection. In the case of redirection, the final destination URL will be stored avoiding nested redirects.
391 | - [Users in Database](https://gist.github.com/njbair/d951fb8b9c1f44d0e8bcd405645bbde1) - Reads users from a database table instead of a config file. Currently does not provide an interface for adding/editing users though.
392 |
393 | [⬆️ Go to section](#plugins)
394 |
395 | ### W
396 |
397 | - [wallabag](https://github.com/jonrandoem/yourls-wallabag) - Allows the sharing of the URL to a Wallabag installation (previously named Poche).
398 | - [Whatsapp quickshare](https://github.com/wissehes/Whatsapp-quickshare) - Allows you to share your short URL via whatsapp.
399 | - [Word Based Short URLs](https://github.com/ozh/yourls-word-based-short-urls) ☑️ - Generate short URLs with adjectives and nouns, like `http://sho.rt/FluffyArrogantUnicorn`.
400 |
401 | [⬆️ Go to section](#plugins)
402 |
403 | ### X
404 |
405 | - [X-Robots-Tag header](https://github.com/YOURLS/YOURLS/pull/3517#issuecomment-1427114687) ☑️ - Send `X-Robots-Tag: index` header on redirection, to fine tune your SEO needs.
406 |
407 | [⬆️ Go to section](#plugins)
408 |
409 | ### Y
410 |
411 | - [YA Phish Checker](https://github.com/stefanmm/YOURLS-ya-phish-checker) - Prevent spam/phishing links using ipqualityscore's API. Fork of Phishtank-2.0 (+some extra features)
412 | - [YAPCache](https://github.com/tipichris/YAPCache) - YAPCache is an APC based cache designed to reduce the database load of YOURLS and increase performance.
413 | - [YOURS-TN](https://github.com/sgiovagnoli/YOURLS-TN) - Display thumbnails on YOURLS admin page and stats page, using thumbnail.ws.
414 | - [YouTube Title Fix](https://github.com/joshp23/YOURLS-YouTube-title-fix) - Fetch YouTube page titles via Google API.
415 |
416 | [⬆️ Go to section](#plugins)
417 |
418 | ### Z
419 |
420 |
421 |
422 | [⬆️ Go to section](#plugins)
423 |
424 |
425 | ## Themes
426 | [🔼 Go to top](#readme)
427 |
428 | This will be the next big thing when YOURLS fully support theming
429 |
430 | - [∞²](https://github.com/tomslominski/infinity-squared) - Infinity Squared, a beautiful public page theme for YOURLS.
431 | - [Air 66](https://github.com/air66design/air66-yourls-admin-theme) - A responsive admin theme for YOURLS.
432 | - [Sleeky](https://github.com/Flynntes/Sleeky) - A sleek and simple frontend & backend theme for YOURLS with light and dark modes.
433 |
434 |
435 | ## Translations
436 | [🔼 Go to top](#readme)
437 |
438 | YOURLS supports localization: this means if a language file for YOURLS in available in your language, YOURLS will speak your language!
439 |
440 | - Brazilian: [here](https://github.com/didi3d/YOURLS-pt_BR) and [here](https://github.com/henriquecrang/YOURLS-pt_BR) (`pt_BR`)
441 | - [Bulgarian](https://github.com/VoodooServ/YOURLS-bg_BG) (`bg_BG`)
442 | - [Catalan](https://github.com/kuratowsky/YOURLS-ca_ES) (`ca_ES`)
443 | - [Czech](https://github.com/KubaCZ721/YOURLS-cs_CZ) (`cs_CZ`)
444 | - [Danish](https://github.com/jensz12/YOURLSDK) (`da_DK`)
445 | - [Dutch](https://github.com/toineenzo/YOURLS-nl_NL) (`nl_NL`)
446 | - [English (Australian)](https://github.com/bakkbone/yourls-en_AU) (`en_AU`)
447 | - [Farsi](https://github.com/saahmadnejad/YOURLS-fa_FA) (`fa_FA`)
448 | - [Finnish](https://github.com/re2man/YOURLS-fi_FI) (`fi_FI`)
449 | - [French](https://github.com/ozh/YOURLS-fr_FR) (`fr_FR`)
450 | - [German](https://github.com/DerSev/YOURLS-de_DE) (`de_DE`)
451 | - [Hindi](https://github.com/itsKV/YOURLS-Hindi-translation) (`hi-IN`)
452 | - [Indonesian](https://github.com/tigefa4u/YOURLS-id_ID-Translations) (`id_ID`)
453 | - [Italian](https://github.com/ggardin/YOURLS-it_IT) (`it_IT`)
454 | - [Japanese](https://github.com/havill/YOURLS-ja_JP) (`ja_JP`)
455 | - [Korean](https://github.com/at4am/YOURLS-ko_KR) (`ko_KR`)
456 | - [Norwegian (bokmål)](https://github.com/geirawsm/YOURLS-nb_NO) (`nb_NO`)
457 | - [Polish](https://github.com/tomslominski/YOURLS-pl_PL) (`pl_PL`)
458 | - [Portuguese](https://github.com/oscarmarcelo/YOURLS-pt_PT) (`pt_PT`)
459 | - [Russian](https://github.com/nsauk/YOURLS-ru_RU) (`ru_RU`)
460 | - [Simplified Chinese](https://github.com/taozhiyu/yourls-translation-zh_CN) (`zh_CN`)
461 | - [Slovak](https://github.com/filyph/YOURLS-sk_SK) (`sk_SK`)
462 | - [Spanish](https://github.com/kralizeck/YOURLS-es_ES) (`es_ES`)
463 | - [Telugu](https://github.com/kalyan-gupta/YOURLS_Telugu_Translation) (`te_IN`)
464 | - [Turkish](https://github.com/cgdgsg22/YOURLS_TR) (`tr_TR`)
465 | - [Traditional Chinese](https://github.com/alexclassroom/YOURLS-zh_TW) (`zh_TW`)
466 | - [Ukrainian](https://github.com/Dizer7/YOURLS-uk) (`uk`)
467 |
468 |
469 | ## Integrations
470 | [🔼 Go to top](#readme)
471 |
472 | Make YOURLS work with other platforms, programming languages or tools.
473 |
474 | ### 3rd party platforms
475 |
476 | - [Make](https://www.make.com/en/integrations/yourls) - Automate actions with YOURLS (eg new blog post -> shorten link -> share on Discord)
477 |
478 | ### 3rd party Integrations and Frameworks
479 |
480 | - Bash
481 | - [YOURLS BASH](https://github.com/ozh/yourls-bash) - a simple BASH script to shorten URLs with YOURLS.
482 | - [UPDATED YOURLS BASH](https://github.com/SophiaAtkinson/yourls-bash) - a advanced BASH script to shorten URLs with YOURLS.
483 | - [BASH YOURLS](https://github.com/masdzub/bash-yourls) - A simple bash script to shorten URLs using the YOURLS API with diffent path config.
484 | - [CakePHP](https://github.com/adrianoluis/CakePHP-YOURLS-Plugin) - Plugin to integrate YOURLS.
485 | - Docker
486 | - Official [YOURLS Docker image](https://hub.docker.com/_/yourls).
487 | - [Dockerize YOURLS](https://github.com/guessi/docker-yourls) - a YOURLS image with several integrated plugins.
488 | - [Drupal](https://www.drupal.org/project/shorten) - YOURLS for Drupal.
489 | - [FreeBSD Freshport](https://www.freshports.org/www/yourls/) - a FreeBSD package.
490 | - [Gnome Desktop](https://github.com/joshp23/gnome-shell-extension-yourls) - Gnome Shell extension to shorten links in the clipboard.
491 | - Laravel
492 | - [Laravel YOURLS Plugin](https://github.com/phpsa/laravel-yourls-plugin)
493 | - [Laraval YOURLS](https://github.com/orumad/laravel-yourls)
494 | - NodeJS
495 | - [JavaScript bindings for the YOURLS API](https://github.com/neocotic/yourls-api) - JavaScript bindings to leverage JSONP support.
496 | - [YOURLS API for nodejs](https://www.npmjs.com/package/yourls)
497 | - Perl
498 | - [WWW::Shorten::Yourls](https://github.com/p5-shorten/WWW-Shorten-Yourls) - A Perl module to shorten URLs using YOURLS.
499 | - [AmazonAffiliatesToYourls](https://github.com/acaranta/AmazonAffiliatesToYourls) - Amazon affiliate management.
500 | - [Prometheus exporter](https://github.com/just1not2/prometheus-exporter-yourls) - A Prometheus exporter to monitor a YOURLS instance.
501 | - Python
502 | - [pyourls3](https://pypi.org/project/pyourls3/) - A Python client for YOURLS, built for Python 3.
503 | - [python-yourls](https://github.com/tflink/python-yourls/) - Alternative Python 2 client for YOURLS.
504 | - [yourls-python](https://github.com/razerm/yourls-python) - `pip install yourls` for Python 2 or 3
505 | - [Ruby](https://github.com/threestage/yourls) - A Ruby wrapper for the YOURLS API.
506 | - [status.net](https://github.com/rthees/yourls-status-net) - Plugin for status.net to use YOURLS.
507 | - Telegram
508 | - [Telegram bot](https://simon-eller.at/en/projects/lets-short) - A [Telegram bot](https://t.me/LetsShortBot) to shorten links.
509 | - [YOURLS Bot](https://gitlab.com/HirschHeissIch/yourls-bot) - Open source code base for hosting your own Telegram bot to shorten links via your own YOURLS instance. Includes access control by default, so suitable for non-public YOURLS instances.
510 | - [VB .Net](https://www.nugardt.com/open-source/yourls-api/) - A VB .Net 4.0 wrapper for the YOURLS API.
511 | - WordPress
512 | - [YOURLS Link Creator](https://wordpress.org/plugins/yourls-link-creator/)
513 | - [YOURLS Widget](https://gist.github.com/joshp23/3f990e6ec36e24ba53985968bbfa89f1) - Fetch and display YOURLS links and a QR code in a widget.
514 | - There are numerous [WordPress plugins](https://wordpress.org/plugins/search/yourls/) with YOURLS support.
515 |
516 |
517 | ### Applications
518 |
519 | - Android
520 | - [aYourls](https://gitlab.com/matecode/ayourls/-/tree/develop) - A dedicated app for YOURLS supporting server-side deletion (needs [API Delete](https://github.com/claytondaley/yourls-api-delete)).
521 | - [URL Shortener](https://play.google.com/store/apps/details?id=de.keineantwort.android.urlshortener) - Supports various shortener, including YOURLS.
522 | - [iC-YOURLS](https://play.google.com/store/apps/details?id=net.inscomers.yourls) - A simple YOURLS app for Android, supports receiving links from other apps.
523 | - iOS
524 | - [ShortTail](https://www.adamdehaven.com/blog/shorttail-for-yourls-an-elegant-yourls-client-for-iphone/) - An elegant YOURLS client for iPhone.
525 | - [ShortFox2](https://apps.apple.com/us/app/shortfox2/id1465812791?ls=1&t=8)
526 | - [Short Menu](https://shortmenu.com/ios/) - YOURLS support requires a one-time in-app purchase of about $2 USD (See also: [Setup instructions](https://shortmenu.com/support/custom-services/yourls/)).
527 | - Chrome
528 | - [YOURLS](https://chrome.google.com/webstore/detail/yourls/nddaaiojgkoldnhnmkoldmkeocbooken)
529 | - Firefox
530 | - [YOURLS shortener](https://addons.mozilla.org/en-US/firefox/addon/yourls-shortener/)
531 | - Mac
532 | - [Short Menu](https://shortmenu.com/mac/) - Available for $6 from the App Store or directly from the developer (See also: [Setup instructions](https://shortmenu.com/support/custom-services/yourls/)).
533 | - Windows
534 | - [YOURLS on Windows](https://appsonwindows.com/apk/127308/) - Run YOURLS as a Windows program.
535 |
536 |
537 | ## Guides & Tutorials
538 | [🔼 Go to top](#readme)
539 |
540 | ### Installation guides
541 |
542 | - [Installing YOURLS on a Plesk-Hosted Domain](https://www.danhendricks.com/2018/10/installing-yourls-on-plesk-shared-hosting-domain/)
543 | - [How to Install YOURLS using Softaculous](https://www.websiterating.com/online-marketing/how-to-install-yourls-using-softaculous/)
544 | - [How to Install YOURLS on a VPS or shared hosting](https://thishosting.rocks/how-to-shorten-your-links-with-your-own-domain/)
545 | - [YOURLS on Azure](https://www.juharyhanen.com/technology/create-personal-url-shortener-in-5-simple-steps/)
546 | - [YOURLS on Caddy](https://aka.cy/2023/12/13/How-to-install-YOURLS-with-caddy/)
547 | - CentOS
548 | - [How to Install YOURLS on CentOS 7](https://www.vultr.com/docs/how-to-install-yourls-on-centos-7)
549 | - [How to install YOURLS on Centos 7](https://www.linuxcloudvps.com/blog/how-to-install-yourls-on-centos-7/)
550 | - [How to Install YOURLS on CentOS 8](https://www.howtoforge.com/how-to-install-yourls-on-centos-8/)
551 | - [YOURLS on Cherokee](https://github.com/lylebrown/YOURLS-Cherokee)
552 | - [YOURLS on Cloudron](https://www.cloudron.io/store/org.yourls.cloudronapp.html)
553 | - [YOURLS on Installatron](https://installatron.com/yourls)
554 | - [YOURLS on IIS](https://gist.github.com/ozh/714d23228235becba14fea925fc77e2c)
555 | - [YOURLS on Fedora](https://fedoraproject.org/wiki/Install_and_configure_YOURLS_for_AutoQA)
556 | - [YOURLS on Yunohost](https://github.com/YunoHost-Apps/yourls_ynh)
557 | - Guides for Ubuntu:
558 | - [How to install YOURLS on Ubuntu](https://computingforgeeks.com/install-yourls-your-own-url-shortener-on-ubuntu/)
559 | - [How to install YOURLS on Ubuntu 14.04](https://www.rosehosting.com/blog/how-to-install-yourls-on-ubuntu-14-04/)
560 | - [How to install YOURLS on Ubuntu 20.04](https://linuxbuz.com/linuxhowto/install-yourls-ubuntu-20-04)
561 | - [How to Install YOURLS on Ubuntu with Nginx and Let’s Encrypt](https://linuxstans.com/how-to-install-yourls/)
562 | - Windows
563 | - [How to Install YOURLS on WAMP](https://gist.github.com/AlbertoVargasMoreno/fb624a33244b6047bbab1fb95aabc6af)
564 |
565 | ### Installation guides in other languages
566 |
567 | - [宝塔面板搭建短链接服务 YOURLS](https://blog.lza59.com/archives/yourls.html)
568 | - [Cómo instalar YOURLS, usando Softaculous](https://www.websiterating.com/es/online-marketing/how-to-install-yourls-using-softaculous/)
569 | - [Cómo instalar YOURLS en Ubuntu 20.04](https://linuxyunnovato.wordpress.com/2022/04/12/como-instalar-yourls-en-ubuntu-20-04/)
570 | - [Installer YOURLS, un système d'URL raccourcies](https://www.justegeek.fr/tuto-installer-yourls-un-systeme-durl-raccourcies/)
571 | - [Трекер Yourls ваш собственный сокращатель ссылок (URL)](https://wiki.dieg.info/yourls)
572 |
573 | ### Other tutorials
574 |
575 | - [Getting Started with YOURLS](https://www.youtube.com/watch?v=9L8HtB6vZdQ) - a video presentation that includes API examples with Keyboard Maestro
576 | - [YOURLS with Tweetbot](https://2fatdads.com/2012/02/how-to-make-yourls-org-work-in-tweetbot/)
577 | - [Migrating from Bitly to YOURLS](https://github.com/Lazza/BitlyEscape) - a collection of scripts and a how-to guide for migrating your data
578 |
579 | ## Showcases
580 | [🔼 Go to top](#readme)
581 |
582 | ### Sites running YOURLS with a unique design or concept
583 |
584 | - https://oe.cd/ - Europe OECD's internal URL shortener with a neat interface and private features.
585 | - https://kiwi.gg/ - A sexy shortener home page with stats and details.
586 | - https://your.ls/ - Very neat public interface using [Sleeky](https://github.com/Flynntes/Sleeky) theme. Also a neat domain hack :)
587 | - https://yourwish.es/ - Easily share an Amazon wishlist.
588 | - http://vbly.us - YOURLS early adopter, once taken down by Libya! ([story](https://mashable.com/archive/vbly-domain-seizure)).
589 |
590 | ### Celebrity endorsements (sort of)
591 |
592 | - Early review on [Lifehacker](https://lifehacker.com/make-your-own-url-shortening-service-5335216).
593 | - https://mclrn.co/ by [McLaren Cars](https://www.mclaren.com/).
594 | - https://smashed.by/ by [Smashing Magazine](https://www.smashingmagazine.com/).
595 | - https://cuny.is/ by the [City University of New York](https://www.cuny.edu/).
596 | - https://dhurl.org/ by [Dreamhost](https://yourls.org/dreamhost).
597 | - https://rpf.io/ by [the Raspberry Pi Foundation](https://www.raspberrypi.org/).
598 |
599 | YOURLS has also been used by the NASA, Virgin and Epic Games. Sweet! 😊
600 |
601 |
602 | ## Contribute
603 |
604 | Contributions welcome! Read the [contribution guidelines](CONTRIBUTING.md) first.
605 |
606 | ## License
607 |
608 | [](https://creativecommons.org/publicdomain/zero/1.0/)
609 |
610 |
--------------------------------------------------------------------------------