Skip to content
/ Toohga Public

πŸ—„ The smart URL shortener

License

Notifications You must be signed in to change notification settings

jarne/Toohga

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Toohga app logo

Toohga

The smart URL shortener


Release version Build status License

Description | Usage | Contribution | License

πŸ“™ Description

Toohga is your smart private URL shortener with very short URL's. It uses a custom algorithm to generate short codes that stay as short as possible, using combinations of numbers and letters. The application can be operated both open to the public or secured by PIN codes required to create new URL's. An admin panel provides features to perform administrative tasks, such as managing users and listing or deleting URL's.

Screenshots

Screenshot of Toogha web app

Screenshot of Toogha admin interface

πŸ–₯ Usage

Setup & requirements

The application needs a modern version of PHP, a MySQL database and a Redis server.

The following environment variables need to be set:

Env variable Description
MYSQL_HOST Hostname of MySQL server
MYSQL_USER Database user
MYSQL_PASSWORD Password of the database user
MYSQL_DATABASE Name of the MySQL database
REDIS_HOST Hostname of the Redis server
ADMIN_KEY Secure secret for accessing the admin panel
JWT_SECRET Randomly generated secret for encrypting admin access tokens

Additionally, the following optional environment variables can be set:

Env variable Description
TGA_AUTH_REQUIRED Requires a user authentication PIN when creating URL's (set to true/false, default to false)
DELETE_AFTER_DAYS Delete URL's after x days (default is 14 days)
TGA_CONTACT_EMAIL Display a contact e-mail address on the front page
TGA_THEME Visual color theme of the application (possible values are: pink, orange, blue (default))
TGA_PRIVACY_URL Display a link to an external privacy page on the front page
TGA_ANALYTICS_SCRIPT Embed HTML code for an analytics script
TGA_API_ENDPOINT Specify general API endpoint for front-end to use
TGA_ADMIN_API_ENDPOINT Specify admin API endpoint for front-end

All environment variables beginning with TGA_ are exposed to the front-end and therefore are publically accessible. They should not contain sensitive information!

Docker image

The recommended way to deploy Toohga is using its Docker image.

The image can be pulled from the GitHub Packages registry using: docker pull ghcr.io/jarne/toohga:latest.

πŸ™‹β€ Contribution

Contributions are always very welcome! It's completely equal if you're a beginner or a more experienced developer.

Thanks for your interest πŸŽ‰πŸ‘!

πŸ‘¨β€βš–οΈ License

MIT