Skip to content

A dead simple human-writable URL redirector based loosely on google's `go/` system.

Notifications You must be signed in to change notification settings

dijit/redirector-rs

Repository files navigation

Redirector

a redirector written in rust intended for permanent human-readable redirects.

The idea was semi-inspired by the book Software Engineering at Google.

This chapter describes go/ links which are part of knowledge sharing, canonical URLs, and are part of the inspiration for this topic.

The URL Redictor can be compiled with a static config-file backend or a database.

The database backend supports user submissions through 404 pages.

Features

feature excludes default
config_file database yes
database config_file no

Adding URLs (Config_File)

urls.toml contains a [urls] keyspace which contains key/value pairs of shortcodes and the URL.

For a real-life example, a config like:

[urls]
handbook = "https://mycompany.atlassian.net/wiki/spaces/DOCTEAM/pages/2565079041/Handbook"

would redirect go/handbook to https://mycompany.atlassian.net/wiki/spaces/DOCTEAM/pages/2565079041/Handbook with a 308 (permanent) redirect. Assuming of course that this program was resolvable as go.

Improvements

Future improvements could be a database and an API which can push updates to the dataset.

This will slow the process down considerably, but allows for much more flexibility, as the current update mechanism is a merge-request.

About

A dead simple human-writable URL redirector based loosely on google's `go/` system.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published