-
Notifications
You must be signed in to change notification settings - Fork 0
Home
This project is an alternative link shortening service that tries to respect a users privacy by not recording personal information where possible when either creating or clicking links made by this application.
This repository has all the necessary components and instructions to set up your own link shortening service with minimal effort for your own purposes. The backend providers chosen in this service were primarily chosen for their low/no cost for usage, as the demonstration application at cubel.ink is run for minimal cost at this time.
This is an open source project, allowing you to modify and/or remove the backend services your deployment uses as you see fit. The core aspects of the logic are designed to be modular, allowing you to take specific elements for your own purposes.
- Shortens URLs with unique extensions
- Encrypts stored URLs along with random with salts
- Extensions are stored as hashsums in the DB
- Sanitisation of input from user for both URLs and extensions on requests
- Checks on user shared URLs, to ensure they begin with HTTPS
- Uses minimal scratch image for runtime security
- Checks submitted URLs against spam lists, rejects known spam domains
- Generates QR codes for users to download and share
- A frontend with reactive CSS & HTML
- 400 and 500 HTTP error handling with pages
- Captcha on main page: Uses Cloudflare Turnstile
- Static content served through CDN: Served via Cloudflare R2
- Demonstration application set up: Hosted on cloud.run
- Custom URLs users enter in the main form
- Statistics page for URLs to see how many clicks links have got (go to
tld/url/statsto see them)