Skip to content
This repository has been archived by the owner on Dec 22, 2023. It is now read-only.

ivabus/aliurl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Archived, see ivabus/urouter or something else as a replacement

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.

About

ALIaser for URLs

Resources

License

Stars

Watchers

Forks

Languages