Free URL Shortener Based on GitHub Issues, Without Server and Database

0 Comments
Editor Ratings:
User Ratings:
[Total: 0   Average: 0/5]




Here is a free URL shortener based on GitHub Issues and that runs without having any server or database. If you want a simple no code URL shortener then follow along and you just need a GitHub account. The tool is called GitHub Pages URL Shortener and basically it uses GitHub Issues and GitHub pages for saving long links and redirection. You just submit a link to shorten as a GitHub issue and use the issue number as parameters for short URL. You can use a free GitHub domain or you can also add your custom domain here and the whole process is very simple.

There are tons of URL shorteners out there and if you want to set up your own you canĀ  for self-hosted URL shorteners but in order to set up then, you will need a server with a functional database. Also, you might need some coding skills to make them work. But if you want to skip all that and save server cost then you can use the one mentioned here. You will not have to rent server space or database as you will be using the free functionality of GitHub to get things done. However, do note that, the GitHub functionality may break later so this URL shortener is not kind of permanent. Also, you may want to look at another URL shortener I covered based on GitHub pages that uses Google Sheets as a database.

GitHub Pages URL Shortener

Free URL Shortener Based on GitHub Issues, Without Server and Database:

Here I am assuming that you have a GitHub account and you have basic knowledge of DNS management. Here I will show you how to set up this URL shortener and add a custom domain to it.

The very first thing you have to do is, just simply fork this main repository.

Fork gh pages repo

Now, you go to setting and then enable GitHub Pages for it. After that, you scroll down and then simply add a custom domain and click on the “Save” button. You can also check the option to enforce HTTPS. However, that may take up to 24 hours but you will still be able to use the URL shortener without HTTPS.

GitHub Pages domain settings

Go to your domain provider and then open the DNS settings. There you have to create 4 A records with GitHub servers’ IPs that you can copy from here. Let the DNS settings take place and meanwhile, you have to change a few things in repository as well.

GitHub Pages host IP

Open the forked repository and edit the “404.html” file. Here you have to replace the GitHub Issues URL. Now, you can either the same GitHub repository for saving links or use some other repository as a database. Whatever repos you chose, you will need its owner name and registry name and construct the API URL in the given format. And do not forget the trailing slash in the end. See the screenshot.

Format: https://api.github.com/repos/{owner}/{repo}/issues/

Specify GitHub Issues link

Now, commit changes and the URL shortener is all ready to work. Just create a new issue in the repository whose issues URL you have specified above. Just add the target link as a title of the issue and create it. And you can use its issue number at the end of your domain to access that. The GIF in the beginning will tell you how to do that.

GitHub Pages URL shortener in action

In this way, you make use of this simple and effective URL shortener that you can create without any database or server setup. Just keep creating issues and use their number as a URL parameter to your configured domain in order to access the final long URL. The whole process is very simple and if you are using Cloudflare or Zonomi like DNS management tools then your tool will be up and running in maximum 10 minutes.

Closing thoughts:

There are many URL shorteners out there that you can use. But for setting one for yourself and without any server and database, you can use the one mentioned here. Here it is fast and simple and if you don’t mind a public database of URLs then you can go for it and get it up and running in just a few minutes.

Editor Ratings:
User Ratings:
[Total: 0   Average: 0/5]
Free/Paid: Free