🔗 Your Own URL Shortener

Overview

YOURLS

Your Own URL Shortener

CI Scrutinizer Code Quality PHP Version Support Packagist OpenCollective OpenCollective

YOURLS is a set of PHP scripts that will allow you to run Your Own URL Shortener, on your server. You'll have full control over your data, detailed stats, analytics, plugins, and more. It's free and open-source.

Quick Start

Get YOURLS :

  • Download the latest release
  • Using Composer? You can simply composer create-project yourls/yourls . in an empty directory.

Install YOURLS:

Community news, tips and tricks

Contributing

Feature suggestion? Bug to report?

Before opening any issue, please search for existing issues (open and closed) and read the Contributing Guidelines.

Backers

Do you use and enjoy YOURLS? Become a backer and show your support to our open source project.

Sponsors

Does your company use YOURLS? Ask your manager or marketing team if your company would be interested in supporting our project. Your company logo will show here. Help support our open-source development efforts by becoming a sponsor.

License

Free software. Do whatever the hell you want with it.
YOURLS is released under the MIT license.

Comments
  • Add Official Support for Nginx

    Add Official Support for Nginx

    Nginx is becoming a very widely used httpd lately. YOURLS should have some official support for the httpd so it can be used on more platforms. All you need to do is make a config for us Nginx users in the wiki :P

    enhancement docs server 
    opened by ZacharyDuBois 71
  • "Please Log In" After entering correct password

    Hello,

    My issue is similar to: http://code.google.com/p/yourls/issues/detail?id=1262

    I'm using PHP v 5.4.9 ... All tables were installed correctly. I inserted a cookie from http://yourls.org/cookie .. I also deleted the username, password, cookie and replaced to see if that fixed the problem. It did not. I only have 1 username and PW in the config.php file.

    Basically, when you enter the correct information into the admin login it says "Please Log In" ... anything incorrect entered gets an "Invalid Username / Password" ...

    I see the request for var_dump() in functions-auth.php or auth.php but I am not necessarily an expert - I was wondering if anyone might point me in the direction of the lines to place the var_dump on and on what variable so I can see where exactly it is breaking.

    I am using the latest 1.7 master because I had to use the master as it fixed a table install issue I believe w/ the version of MySQL I saw on another issue. So tables were removed and now appear as installed correctly.

    I also tried this: define( 'YOURLS_NO_HASH_PASSWORD', true ); .. but no help .. to see if it was something to do with the password not being hashed in config.php

    Finally, I am running nginx w/ the following config, although this may be unrelated (running varnish, hence 8080 - excluded yourls domain/directory in varnish config w/ pass):

    server { listen 127.0.0.1:8080; server_name site.us; port_in_redirect off; access_log off; error_log /var/log/nginx/site.us.error.log; root /usr/share/nginx/www/site; location / { rewrite ^/([0-9a-z-]+)/?$ /s/yourls-go.php?id=$1 last; location ~ .php$ { try_files $uri =404; fastcgi_split_path_info ^(.+.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }

    } }

    Thank you in advance for any guidance on how to identify this problem exactly. I am new to using var_dump.

    bug admin panel server 
    opened by blueone1 64
  • Time Zone Support (#1344)

    Time Zone Support (#1344)

    This is a pull request for an implementation of time zone support and should resolve #1344 .

    A new config parameter was added to the sample-config.php file called YOURLS_TIMEZONE. When this value is left empty, the value of YOURLS_HOURS_OFFSET is used, which allows for backward compatibility. This allows to keep using YOURLS_HOURS_OFFSET and avoids the need for all users to add the new config parameter YOURLS_TIMEZONE to their config file.

    I first experimented with DateTime objects, but eventually went for a solution that calculates the offset of the timezone such that most of the original code can be kept, which reduces the risk of bugs.

    Feedback and reviews are highly welcome, PHP is not my main language and I'm not sure either about the performance impact of my fix. Thanks!

    opened by JeremyKeusters 49
  • Incorrect DB config, or could not connect to DB

    Incorrect DB config, or could not connect to DB

    I'm sure I config it right, but still can't access. I had the error "can't create table bla bla bla" then fixed, but I was getting "mysql version is too old bla bla bla" and then uploading the updated master version I get this error.

    schermata 2013-05-31 a 15 25 17

    Edit: I tought it was a permission error, tryed to chmod 777 the admin dir but it won't access to the install page (sort of timeout)

    EDIT2: Updated by erasing all the directory, all the databases, all the users databases, then reuploaded and recreated all. And this is what I get.

    schermata 2013-05-31 a 16 12 45

    invalid RTFM 
    opened by mosfetti 49
  • Design & Style

    Design & Style

    Redefinition of the interface to improve YOURLS experience.

    yourls Second interface preview. Need completions.

    Interface Styling

    • [x] Design with HTML5 - CSS3
    • [x] Clean HTML template
      • Clean declarations
      • More separated container
        • Header simplifying
        • Nav improving
        • Foot cleaning
    • [x] Basic Installation corrections
      • Be friendly with errors - notices
      • Fix interface when re-loading installation
    • [x] Loading pages & animation
    • [x] Reduce request and loading time
      • Minimize in one file all code
    • [x] Improve JavaScript
      • jQuery 2.0.0
      • ZeroClipboard
      • New interactions
    • [x] Move assets in assets/ folder
    • [x] Move flags into CSS

    Themes

    • [x] Create theme-sample repo
      • Import & use LESS files
    • [x] Allow overwriting official style - resolves #1234
      • CSS - JS enqueue
      • Filters
    • [x] Customize HTML structure
    • [x] Add full bootstrap theme

    Extra

    Coding Style

    • [x] Clean PHP with HTML
    • [x] Apply strictly standards everywhere

    Specific Cases

    • [x] Fix unlicensed favicon
    • [x] Remake graphically readme.html - resolves #1390
    • [x] Twitter profile
    enhancement feature core admin panel 
    opened by LeoColomb 48
  • named time zone support

    named time zone support

    It would be nice if YOURLS supported named time zones, e.g. "America/Los_Angeles" in addition to numbered time offsets (from server time zone), as it does currently.

    This way daylight savings time would be handled correctly.

    This can be done without complicating the PHP code, by letting MySQL handle it, by explicitly setting the time zone when the MySQL connection is made.

    enhancement database 
    opened by bdenckla 39
  • URL not handled/encoded correctly

    URL not handled/encoded correctly

    What steps will reproduce the problem?

    1. Enter the following long URL: http://domain.com/good space/
    2. The long URL is correctly stored as http://domain.com/good%20space/
    3. Now, enter the following long URL: http://domain.com/bad%20space/
    4. The long URL is incorrectly stored as http://domain.com/bad%2520space/

    What is the expected output? What do you see instead?

    What I expect is that YOURLS should be smart enough to know that '%20' is a space and should be left alone. Instead, what's happening is that YOURLS is converting the '%' to '%25' and therefore, the '%20' becomes '%2520'.

    Perhaps there could be a check before cleaning up the long URL to detect '%20' or whatever else it could be (e.g. '%5C' for backspace, etc).


    This is a COPY of Issue 1303: %20 in long URL not handled correctly, filed on Google Code before the project was moved on Github.

    bug database core 
    opened by ozh 36
  • Full fledged installer

    Full fledged installer

    This is a COPY of Issue 1254: Full fledged installer, filed on Google Code before the project was moved on Github.

    Please review the original issue and especially its comments. Comments here on closed issues will be ignored. Thanks.

    Original description

    It would be neat to have a real installer with a web form instead of requiring users to manually edit the config.php
    
    Copy "Famous WordPress 5 minutes install" (and make that "Famous YOURLS 4 minutes install", ah! beat that)
    
    The installer should prompt for:
    - YOURLS_DB_USER
    - YOURLS_DB_PASS
    - YOURLS_DB_NAME
    - YOURLS_DB_HOST
    - YOURLS_DB_PREFIX
    - admin login / password
    
    The installer should guess (and ask user if correct)
    - YOURLS_SITE
    - YOURLS_HOURS_OFFSET
    
    The installer should generate
    - YOURLS_COOKIEKEY
    
    The installer should set default values for
    - YOURLS_PRIVATE to true
    - YOURLS_UNIQUE_URLS to true
    - YOURLS_URL_CONVERT to 36 or 62? 62 seems to be the internet's default
    - YOURLS_DEBUG to false
    
    enhancement feature 
    opened by ozh 34
  • URL Encoding gets decoded before saving to db.

    URL Encoding gets decoded before saving to db.

    When shorting this URL: /Page.jsp?tI=ND6AWbgS5U4ky08ndJoxQg%253D%253D&uI=sA2%252BUi1VNUjpVsdS0GJGtw%253D%253D

    it gets saved as: /Page.jsp?tI=ND6AWbgS5U4ky08ndJoxQg==&uI=sA2+Ui1VNUjpVsdS0GJGtw==

    Looks the URL encoding gets decoded.

    bug core 
    opened by Arujei 25
  • Used to work - can no longer add edit short urls - nothing changed

    Used to work - can no longer add edit short urls - nothing changed

    I searched for other closed/open issues related, and they were closed without resolution:

    1. https://github.com/YOURLS/YOURLS/issues/1887
    2. https://github.com/YOURLS/YOURLS/issues/2089
    3. Hmm I thought I saw a 3rd one, but just about to run out the door, will edit later

    Perhaps someone could offer some insight? I can confirm there was nothing in console, even with debug mode on (no CORS blocks or anything like that).

    I checked out the site to get things working or I wouldn't have been able to add/edit/view things to begin with :) I have about 3 pages of links. It started when I went to edit a link, then that's when I realized.. nothing works! Funny enough, you can still delete. I can view and delete, but not edit or add. Strange, right?

    Issue 1887 (#1 link above) has the EXACT issue as me -- worked fine, suddenly doesn't work with same reproduced results.

    The last activity performed that I recall was adding "blog3" shorturl to a tumblr site. Doesn't seem too iregular : https://myblogtumblr.com/post/12345679/url-is-quite-long-with-dashes-like-this

    I don't know if it was triggered by that or when I went to edit a random entry that's related to another social site - nothing special or no odd naming conventions or special chars.

    There is one consistent thing I noticed: Every open issue, the same mod closed it blaming the hosting service: How about instead of closing this ticket, let's work together and find the solution, hm? This seems to be reproduced lately.

    Another thing to add that seems quite important: I reinstalled using a new db, and seemed to work again. I curiously swapped back to the old DB to see if that would work. Everything was back AND I could add things .. and a few days later, this issue reproduced identically: Can suddenly, randomly, no longer add/edit.

    Technical details

    • YOURLS version: Latest
    • PHP version: 5.6
    • Win10 with multiple stable browsers

    Reproducible Bug Summary

    1. Install yourls and setup db
    2. Run yourls successfully for a few weeks
    3. Out of nowhere, I cannot change, add links. No changes at all. I almost wish I did change something so I knew what caused this.

    This is a bug because you can no longer add/edit urls or you get a loading GIF that never goes away.

    bug admin panel 
    opened by Kiroteryn 24
  • Column 'country_code' cannot be null

    Column 'country_code' cannot be null

    I get the feedback from some users that urls do not work and generate the following error:

    Fatal error: Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'country_code' cannot be null in /www/htdocs/w01882f8/pnde/includes/vendor/aura/sql/src/ExtendedPdo.php:748 Stack trace: #0 /www/htdocs/w01882f8/pnde/includes/vendor/aura/sql/src/ExtendedPdo.php(748): PDOStatement->execute() #1 /www/htdocs/w01882f8/pnde/includes/vendor/aura/sql/src/ExtendedPdo.php(306): Aura\Sql\ExtendedPdo->perform('INSERT INTOyo...', Array) #2 /www/htdocs/w01882f8/pnde/includes/functions.php(897): Aura\Sql\ExtendedPdo->fetchAffected('INSERT INTO yo...', Array) #3 /www/htdocs/w01882f8/pnde/includes/functions.php(740): yourls_log_redirect('o') #4 /www/htdocs/w01882f8/pnde/yourls-go.php(21): yourls_redirect_shorturl('https://phantan...', 'o') #5 /www/htdocs/w01882f8/pnde/yourls-loader.php(37): require_once('/www/htdocs/w01...') #6 {main} thrown in /www/htdocs/w01882f8/pnde/includes/vendor/aura/sql/src/ExtendedPdo.php on line 748

    This seems to be the case on iOs and Safari, but also on some instances of Firefox on Windows. Probably caused by some anti-tracking solution blocking the users country in some referral.

    For most users this works, but I got multiple reports of this proiblem today for the url

    http://pnde.eu/o

    What can be the problem? Thanks in advance.

    Edit: I see that Facebook crippled the error message, I will try to get a complete one and add it here.

    bug 
    opened by xanathon 22
  • set filter more than 0 clicks, still shows links with 0 clicks

    set filter more than 0 clicks, still shows links with 0 clicks

    Code of Conduct

    Submission validity

    • [X] This is not a personal support request, that should be posted on discussions community.
    • [X] I checked current issues and this request isn't a duplicate of an existing issue, opened or closed.

    Self troubleshooting

    Version

    1.9.1

    Description

    set filter more than 0 clicks, it still show links with 0 clicks, set more than 1, shows with 2 and more clicks, that is right.

    Expectation

    No response

    Reproduction steps

    No response

    Context

    No response

    bug 
    opened by dexzhou 1
  • Ignore My Own Clicks

    Ignore My Own Clicks

    Code of Conduct

    Submission validity

    • [X] This is not a personal support request, that should be posted on discussions community.
    • [X] I checked current issues and this request isn't a duplicate of an existing issue, opened or closed.

    Summary

    i love YOURLS. But it counts my own clicks, which is very unhelpful. Please add a feature to ignore my own clicks.

    Could be IP, but i'm always changing location, so that would add excessive maintenance. Every time i go to a new coffeshop, i'd have to add the new IP.

    Motivation

    Improve stats.

    Describe the solution

    Alternate suggestion, which would be much easier: allow a "nocount" parameter at the end of the url. Your counter would ignore any clicks with that parameter. https://mydomain/myshorturl?nocount

    thanks!

    enhancement 
    opened by johnaweiss 3
  • Support for DB upgrades from CLI and performance improvements

    Support for DB upgrades from CLI and performance improvements

    Fixes for #3427:

    • Updated yourls_upgrade_to_506() to perform a single ALTER on the same table to improve efficiency.
    • Added yourls_upgrade_to_507() to add additional indexes (admin page takes over a minute to count clicks on a large DB).
    • Added support for upgrading DB from the CLI because a web browser times out when the DB is large.
    opened by ashleykleynhans 1
  • Optimise database migrations and allow them to be run from CLI

    Optimise database migrations and allow them to be run from CLI

    Code of Conduct

    Submission validity

    • [X] This is not a personal support request, that should be posted on discussions community.
    • [X] I checked current issues and this request isn't a duplicate of an existing issue, opened or closed.

    Summary

    Combine ALTER statements on the same table into a single statement to improve efficiency on huge database tables, and provide a tool to run the updates from CLI instead of the web browser to prevent timeouts in the browser.

    Motivation

    1. When you have a huge DB table (more than 11 million entries in my case), running multiple ALTER statements on the same table takes an hour for each statement to run.
    2. The upgrade process takes too long when you have a huge DB, causing the browser to time out.

    Describe the solution

    1. When you are performing multiple ALTER statements on the same table, these could be combined into a single ALTER statement and the upgrade process would be much more efficient.
    2. Provide an option to use a CLI upgrade tool to complete the upgrade process rather than having to do it from within a web browser.
    enhancement 
    opened by ashleykleynhans 0
  • A cookie pair named `username` and `password` will prevent logging in

    A cookie pair named `username` and `password` will prevent logging in

    YOURLS stores credentials (hashed login / password) in a uniquely named cookie, something like yourls_75715761fe7da[...]199e566c53f27eeb, see yourls_store_cookie().

    Yet, if two cookies named username and password are present, it makes logging in impossible

    image

    Most likely this is because we're loosely checking $_REQUEST (here for instance) which can contain $_GET, $_POST... and $_COOKIE.

    $_REQUEST is thoroughly used across YOURLS, maybe we should introduce a function to fetch $_GET or $_POST but not those darn cookies.

    Possible references: #3382, #3087, #3351

    bug 
    opened by ozh 8
  • Wrapped `$user` in `preg_quote` function

    Wrapped `$user` in `preg_quote` function

    This pull request is to fix #3364 where a username with square brackets will prevent encryption of the password. Thanks to ozh for showing me the way!

    opened by SXN31 3
Releases(1.9.1)
  • 1.9.1(May 29, 2022)

    YOURLS 1.9.1 (announcement)

    What's new ?

    • fixed: error Undefined constant "intval" when upgrading (#3332)
    • fixed: warnings on PHP 8.1 (#3317)
    • fixed: incorrect HTTP status header with the API when shortening a duplicate (#3355)
    • fixed: no hyphen in random keywords (#3353)
    • added: required/suggested PHP extensions in composer.json (#3339)
    • updated: third party libs and binaries

    How to install or update

    Download source code below and upload to your server. We recommend to back up your DB before any update.

    More detailed instructions available on https://docs.yourls.org/

    Shorten your links and make YOURLS bigger!

    Does your company use YOURLS? Help the project, become a sponsor and get your logo on our README on Github with a link to your site. Become a sponsor!

    Source code(tar.gz)
    Source code(zip)
  • 1.9(Apr 23, 2022)

    YOURLS 1.9 “Nergal” (announcement)

    image

    What's new?

    • removed: support for PHP prior to 7.4
    • improved: the API plugin with more plugin functions (#3281), a sandbox and a plugin uninstall procedure (#3282)
    • improved: inline documentation, online documentation and unit tests
    • improved: concurrency during mass shortening (#3233)
    • improved: minor security fixes - sanitize step name during upgrade (#3055), nonce on the logout link (#3264), salt cookie with newer hash (#3278)
    • improved: Remove ozh/phpass library and use native PHP password_* functions (#3232)
    • added: more hooks in the admin view & search (#3265)
    • fixed: incorrect notice when "prefix and shorten" while not logged in (#3189)
    • fixed: UI sometimes not responsive after editing a URL (#3244)

    How to install or update

    Download source code below and upload to your server. We recommend to back up your DB before any update.

    More detailed instructions available on https://docs.yourls.org/

    Shorten your links and make YOURLS bigger!

    Does your company use YOURLS? Help the project, become a sponsor and get your logo on our README on Github with a link to your site. Become a sponsor!

    Photography by Per Ole Hagen. Buy prints!

    Source code(tar.gz)
    Source code(zip)
  • 1.8.2(Sep 7, 2021)

    YOURLS 1.8.2 (announcement)

    What's new ?

    • fixed: display SVG logo for IE 11 (#2864)
    • fixed (again) : DB upgrade procedure (#2933)
    • fixed: cosmetic issue with Docker falsely warning about unencrypted password (#3040)
    • improved: minor security improvements - iframes clickjacking and login nonce (#3034), potential XSS (#3041)
    • improved: SSL support for proxies (#3044)
    • improved: inline documentation and unit tests
    • added: more filters in admin pages (#2912), HTTP requests (#2951), to deal with user defined consts (#3048)
    • added: documentation for API action "version" (#2957)

    How to install or update

    Download source code below and upload to your server. Detailed instructions on https://yourls.org/#Install and in the release announcement. We recommend to back up your DB before any update.

    Shorten your links and make YOURLS bigger!

    Does your company use YOURLS? Help the project, become a sponsor and get your logo on our README on Github with a link to your site. Become a sponsor!

    Source code(tar.gz)
    Source code(zip)
  • 1.8.1(Mar 6, 2021)

    YOURLS 1.8.1 (announcement)

    What's new ?

    • fixed: install procedure giving blank screen on some setups (#2844, #2846)
    • fixed: function to make public some pages on private installs (#2859)
    • added: all hook to debug YOURLS and plugins (#2860)
    • improved: plugin inline documentation

    How to install or update

    Download source code below and upload to your server. Detailed instructions on https://yourls.org/#Install.

    Shorten your links and make YOURLS bigger!

    Does your company use YOURLS? Help the project, become a sponsor and get your logo on our README on Github with a link to your site. Become a sponsor! Not a company? Individuals can help too, see Donations :)

    Source code(tar.gz)
    Source code(zip)
  • 1.8(Feb 22, 2021)

    YOURLS 1.8 “Mike Muir” (announcement)

    mikemuir

    What's new ?

    • fixed: support for PHP 8
    • removed : support for PHP prior to 7.2
    • improved: IDN domain, and UTF8 URLs and titles (aka Number One Issue Since Day One)
    • improved: timezone management
    • improved: YOURLS UI and logo, now in SVG

    How to install or update

    Download source code below and upload to your server. Detailed instructions on https://yourls.org/#Install and in the release announcement. We recommend to always back up your DB before any update.

    Shorten your links and make YOURLS bigger!

    Does your company use YOURLS? Help the project, become a sponsor and get your logo on our README on Github with a link to your site. Become a sponsor!

    Photography of Mike Muir by my concert buddy Ronan Thenadey. Buy prints !

    Source code(tar.gz)
    Source code(zip)
  • 1.7.9(Apr 21, 2020)

    YOURLS 1.7.9 (announcement)

    What's new

    • improved: compatibility of YOURLS with proxies and reversed proxies
    • improved: now using a super neat SVG logo
    • improved: accept timestamped signature in API requests with arbitrary hash
    • improved: YOURLS pages are now located in user/ and documented
    • improved: accessibility, with labels and aria tags in the main admin screen
    • improved: several stuff in the unit tests
    • fixed: query count in the footer was always 0. Now it shows only on debug mode
    • fixed: various little things here and also there

    How to install or update

    Download source code below and upload to your server. Detailed instructions on https://yourls.org/#Install and in the release announcement

    Shorten your links and make YOURLS bigger!

    Does your company use YOURLS? Help the project, become a sponsor and get your logo on our README on Github with a link to your site. Become a sponsor!

    Source code(tar.gz)
    Source code(zip)
  • 1.7.6(Jan 29, 2020)

    YOURLS 1.7.6 (announcement)

    • improved: due to popular demand, "Random Keywords" is now a core plugin bundled with YOURLS
    • fixed: JSONP parameters now match the documentation, duh
    • fixed: various little things here and also there

    Shorten your links and make YOURLS bigger!

    Does your company use YOURLS? Help the project, become a sponsor and get your logo on our README on Github with a link to your site. Become a sponsor!

    Source code(tar.gz)
    Source code(zip)
  • 1.7.4(Sep 22, 2019)

    YOURLS 1.7.4 (announcement)

    • fixed: type juggling vulnerability in the API
    • improved: several little things and several little updates
    • dropped: PHP <= 5.5 support

    Shorten your links and make YOURLS bigger!

    Does your company use YOURLS? Help the project, become a sponsor and get your logo on our README on Github with a link to your site. Become a sponsor!

    Source code(tar.gz)
    Source code(zip)
  • 1.7.3(Sep 22, 2019)

    YOURLS 1.7.3 (announcement)

    • improved: some little things
    • added: some hooks here and there to allow more pluginness
    • fixed: some little bugs
    • updated: jquery and some javascript stuff

    Shorten your links and make YOURLS bigger!

    Does your company use YOURLS? Help the project, become a sponsor and get your logo on our README on Github with a link to your site. Become a sponsor!

    Source code(tar.gz)
    Source code(zip)
  • 1.7.2(May 1, 2017)

    YOURLS 1.7.2 (announcement)

    • improved: stat graphs, regarding accuracy and time zones
    • improved: navigation in the admin interface
    • improved: several little things
    • fixed: several little bugs
    • updated: all third party libs
    • dropped: PHP 5.2 support

    Shorten your links and make us bigger!

    Does your company use YOURLS? Help the project, become a sponsor and get your logo on our README on Github with a link to your site. [Become a sponsor]

    Source code(tar.gz)
    Source code(zip)
  • 1.7.1(Dec 5, 2015)

    YOURLS 1.7.1 (announcement)

    • added: compatibility with PHP 7
    • added: allow hooks with closures (see Advanced Hook Syntax)
    • improved: you can now search across all fields at once in the admin interface
    • improved: bookmarklets are now human readable in the PHP source, and minified on the fly
    • improved, still not perfect: support for URLs and page titles with encoded chars
    • fixed: timezone warnings
    • fixed: cookie mismatch preventing login when multiple YOURLS installs on subdomains of the same domain
    • fixed: lotsa bugs
    • improved: lotsa things

    Shorten your links and make YOURLS bigger!

    Does your company use YOURLS? Help the project, become a sponsor and get your logo on our README on Github with a link to your site. Become a sponsor!

    Source code(tar.gz)
    Source code(zip)
  • 1.7(Jan 9, 2014)

    YOURLS 1.7 “Tom Araya” (announcement)

    image3

    • added: social bookmarklets - share on Twitter, Facebook or Tumblr in a click
    • added: check api.yourls.org if a new version of YOURLS is available
    • added: proxy support - install YOURLS behind a firewall!
    • improved: security regarding SQL injections
    • improved: security regarding your credentials - now auto-encrypted
    • improved: external HTTP request handling
    • improved: ƒυηкƴ UTF-8 titles handling
    • fixed: compatibility with Apache mod_security blocking bookmarklets
    • fixed: lots of bugs

    Shorten your links and make YOURLS bigger!

    Does your company use YOURLS? Help the project, become a sponsor and get your logo on our README on Github with a link to your site. Become a sponsor!

    Source code(tar.gz)
    Source code(zip)
  • 1.6(Jul 2, 2013)

    YOURLS 1.6 “Till Lindemann” (announcement)

    image2

    • added: مرحبا العالم! Hej verden! 你好世界! Kumusta mundo! Ciao mondo! Hello world! Translation API.
    • added: custom API actions
    • added: support for URLs with common protocols
    • fixed: search and pagination in the admin interface
    • updated: third party libs jQuery, ezSQL, GeoIP
    • improved: sanitizing and escaping functions

    Shorten your links and make YOURLS bigger!

    Does your company use YOURLS? Help the project, become a sponsor and get your logo on our README on Github with a link to your site. Become a sponsor!

    Source code(tar.gz)
    Source code(zip)
  • 1.5.1(Jan 10, 2014)

    YOURLS 1.5.1 (announcement)

    • added: full jsonp support
    • added: ability to use encrypted passwords in the config file
    • fixed: support for http://www.sho.rt/bleh and http://sho.rt/bleh
    • added: support for any favicon dropped in the /user directory
    • updated: Google Visualization API instead of deprecated Google Charts
    • fixed: bugs, bugs, bugs
    • added: hooks, hooks, hooks
    • improved: things, things, things
    Source code(tar.gz)
    Source code(zip)
  • 1.5(Jan 10, 2014)

    YOURLS 1.5 “Ronnie James Dio” (announcement)

    image1

    • added: plugin architecture! OMG plugins!!1!!1!
    • added: directory /user, config.php can be moved there
    • added: new "instant bookmarklets"
    • added: 1 click copy-to-clipboard a la bitly
    • change in logic: now all request are handled by PHP and don't rely on .htaccess
    • added: saving URL titles
    • added: support for prefix-n-shorten: sho.rt/http://example.com/
    • added: core plugin to allow hyphens in URLs
    • added: core sample plugin to wrap redirected URLs in a social toolbar
    • added: core sample plugin to show how to create administration page in plugins
    • added: core plugin to display a random pretty background
    • changed: layout now using a more consistent palette, see http://yourls.org/palette
    • added: anti XSS and anti CSRF measures
    • added: interactive map if possible in stat traffic by countries
    • fixed: lots of bugs
    Source code(tar.gz)
    Source code(zip)
  • 1.4.3(Jan 10, 2014)

  • 1.4.2(Jan 10, 2014)

    YOURLS 1.4.2

    • fixed: bug in auth function
    • added: sample public API file
    • added: check in API requests for WordPress plugin when adding a new short URL
    • prettier sample public interface
    Source code(tar.gz)
    Source code(zip)
  • 1.4.1(Jan 10, 2014)

    YOURLS 1.4.1

    • fixed: base 62 URLs (keywords with MiXeD CaSe)
    • new & secure auth method for API calls, with no need to use login & password combo
    • allow SSL enforcement for admin pages
    • new API method: stats for individual URL.
    • prevent internal redirection loops
    • filter and search URLs & short URLs by date
    Source code(tar.gz)
    Source code(zip)
  • 1.4(Jan 10, 2014)

    YOURLS 1.4

    • added: an upgrader from 1.3 to 1.4
    • change in logic: now using a global object $ydb for everything related to DB and other globally needed stuff
    • change in logic: include "load-yourls.php" instead of "config.php" to start engine
    • change in DB schema: now storing URLs with their keyword as used in shorturl, allowing for any keyword length
    • change in DB schema: new table for storing various options including next_id, dropping table of the same name
    • change in DB schema: new table for storing hits (for stats)
    • improved the installer, with .htaccess file creation
    • layout tweak: now prettier, isn't it?
    • stats! OMG stats!

    Previously

    • added bookmarklet and tools page
    • improved XSS filter when adding new URL
    • code cleanup in admin/index.php to separate code and display
    • added favicon
    • stricter coding to prevent notices with undefined indexes
    • hide PHP notices & SQL errors & warnings, unless YOURLS_DEBUG constant set to true
    Source code(tar.gz)
    Source code(zip)
Owner
YOURLS
Your Own URL Shortener
YOURLS
:aerial_tramway: A modern, powerful, and robust URL shortener

?? A modern, minimalist, and lightweight URL shortener. Polr is an intrepid, self-hostable open-source link shortening web application with a robust A

Chaoyi Zha 4.5k Nov 17, 2022
A simple URL shortener for PHP

Shorty Shorty is a simple URL shortener for PHP. Installation 1. Download and extract the files to your web directory. 2. Use the included database.sq

Mike Cao 207 Nov 3, 2022
A fast and powerful URL Shortener built with Laravel, VueJS, and Tailwind CSS.

A fast and powerful URL Shortener built with Laravel, VueJS, and Tailwind CSS.

Devpri 52 Sep 16, 2022
Simpler Url Shortener for Laravel

Laravel Url Shortener Install composer require magarrent/laravel-url-shortener Run migrations: php artisan migrate Configuration If you want to config

Marc Garcia Torrent 49 Aug 9, 2022
A URL shortener with various other utilities, backed by a custom lightweight framework.

da.gd What is da.gd? da.gd is both a URL shortener and a collection of quick-info tools written in PHP. It allows you to use curl (or any http client)

da.gd 74 Nov 13, 2022
A simple but powerful URL shortener

UrlShorter 这是一个足够简洁的Url短网址生成器 This is a simple Url shorter. 兼容性 在PHP7.X 与 PHP 8.0 下测试通过 安装 step 1: git clone [email protected]:soxft/UrlShorter.git step

xcsoft 72 Nov 13, 2022
URL - link shortener based on sqlite

link-url-shortener url - link shortener based on sqlite.

Okin On 1 Nov 12, 2021
URL shortener web application based on the Laravel PHP Framework.

UrlHub Warning: UrlHub is still in development, constantly being optimized and isn't still stable enough to be used in production environments. Whatev

Kei 344 Nov 26, 2022
The modern, privacy-aware URL Shortener built in PHP.

About UrlHum UrlHum is a modern, privacy-aware and fast URL Shortener built with PHP and the Laravel Framework. At the moment UrlHum is heavily under

UrlHum 617 Nov 23, 2022
URL shortener web application based on the Laravel PHP Framework.

UrlHub Warning: UrlHub is still in development, constantly being optimized and isn't still stable enough to be used in production environments. Whatev

Kei 346 Dec 2, 2022
A modern, powerful, and robust URL shortener

?? A modern, minimalist, and lightweight URL shortener. Polr is an intrepid, self-hostable open-source link shortening web application with a robust A

Chaoyi Zha 4.5k Dec 3, 2022
Um encurtador de URL's gratuito e Open source. Torne suas URL's um tanto pequenas forma rápida e gratuita

Slim Framework 4 Skeleton Application Use this skeleton application to quickly setup and start working on a new Slim Framework 4 application. This app

Kilderson Sena 30 Jun 30, 2022
Laravel based API to shorten URLs and share them easily. Redirects to the real URL by entering a short URL generated by the API

URL Shortener Requirements: PHP 7.4 or above composer node / npm Installation clone the project from the Github repository, enter the project folder,

Julio Vergara 5 Nov 20, 2021
Purl is a simple Object Oriented URL manipulation library for PHP 7.2+

Purl Purl is a simple Object Oriented URL manipulation library for PHP 7.2+ Installation The suggested installation method is via composer: composer r

Jonathan H. Wage 907 Nov 10, 2022
Laravel URL Localization Manager - [ccTLD, sub-domain, sub-directory].

Laravel URL Localization - (ccTLD, sub-domain, sub-directory). with Simple & Easy Helpers. Afrikaans Akan shqip አማርኛ العربية հայերեն অসমীয়া azərbayca

Pharaonic 2 Aug 7, 2022
Checking an arbitrary URL for Micro-Framework HLEB

Checking an arbitrary URL for Micro-Framework HLEB The class RouteFinder is not included in the original configuration of the framework HLEB, so it mu

Foma Tuturov 1 Nov 4, 2021
Enables the possibility generating sanitized URL parts from persisted patterns.

#Persisted sanitized pattern mapping What does it do? Enables the possibility generating sanitized URL parts from persisted patterns. How does it work

Markus Hofmann 1 Apr 7, 2022
Shortener URL is simple web application to short your URL

Shortener URL is simple web application to short your URL. It will generate unique key, with the unique key it will redirect to the original URL.

Abid Ra 1 Jan 22, 2022
A PHP-based self-hosted URL shortener that can be used to serve shortened URLs under your own custom domain.

A PHP-based self-hosted URL shortener that can be used to serve shortened URLs under your own custom domain. Table of Contents Full documentation Dock

null 1.7k Nov 25, 2022
🔗 Your Own URL Shortener

Your Own URL Shortener YOURLS is a set of PHP scripts that will allow you to run Your Own URL Shortener, on your server. You'll have full control over

YOURLS 8.7k Dec 3, 2022