Shlink, read from its code: 20 features named from 28 routes.
What featkpr knows about Shlink so far: its routes read from the code at one commit, and the features named from them. The crawl and the tests come next.
Ask for a private demoBookStack is the demo today; name Shlink in the form if you want it mapped next.
- What it is
- a self-hosted URL shortener with visit statistics, tags and domains
- Its stack
- PHP · Mezzio · MIT licence
- The code read
- commit 4a8fee47, read 24 Sep 2026, 00:15 UTC
- The copy featkpr ran
- none yet: nothing has been crawled or run
Visit6
- View and manage orphan visits
- View non-orphan visits
- View overall visit statistics
- View visit statistics for domains
- View visit statistics for short URLs
- View visit statistics for tags
ShortUrl5
- Delete a short URL
- Delete visits for a short URL
- Edit a short URL
- List short URLs
- Shorten a URL
Core2
- Redirect visitors via short URL
- Serve robots.txt for crawlers
Domain2
- Configure domain-level redirects
- List domains
Rest2
- Check service health status
- Enable real-time update notifications
Tag2
- Manage tags
- View tag usage statistics
RedirectRule1
- Configure redirect rules for a short URL
2 of six steps so far #
The steps after these need a running copy of the product to walk. They print “not yet” until they run.
- 1 · code read 28 routes24 Sep 2026, 00:15 UTC
Shlink's map, exported Mezzio's route files read at one commit - 2 · features named 20 features24 Sep 2026, 00:15 UTC
Shlink's map, exported each named from the routes it cites - 3 · screens crawled not yetneeds a running copy of Shlink to walk
- 4 · flows drafted not yetdrafted from the crawl
- 5 · tests run not yetwritten from the map, per route and role
- 6 · wrong-user check not yeteach test again as the wrong user
The news #
- 24 Sep 202620 features named from 28 routes
What comes next for Shlink #
- A start script, so the crawl has a running copynot in the plan yetthe routes are read; the crawl, the flows and the tests all need Shlink running
- Its modules named againnot in the plan yetthe naming run was given BookStack's settings, so it filed every feature under one module; the map on this page groups them by the code's own components instead
the plan of 1 Oct 2026 (/roadmap) has no Shlink item yet
featkpr is not affiliated with Shlink. It read Shlink's public source only; nothing was run. Ask for a correction or a removal at /removal.
See Shlink in featkpr, privately #
BookStack is the demo today; tell us if you want this one mapped next.