Skip to content

hyperfluid-tech/zinc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Z!NC

Docker Status License: MPL 2.0

A fast, simple, and open-source URL shortener. Try it out at znc.sh

  • Frictionless: Shorten links instantly with zero signup or authentication.
  • Open analytics: Every link features a public, transparent statistics dashboard.
  • Open-source & Self-hostable: Freely fork, customize, and run your own deployment via Docker or Cargo.
  • Robust & Minimalist: Built with Rust for speed, paired with a bold, brutalist UI.
Home Page Url Statistics
Z!NC Landing Page
Z!NC Dashboard

Table of Contents

Getting Started

While you can deploy Z!NC in a variety of environments, here are two recommended ways of getting started:

Running Locally

Requires Rust and Cargo installed on your machine.

To build and run the application locally, use Cargo:

cargo run

Once running, simply navigate to http://localhost:3000 in your browser!

Deploying with Docker

You can quickly deploy Z!NC using Docker Compose. Create a docker-compose.yml file:

version: '3.8'

services:
  zinc:
    image: gilnobrega/zinc:latest 
    container_name: zinc_shortener
    restart: unless-stopped
    ports:
      - "8080:3000"
    volumes:
      - ./data:/data
    environment:
      - ZINC_SERVER__PORT=3000
      - ZINC_SERVER__BASE_DOMAIN=znc.sh
      - ZINC_SERVER__SITE_NAME=Z!NC
      - ZINC_DATABASE__URL=sqlite:///data/zinc.db?mode=rwc

Then start the service:

docker-compose up -d

Once the container is up, simply navigate to http://localhost:8080 in your browser!

Tech Stack

This project adheres to a lean, server-driven architecture utilizing:

  • Rust (Axum): For blazing-fast, concurrent HTTP routing.
  • Askama: For strongly-typed, compiled HTML templates.
  • Sea-ORM + SQLite: A robust async ORM paired with SQLite in WAL mode for lightweight yet maximum-performance storage.
  • Tailwind CSS: For crafting the bold, minimalist brutalist UI.

Configuration

For detailed configuration options (including rate limiting, links customization, database structure, and analytics), please refer to the Configuration Documentation.

Contributing

Contributions are always welcome! Whether it's a bug report, a new feature, or a typo fix, feel free to open an issue or submit a pull request. Let's build a better, minimalist web together.

License

This project is licensed under the MPL 2.0 License.

About

A fast, simple, and open-source URL shortener.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors