yes | yes | yes | yes | yes | yes | yes |
shrtlin
is a feature-rich, open-source URL shortening
service.
It provides a seamless experience across Android, iOS, Web, and Desktop Linux, Mac, Windows.
shrtlin
leverages the power of Kotlin Multiplatform to deliver a unified codebase for multiple platforms.
It offers a user-friendly interface for shortening URLs and managing your links,
all while ensuring secure authentication using JWT tokens and Proof of Work.
Powered by a Ktor backend and PostgreSQL database.
Prerequisites:
Arch Linux Installation (Single Command):
sudo yay -S git jdk17-openjdk docker docker-compose postgresql wget unzip vim --noconfirm
yay linux-headers #must have linux-headers installed
sudo modprobe bridge br_netfilter overlay #must have bridge and br_netfilter modules loaded
sudo systemctl enable docker
sudo systemctl start docker
systemctl status docker #check docker status
sudo usermod -aG docker $USER #add user to docker group
docker swarm init #init docker swarm for storing secrets
sudo ufw status #check firewall status, ports 80, 443 must be open
Set JAVA_HOME for oh-my-zsh (Copy-paste this into your ~/.zshrc
):
export JAVA_HOME="/usr/lib/jvm/java-17-openjdk"
export PATH="$JAVA_HOME/bin:$PATH"
Steps:
git clone https://github.com/samoylenkodmitry/shrtlin.git && cd shrtlin && chmod +x ./deploy.sh && ./deploy.sh
git clone https://github.com/samoylenkodmitry/shrtlin.git
./deploy.sh
.env
This project is licensed under the LICENSE.
We welcome contributions from the community! Please feel free to submit issues, feature requests, or pull requests to help us improve shrtlin.