0.2.0 |
|
---|---|
0.1.2 |
|
0.1.1 |
|
0.1.0 |
|
#18 in #identity-provider
26KB
616 lines
linkr
The self-hosted solution for url shortening or prettifying.
I made linkr because I wanted a self-hosted solution for url shortening but all I found were implementations in PHP. The end goal is something as robust as existing solutions but written in safe Rust, with an emphasis on RESTful APIs first.
Features
- Multi-threaded and secure as it uses Rocket
- Support for multiple identity providers and authorization/authentication modes
- Easy to set up
- Administrative endpoints to manage links
- Built-in per-link statistics
- Memory safe: Written in Rust
Examples
With no authorization:
# Creating a link
curl -XPOST -d "origin=hello&dest=https://google.com&password=potato" your-domain.com/api/link
# Deleting a link
curl -XDELETE -d "origin=hello&password=potato" your-domain/api/link
Pre-shared key (requires timestamp hashing message with PSK):
# Creating a link
curl -XPOST -d "origin=asdff&dest=hosd&ts=1551681791&hash=a84ee951112f89feaa34fe32d052c17187edbc2fb7ec35dfe710d06b5b17ad05" localhost:8000/api/link
# Deleting a link
curl -XDELETE -d "origin=asdf&ts=1551681861&hash=155b46c17892125e50a5284e916b8fee2f039b7481dd1ba16b117d80c6ffbd26" localhost:8000/api/link
Getting started
Please see the docs to learn how to get started.
Dependencies
~16–25MB
~384K SLoC