QuickShareLink is a GitHub-powered short link service. Users can create short links, set expiration dates, and manage them entirely via GitHub Issues. Expired links are automatically cleaned up once per day.
- Create short links via GitHub issues
- Custom or randomly generated slugs
- Expiration dates up to one year
- Automatic cleanup of expired links
- Delete links via issue comments (author or admin)
- Fully powered by GitHub Pages and Actions — no external server needed
- Open a new issue in the repository.
- Set the issue title to:
Create short link - In the issue body, provide the following fields:
URL: https://example.com Slug: mylink # optional, leave empty for random Expires: 2025-12-31 # or 1998-08-06 for infinite - Once the issue is created, the GitHub Action will:
- Validate the data
- Generate the redirect HTML page under
docs/slugs/<slug> - Update
data/links.json - Comment back with the short link:
✅ Link created: https://qsl.li/<slug> - Close the issue automatically
To delete a short link:
- Comment on the original issue with:
delete link <slug> - Only the issue author or admins can delete links.
- The GitHub Action will:
- Remove the slug folder from
docs/slugs - Update
data/links.json - Comment with confirmation:
✅ Link "<slug>" deleted by @username
- Remove the slug folder from
- Expired links (with a date in the past) are automatically deleted once per month via a scheduled GitHub Action.
- Hosting: GitHub Pages (
docs/folder) - Storage:
data/links.jsonstores all slug mappings - Scripts:
scripts/create-link.js→ handles issue-based creationscripts/delete-link.js→ handles comment-based deletionscripts/cleanup.js→ deletes expired links automatically
- Workflows:
create-link.yml→ runs on issue creationdelete-link.yml→ runs on comment creationcleanup-expired.yml→ runs monthly via cron
- Maximum expiration: 1 year from creation
- Invalid or past dates will be rejected
URL: https://example.com Slug: mylink Expires: 2025-12-31
- If
Slugis omitted, a random 8-character slug is generated. - After creation, the short link will be available at:
- Add a homepage of the project explaining how to use it
- Create favicon
- Add a reminder one week before and one day before expiring
- Add function to renew link (max 1 year)
- Add a comment when the link is expired to the relative issue
- Changing issue method with form
- Add citation.cff