Skip to main content

26-03-06: Kwutty, my public instance of kutty to shorten links

kwutty - URL, free public URL shortener

Someone on discord spoke about targeting a qr-code to as linktree so that we are sure we can always make sure the target is available and we don't need to reprint some cards.

So it got me thinking, i'm currently doing annoying HTTP only redirect that ppl often open as HTTPS and gets a warning for, plus it's not very readable (and it's publicly available on site like https://crt.sh/?q=frezlotte.ch) so i digged a little using my trusty https://alternativeto.net to find a self hosted link shortener service, with telemetry, moderation, and the possibility to make link password protected.

came across https://kutt.to/, very well build and easy to setup, the compose.yml is as follow :

services:
  kutt:
    build:
      context: .
    volumes:
       - ./db_data_sqlite:/var/lib/kutt
       - ./custom:/kutt/custom
    environment:
      DB_FILENAME: "/var/lib/kutt/data.sqlite"
    networks:
      - ${T_NETWORK:-tproxy}
    labels:
      - "traefik.enable=true"
      - "traefik.docker.network=tproxy"
      - "traefik.http.routers.${T_SERVICE_NAME}.rule=Host(`${T_SERVICE_SUBDOMAIN}.frezlotte.ch`) || Host(`${T_SERVICE_SUBDOMAIN}.zpy.ch`)"
      - "traefik.http.routers.${T_SERVICE_NAME}.entrypoints=${T_ENTRYPOINT:-websecure}"
      - "traefik.http.routers.${T_SERVICE_NAME}.tls.certresolver=myresolver"
      - "traefik.http.routers.${T_SERVICE_NAME}.service=kwutty"
      - "traefik.http.routers.${T_SERVICE_NAME}.middlewares=${T_MIDDLEWARES:- bouncer, umami, umami-feeder, anubis}"
      - "traefik.http.services.${T_SERVICE_NAME}.loadbalancer.server.port=${T_SERVICE_PORT}"

networks:
  tproxy:
    external: true

Like the usual, i'm using traefik, with all my usual middlewares

I'm probably add a ipallowlist middleware on JUST the admin path but i'm not sure how doable it is yet

There's a umami option in kutt but i decided to not use it since i have a umami-feeder (automatically register websites in umami) so the work was already working.

The admin page listing link looks like that :

image.png

Simple view count, and if you click on the purple button, you get there :

image.png

I'll do a umami blog post separately, but this was kutty, as Kwutty

Take care of yourself ! 🩵🩷🤍🩷🩵