Hi,
On 25.5.2023 6.47, Spenser Truex wrote:
My internet friends and I have been wanting a shortlinks provider. How
can I do this in a suckless way? I'd like to be able to host the
shortlinks provider and easily let my friends point their own domains at
my VPS.
I used to just upload a HTML file with a redirect to the desired
location in my webserver root. This doesn't work for a shared service
though.
There are a lot of bloated projects that I've found. Any suggestions?
Out of curiosity, I wrote a reasonably suckless PoC version[0] with C
and CGI, tested it to work with OpenBSD httpd and slowcgi.
It uses symbolic links in a directory as a data backend. This should not
have any race issues, as link creation should be an atomic operation.
Note that the default is to have 4 character tokens, that are randomly
generated, so expect collisions if you have a lot of links to shorten.
Every GET request is expected to be a redirection request, and every
POST is a link addition. GETs are identified by PATH_INFO, POST data can
have a token variable to use pre-specified text (if available), in
addition to the mandatory uri, successful addition returns the token
part as text/plain (i.e. not a full address).
Error reporting is minimal, but errors probably are handled.
I have no plans to implement this further, so consider this abandoned
from the get go; I can add patches if someone uncovers some of the
gaping holes there must be somewhere.
If someone should want to test it, and the non-existent documentation is
too sparse, please contact me directly, no reason to pollute the list.
HTH
[0]: https://inzg.it/shurl/files.html
--
Cheers,
Santtu