{"id":25649624,"url":"https://github.com/abdibrokhim/notlink","last_synced_at":"2025-10-07T16:50:09.363Z","repository":{"id":275826784,"uuid":"925853136","full_name":"abdibrokhim/notlink","owner":"abdibrokhim","description":"The open-source blazingly fast self-hostable URL shortener ever. Written in Rust 🦀","archived":false,"fork":false,"pushed_at":"2025-02-27T22:12:10.000Z","size":2106,"stargazers_count":99,"open_issues_count":0,"forks_count":15,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-01T21:47:33.914Z","etag":null,"topics":["nextjs","opensource","rust-lang","typescript"],"latest_commit_sha":null,"homepage":"https://notl.ink","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abdibrokhim.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["abdibrokhim"],"patreon":"abdibrokhim","open_collective":"opencommunity","ko_fi":"abdibrokhim","buy_me_a_coffee":"abdibrokhim","custom":["https://yaps.gg"]}},"created_at":"2025-02-01T22:34:23.000Z","updated_at":"2025-09-28T08:55:15.000Z","dependencies_parsed_at":"2025-02-04T20:03:30.227Z","dependency_job_id":"774fd3bb-4738-4838-a0a6-2da5220c2964","html_url":"https://github.com/abdibrokhim/notlink","commit_stats":null,"previous_names":["abdibrokhim/notlink"],"tags_count":1,"template":true,"template_full_name":null,"purl":"pkg:github/abdibrokhim/notlink","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdibrokhim%2Fnotlink","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdibrokhim%2Fnotlink/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdibrokhim%2Fnotlink/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdibrokhim%2Fnotlink/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abdibrokhim","download_url":"https://codeload.github.com/abdibrokhim/notlink/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdibrokhim%2Fnotlink/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278811847,"owners_count":26050181,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nextjs","opensource","rust-lang","typescript"],"created_at":"2025-02-23T14:22:51.513Z","updated_at":"2025-10-07T16:50:09.346Z","avatar_url":"https://github.com/abdibrokhim.png","language":"Rust","funding_links":["https://github.com/sponsors/abdibrokhim","https://patreon.com/abdibrokhim","https://opencollective.com/opencommunity","https://ko-fi.com/abdibrokhim","https://buymeacoffee.com/abdibrokhim","https://yaps.gg","https://www.patreon.com/abdibrokhim"],"categories":["Rust"],"sub_categories":[],"readme":"\u003c!-- markdownlint-disable --\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"\" rel=\"noopener\"\u003e\n    \u003cimg width=200px height=200px src=\"https://raw.githubusercontent.com/abdibrokhim/notlink/refs/heads/main/assets/notlink-logo.png\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/abdibrokhim/notlink/search?l=rust\"\u003e\n    \u003cimg alt=\"language\" src=\"https://img.shields.io/badge/language-Rust-black.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://yaps.gg\"\u003e\n    \u003cimg alt=\"feedback\" src=\"https://img.shields.io/badge/feedback-notl.ink-black\"\u003e\n  \u003c/a\u003e\n    \u003ca href=\"https://notl.ink\"\u003e\n    \u003cimg alt=\"github stars\" src=\"https://img.shields.io/github/stars/abdibrokhim/notlink?style=social\"/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/abdibrokhim/notlink/issues\"\u003e\n    \u003cimg alt=\"crates\" src=\"https://img.shields.io/github/issues-raw/abdibrokhim/notlink.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://discord.gg/nUdcd9p8Ae\"\u003e\n    \u003cimg alt=\"discord\" src=\"https://img.shields.io/discord/1325139842388070520?logo=discord\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://yaps.gg\"\u003e\n    \u003cimg alt=\"x(twitter) follow\" src=\"https://img.shields.io/twitter/follow/abdibrokhim\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eThe Fastest URL Shortener Ever\u003c/h1\u003e\n\u003cdiv align=\"center\"\u003e\nit takes less than 1s to shorten a URL.\u003cbr\u003e\ntry \u003ca href=\"https://notl.ink\"\u003enotl.ink\u003c/a\u003e\n\u003c/div\u003e\n\n\u003ch3 align=\"center\"\u003eSuper Simple. \u0026nbsp; Blazingly Fast. \u0026nbsp; Open Source.\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://yaps.gg\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://yaps.gg\"\u003eRequest a Feature\u003c/a\u003e\n    ·\n  \u003ca href=\"https://discord.gg/nUdcd9p8Ae\"\u003eJoin us on Discord\u003c/a\u003e\n    ·\n    \u003ca href=\"https://x.com/abdibrokhim\"\u003eFollow us on X\u003c/a\u003e\n  \u003c/p\u003e\n\n\u003c!-- \u003cdiv align=\"center\"\u003e\u003cimg src=\"\" width=\"100%\" \u003e\u003c/div\u003e --\u003e\n\n*\u003cdiv align=\"center\"\u003e⭐ If you find notlink interesting, consider starring this repo to help spread the word.\u003c/div\u003e*\n\n\u003ch1 align=\"center\"\u003enotlink is officially live on Product Hunt!\u003c/h1\u003e\n\n[![live demo](/assets/ph-live.png)](https://cards.producthunt.com/cards/products/992403)\n\n## About The Project\nThis 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).\n\n[![live demo](/assets/notlink-yt.png)](https://youtu.be/ahZV6aAdnVI?si=N0O3RFYXE4Zz1Uhc)\n\n\n## Built With\nnotlink is built with the following awesome open-source technologies:\n- [Rust](https://www.rust-lang.org/)\n- [Actix](https://actix.rs/)\n- [Diesel](http://diesel.rs/)\n- [Shuttle](https://shuttle.dev/)\n- [Neon](https://neon.tech/)\n- [NextJS](https://nextjs.org/)\n- [Typescript](https://www.typescriptlang.org/)\n\nnotlink's UI could be found in [this repo](https://github.com/abdibrokhim/notlink-ui)\n\n## Features\n\n1. **Shorten URLs:** \nConvert long URLs into short, easy-to-share links.\n\n2. **Data Encryption:**\nEncrypt stored URLs to enhance security and protect user data.\n\n3. **Expiration Dates:**\nEnable URLs to expire after a certain date or number of uses.\n\n4. **API Access:**\nProvide a minimal RESTful API for programmatic access to the URL shortener.\n\n## Roadmap\n\n1. **Custom URL Aliases:** \nAllow users to create custom shortened URLs.\n\n2. **QR Code Generation:**\nAutomatically generate QR codes for each shortened URL.\n\n## Quick Start\n\nClone the repository:\n\n```shell\ngit clone https://github.com/abdibrokhim/notlink.git\n```\n\nInstall the dependencies with:\n\n```shell\ncargo install\n```\n\nCopy the `.env.example` file to `.env`:\n\n```shell\ncp .env.example .env\n```\n\nReplace with your stuff:\n\n```shell\nDATABASE_URL=postgresql://...:...@.../...?sslmode=require\nCRYPTO_KEY=...\nHOST=...\n```\n\nGenerate a secure random key (you can use openssl command line):\n\n```shell\nopenssl rand -hex 32\n```\n\nRun the development server with:\n\n```shell\ncargo shuttle run\n```\n\nSend request here: [http://localhost:8000](http://localhost:8000). \nYou may try to run the tests with. But there's no tests yet, lol.\nAnyway refer to [APITESTS.md](./APITESTS.md) for examples of how to test the API endpoints.\n\n## Tutorial 🥳\n\nTutorial is available on [TUTORIAL.md](https://github.com/abdibrokhim/notlink/blob/main/TUTORIAL.md). Check it out!!\n\nFor the video tutorial, you can check it out on [YouTube](https://youtu.be/Mhz_eVH3XnQ?si=fX6GqIq79QGq6C69)\n\n[![live tutorial](/assets/notlink-ttrl.png)](https://youtu.be/Mhz_eVH3XnQ?si=ZhmY5BtrsblCrjaS)\n\n## Donate \u0026 Support\n\n- [Support on Open Collective](https://opencollective.com/opencommunity)\n- [Support on Patreon](https://www.patreon.com/abdibrokhim)\n\n### Crypto\n\n- Bitcoin: bc1qpylxaqwapk0tgdmpnnljj545z4lk2z9q5us6p6\n- Ethereum: 0xb4a8e71d82e8Bf84a02C7770585F9cD8b267aDB9\n- Solana: 4MpPHapcdb5MwRy57juUQ2wUt1EJo8BYqXsYKwSfCvz1\n\nWanna learn more about me? refer to [my official website](https://yaps.gg).\n\n## Contributing\n\nContributing is highly encouraged!\nEven if you are not planning to submit any code, joining our [Discord server](https://discord.gg/nUdcd9p8Ae) and providing feedback helps us a lot!\n\nCheck out our [CONTRIBUTING.md](./CONTRIBUTING.md) and find the appropriate repo above to contribute to.\n\n## Open Community\n\nJoin the awesome community on [Discord](https://discord.gg/nUdcd9p8Ae)\n\n## Credits\n\nLogo made by Ibrohim Abdivokhidov (@abdibrokhim). Follow him on [LinkedIn](https://www.linkedin.com/in/abdibrokhim/) and/ or [X (twitter)](https://twitter.com/abdibrokhim)\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=abdibrokhim/notlink\u0026type=Date)](https://star-history.com/#abdibrokhim/notlink\u0026Date)\n\n*⭐ If you find notlink interesting, consider starring this repo to help spread the word.*\n\n## Contributors ✨\n\nThanks goes to these wonderful people:\n\n\u003ca href=\"https://github.com/abdibrokhim/notlink/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=abdibrokhim/notlink\" /\u003e\n\u003c/a\u003e\n\nMade with [contrib.rocks](https://contrib.rocks).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdibrokhim%2Fnotlink","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabdibrokhim%2Fnotlink","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdibrokhim%2Fnotlink/lists"}