An open API service indexing awesome lists of open source software.

https://github.com/abdibrokhim/notlink

The open-source blazingly fast self-hostable URL shortener ever. Written in Rust 🦀
https://github.com/abdibrokhim/notlink

nextjs opensource rust-lang typescript

Last synced: 9 months ago
JSON representation

The open-source blazingly fast self-hostable URL shortener ever. Written in Rust 🦀

Awesome Lists containing this project

README

          







language


feedback


github stars




crates


discord


x(twitter) follow

The Fastest URL Shortener Ever



it takes less than 1s to shorten a URL.

try notl.ink

Super Simple.   Blazingly Fast.   Open Source.


Report Bug
·
Request a Feature
·
Join us on Discord
·
Follow us on X

*

⭐ If you find notlink interesting, consider starring this repo to help spread the word.
*

notlink is officially live on Product Hunt!

[![live demo](/assets/ph-live.png)](https://cards.producthunt.com/cards/products/992403)

## About The Project
This is notlink - a blazingly fast URL shortener ever built with Rust programming language. It is designed to be simple, secure, and fast. notlink is open-source and free to use. It is also fully customizable and can be self-hosted on your own server. [Join us!!](https://discord.gg/nUdcd9p8Ae).

[![live demo](/assets/notlink-yt.png)](https://youtu.be/ahZV6aAdnVI?si=N0O3RFYXE4Zz1Uhc)

## Built With
notlink is built with the following awesome open-source technologies:
- [Rust](https://www.rust-lang.org/)
- [Actix](https://actix.rs/)
- [Diesel](http://diesel.rs/)
- [Shuttle](https://shuttle.dev/)
- [Neon](https://neon.tech/)
- [NextJS](https://nextjs.org/)
- [Typescript](https://www.typescriptlang.org/)

notlink's UI could be found in [this repo](https://github.com/abdibrokhim/notlink-ui)

## Features

1. **Shorten URLs:**
Convert long URLs into short, easy-to-share links.

2. **Data Encryption:**
Encrypt stored URLs to enhance security and protect user data.

3. **Expiration Dates:**
Enable URLs to expire after a certain date or number of uses.

4. **API Access:**
Provide a minimal RESTful API for programmatic access to the URL shortener.

## Roadmap

1. **Custom URL Aliases:**
Allow users to create custom shortened URLs.

2. **QR Code Generation:**
Automatically generate QR codes for each shortened URL.

## Quick Start

Clone the repository:

```shell
git clone https://github.com/abdibrokhim/notlink.git
```

Install the dependencies with:

```shell
cargo install
```

Copy the `.env.example` file to `.env`:

```shell
cp .env.example .env
```

Replace with your stuff:

```shell
DATABASE_URL=postgresql://...:...@.../...?sslmode=require
CRYPTO_KEY=...
HOST=...
```

Generate a secure random key (you can use openssl command line):

```shell
openssl rand -hex 32
```

Run the development server with:

```shell
cargo shuttle run
```

Send request here: [http://localhost:8000](http://localhost:8000).
You may try to run the tests with. But there's no tests yet, lol.
Anyway refer to [APITESTS.md](./APITESTS.md) for examples of how to test the API endpoints.

## Tutorial 🥳

Tutorial is available on [TUTORIAL.md](https://github.com/abdibrokhim/notlink/blob/main/TUTORIAL.md). Check it out!!

For the video tutorial, you can check it out on [YouTube](https://youtu.be/Mhz_eVH3XnQ?si=fX6GqIq79QGq6C69)

[![live tutorial](/assets/notlink-ttrl.png)](https://youtu.be/Mhz_eVH3XnQ?si=ZhmY5BtrsblCrjaS)

## Donate & Support

- [Support on Open Collective](https://opencollective.com/opencommunity)
- [Support on Patreon](https://www.patreon.com/abdibrokhim)

### Crypto

- Bitcoin: bc1qpylxaqwapk0tgdmpnnljj545z4lk2z9q5us6p6
- Ethereum: 0xb4a8e71d82e8Bf84a02C7770585F9cD8b267aDB9
- Solana: 4MpPHapcdb5MwRy57juUQ2wUt1EJo8BYqXsYKwSfCvz1

Wanna learn more about me? refer to [my official website](https://yaps.gg).

## Contributing

Contributing is highly encouraged!
Even if you are not planning to submit any code, joining our [Discord server](https://discord.gg/nUdcd9p8Ae) and providing feedback helps us a lot!

Check out our [CONTRIBUTING.md](./CONTRIBUTING.md) and find the appropriate repo above to contribute to.

## Open Community

Join the awesome community on [Discord](https://discord.gg/nUdcd9p8Ae)

## Credits

Logo made by Ibrohim Abdivokhidov (@abdibrokhim). Follow him on [LinkedIn](https://www.linkedin.com/in/abdibrokhim/) and/ or [X (twitter)](https://twitter.com/abdibrokhim)

## Star History

[![Star History Chart](https://api.star-history.com/svg?repos=abdibrokhim/notlink&type=Date)](https://star-history.com/#abdibrokhim/notlink&Date)

*⭐ If you find notlink interesting, consider starring this repo to help spread the word.*

## Contributors ✨

Thanks goes to these wonderful people:



Made with [contrib.rocks](https://contrib.rocks).