Skip to content

A fully featured url shorter. Free and open source. Dockerized to be modular and scalable.

License

Notifications You must be signed in to change notification settings

Guisardo/url-simplifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Url Simplifier

A fully featured url shortener. Free and open source. Dockerized to be modular and scalable.

Features

I'd build this because the features of the current redirect builders (bit.ly, goo.gl, TinyURL, YOURLS, etc, etc...) wheren't enought for me. This url shortening system includes all this:

  • Allow permanent or temporary redirections (permanent are cacheable by the browser, they perform better but you lose tracking of the hits)
  • Customizable aliases or autogenerated aliases
  • User and Password protected redirections
  • Expirable redirections
  • Shareable redirections (you can post them in the social networks and it will share custom metadata)
  • Direct connection with Google Analytics for the trackng of your redirects
  • Autogenerated sitemap
  • Multilingual
  • Backup / Import
  • Responsive and simple control panel interface that you can use wherever you need it
  • Easy to install anywhere
  • And many more things that I still working though the issues section, feel free to add your feature request there

Setup

My intention is that this project should be easily deployed and scaled. You have the choice of install it the hard way or install it the simple way.

Simple installation

Using Docker you can deploy this anywhere you want using only the file /docker-compose.yml.

  • Make sure you have Docker successfully installed
  • Download the file /docker-compose.yml anywhere you want.
  • Open a docker console (shell or powershell) and go to the folder where you downloaded de .yml file.
  • Execute docker-compose like so:

docker-compose up -d

  • See if everything is running navigating with a web-browser to http://{{your-docker}}/healthcheck

Advance installation

This system only requires a connection to a MongoDB database and a server with PHP7. But there are some thing to considere it you need a custom installation:

  • The system relies on a few rewrites. Currently those rewrites are managed by the /web/.htaccess and /web/admin/.htaccess files. If your server doen't support .htaccess files, you will have to convert the rewrites to the ones that your server supports. It will help a lot if you could make the pull request with the conversions.
  • The system reads the hostname and the port of the MongoDB from the environment variables MONGO_HOSTNAME and MONGO_HOSTPORT.
  • NOT all of the files are in this repository. You will need to use Bower inside /web/admin/assets to obtain the extra components required for the control panel to work.

Usage

The control panel is accesible using /admin. Make sure that you visit the Security section of the control panel to set up a password for this administrative interface.

Contributions

I'll love some help to improve this project.

Feel free to load the issues with the bug or enhacenment that you want.

But if you want to help with code, please before making your pull request, just make sure that you get along with the use of Design Patterns (specially with the MVC structure) and with the PSR-2 code styles.

About

A fully featured url shorter. Free and open source. Dockerized to be modular and scalable.

Resources

License

Stars

Watchers

Forks

Packages

No packages published