Skip to content

Repository files navigation

Cutlink!

A privacy and anonymity focused link shortener written in Golang.

Features

Link shortener services are simple. But Cutlink is different at some points:

  • Safe Mode! (See the target URL before redirect process BUT this is optional).
  • No email or personal information needed for signing up. Your username is a randomly generated UUIDv4 that will show you only one time after you submited your password in signup page.
  • You own your data. if you delete your account, ALL of your data will be deleted (Real delete :D).
  • Only server-side errors are logged (for troubleshooting).
  • You can build your own server if you don't trust others.

Configuration

Cutlink uses toml file format for it's config file. When you execute Cutlink, it will check /etc/cutlink and ./ directories in order to find config.toml file. If it's not found, the hole program panics. You can find default config file here.

If you're using docker compose, you don't need to change the config file. Otherwise take a look at it to fit your needs.

Build

Build docker image (Recommended)

# build docker image
make docker

After you built the docker image, you can run the image with Docker Compose and Nginx.

If you want to run the image with docker command directly without a reverse proxy and TLS support:

docker run -d --name cutlink -v "$PWD"/config.toml:/etc/cutlink/config.toml -p 5000:5000 cutlink:latest

Note

For examples of docker compose usage, go to Docker Compose Examples and Instructions.

Build the executable

Note

Make sure that you already installed gcc, make, sqlite3 and go.

# This command will build the project and outputs the executable to ./build directory.
make

Build the executable with Golang docker image

This will use Golang docker image to compile the executable and saves the output to ./build directory in local environment. Same as running make but inside a docker container.

# remove .git directory
rm -rf .git/

make docker_exe

Features to implement

  • Date or Click limit for links
  • Admin control panel for better server management

About

Privacy and anonymity focused link shortener.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Used by

Contributors

Languages