Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lucasmerlin/hurlurl
A load balancing link shortener
https://github.com/lucasmerlin/hurlurl
daisyui diesel link-shortener rust tailwind yew
Last synced: 10 days ago
JSON representation
A load balancing link shortener
- Host: GitHub
- URL: https://github.com/lucasmerlin/hurlurl
- Owner: lucasmerlin
- License: mit
- Created: 2022-07-22T18:13:42.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-07-03T01:13:32.000Z (4 months ago)
- Last Synced: 2024-10-14T02:46:41.108Z (23 days ago)
- Topics: daisyui, diesel, link-shortener, rust, tailwind, yew
- Language: Rust
- Homepage: https://hurlurl.com
- Size: 7.77 MB
- Stars: 62
- Watchers: 3
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-yew - hurlurl - A randomizing link shortener, [Live Demo](https://hurlurl.com/). (Projects)
README
# hurlurl, a load balancing link shortener
Hurlurl can take a list of urls and create one url that randomly redirects to one of them.
This could be useful, if you have a large group of people, e.g. on a discord server or a twitch stream and you want to send them to different instances of a game or an online whiteboard for example.
I made hurlurl when I needed to send people to different boards on https://hellopaint.io, for an event we did.I guess you could call hurlurl a _social load balancer_ because it's used to load balance people and not http requests.
Although hurlurl could also be used for traditional load balancing.Give it a try on https://hurlurl.com/
## Development
`web` contains the frontend, written in Rust with Yew.
`urllb` contains the backend, written in Rust with Diesel and axum.```bash
# Install
yarn install# Start Postgres
docker compose up -d# Run the following commands in separate terminals
# The order is important (otherwise there will be missing files)# Watch tailwind css changes
yarn tailwind# Start frontend
yarn start# Start backend
yarn start:backend
```