cutlink

module
v0.0.0-...-ea79ba0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 27, 2024 License: GPL-3.0

README

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
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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL