1
5
Fork
You've already forked Clifford
0
A Link Shortener
  • Rust 61%
  • HTML 38.5%
  • Dockerfile 0.5%
2025年12月23日 04:08:07 +01:00
.forgejo/workflows Changes in changelog 2025年12月23日 04:08:07 +01:00
src Changes in changelog 2025年12月23日 04:08:07 +01:00
templates UI overhaul ai removal 2025年06月13日 22:48:57 +02:00
.gitignore Changes in changelog 2025年12月23日 04:08:07 +01:00
build.rs index uses new css without AI! 2025年05月26日 22:02:22 +02:00
Cargo.lock Changes in changelog 2025年12月23日 04:08:07 +01:00
Cargo.toml Changes in changelog 2025年12月23日 04:08:07 +01:00
CHANGELOG.md Changes in changelog 2025年12月23日 04:08:07 +01:00
crawl-list.txt bot detection 2025年03月15日 18:18:19 +01:00
Dockerfile Changes in changelog 2025年12月23日 04:08:07 +01:00
example_config.toml Changes in changelog 2025年12月23日 04:08:07 +01:00
README.md Changes in changelog 2025年12月23日 04:08:07 +01:00

Clifford

Simple (as in usage and hosting) link shortener.

Usage

The simplest usage is to just run/compile binary. By default it will keep link DB in a Sqlite file links.db inside directory it was ran from, and will bind to port 3000 for address 0.0.0.0

To change the defaults check the example_config.toml

Features

  • Permament Link shortening (duh)
  • Support for Sqlite and Postgres
  • Deletion of shortened links, using passkey returned when creating a link
  • Links can be either custom or will be randomly generated when left empty (length defined by admin)
  • One-time short links
  • Protected by either admin defined password, or by integrated Altcha support.
  • Simple middleware that protects links form being accessed by (some known) bots
  • Above middleware also supports embeds for platforms like Discord, Signal, etc. (For not it returns from a silly list of sentences, will be made customizable later)
  • Everything is baked into a single binary, including both backend and frontend

Warning

This thing is still in active development.

(削除) Also current CSS was made using Claude, it's meant to be temporary but for now it is AI generated. (削除ここまで) Not anymore! Now project is AI free :)

Planned future features

  • Making it more service based, meaning multiple instances could run under one database and not have any issue. (Current limitation against it: altcha salts are instance-dependent, meaning if client solves altcha challenge on one instance, and then sends request to another one, verification will fail.)
  • Administration panel, so you don't need to directly modify sqlite to remove links as an admin
  • More configuration possibilities
  • Custom text in frontend
  • Possibly some refactoring to make code more readable
  • Generally maintaining this to make it work great

Dedication

Crawl list was taken from https://github.com/monperrus/crawler-user-agents Mommy list taken from https://github.com/Gankra/cargo-mommy/blob/main/responses.json Name was chosen by