mirror of
https://github.com/ivabus/aliurl
synced 2024-11-22 06:35:05 +03:00
No description
src | ||
.gitignore | ||
.rustfmt.toml | ||
Cargo.toml | ||
LICENSE | ||
README.md | ||
redirect.html.example | ||
Rocket.toml |
aliurl
ALIaser for URLs
Small http service to create aliases for URLs.
Installation
git clone https://github.com/ivabus/aliurl
cd aliurl
cargo b -r
Configuration
Add your access_keys (separating by newline) to ./access_keys
or don't add any, if you don't want to use authorization.
Edit Rocket.toml
to set port and ip.
Running
cargo run -r
API
Create new alias
Request
POST /api/create_alias HTTP/1.1
Request body
{
"url": "<URL_TO_BE_ALIASED>",
"alias": "<ALIAS_URI>", // If not provided, random string will be generated
"access_key": "<ACCESS_KEY>" // May not be provided, if no ./access_keys file
"redirect_with_ad": "<BOOL>" //May not be provided, if provided will use ./redirect.html
}
Get all aliases
Request
POST /api/create_alias HTTP/1.1
Request body
{
"access_key": "<ACCESS_KEY>" // May not be provided, if no ./access_keys file
}
Response body
[
{
"alias": "alias_without_ad",
"url": "https://example.com"
},
{
"alias": "alias_with_ad",
"redirect_with_ad": true,
"url": "https://example.com"
}
]
Remove alias
Removes all alias with provided name.
Request
POST /api/remove_alias HTTP/1.1
Request body
{
"alias": "<ALIAS>",
"access_key": "<ACCESS_KEY>" // May not be provided, if no ./access_keys file
}
Response
Alias(es) removed
[
{
"alias": "alias",
"url": "https://example.com"
},
{
"alias": "alias",
"redirect_with_ad": true,
"url": "https://another.com"
}
]
No aliases found
[]
Use alias
Request
GET /<ALIAS> HTTP/1.1
Response
HTTP/1.1 303 See Other
location: <URL>
Alias for /
Aliases for root is declared in src/main.rs
file in INDEX_REDIRECT
const.
Redirect with "ad"
See ./redirect.html.example
to understand what's going on.
License
The project is licensed under the terms of the MIT license.