box.matto.nl
Enjoying Open Source Software

Self hosted pastebin and file dropper for text browsers

Hunchbin

Hunchbin is a self hosted snippet service, and file dropper. It also features temporarily bookmarks.

Hunchbin is aimed at text mode browsers, like eww, links, and lynx. It can be used with any browser, it uses pure HTML and HTML forms, no JavaScript.

It is build upon the Common Lisp Hunchentoot web server.

Expire dates

Hunchbin assigns an individual expire date to every item, calculated using a default expire period. When the expire date is reached, the item will be deleted.

Expire dates can be modified by the user.

Features

The most important elements are:

  • pastebin server for snippets
  • file dropper
  • temporarily bookmarks service

Snippets

Snippets are added in a text area field in a web form and displayed as pre-formatted text, most browsers use a fixed font for this.

Snippets are also be added by uploading a file with MIME-type "text/plain".

Snippets can be modified, the user can change title as well as the text of the snippet.

File dropper

Files can be uploaded through a HTML form.

Hunchbin stores the MIME-type. When a file is uploaded, using TUI browsers like eww, lynx, and links, the MIME-type will always be "text/plain", no matter what file was uploaded. Therefor Hunchbin provides the option to change the MIME-type afterward.

The option to upload and download files can be useful to exchange data between different devices and operating systems. For example. it provides an easy way to transfer files from and to tablets.

Bookmarks

Hunchbin features the option to store temporarily bookmarks.

Add a bookmark using the bookmark HTML form. Just like any other item, bookmarks get an expire date.

Once a bookmark is added, its expiration date can always be moved further into the future.

With this option, one can collect a number of links to pages that look promising, without the risk of creating a huge pile of bookmarks.

Accesskeys

The functions of Hunchbin are accessed by opening HTML-links. Because the number of links are limited, the usage of the Hunchbin service with text mode browsers is very efficient.

In order to keep some of this efficiency when using a graphical browser like Firefox, the HTML links are created with so-called accesskeys. For example, to open a link with accesskey `a', in Firefox press Alt-Shift-a (at least, in Firefox on FreeBSD).

As far as I know, Chrome, Firefox, and Safari all support the use of accesskeys.

To help the user, the accesskeys are shown between square brackets, at the end of each link.

CCL

During the 2024 edition of the Old Computer Challenge I used an old Acer Aspire One 522 POVE6 in a Xorg-less setup, running FreeBSD. To experience the use of this laptop for Lisp development I had installed CCL on it and started building the service.

After the challenge I added Xorg and the ratpoison window manager, but still kept Emacs-nox, and continued working on the snippet and file dropper service. This work was intermittent, because of different priorities, and also because of camping trips. It is summer, after all.

I continued building the application on CCL, but also tested it on SBCL.

I am not a seasoned Lisp developer, and the code will show this. Nonetheless, it was great fun creating the application, and again I learned a lot along the way.

Text mode browsers

I build the system on my OCC laptop, a machine without a graphical web browser like Firefox. During the development I tested the functionalities with eww, lynx and links.

The service therefor fully supports the use of these browsers, and working with it is really fast, and a joy to use :)

Useful

Because I use different devices, like my OCC laptop, my X201, a tablet, and so on, a service like Hunchbin is valuable. It provides an easy way to transfer files to and from a tablet.

The service is also useful for exchanging snippets, like a copy of a part of a web page.

Tags:

⇽ Xorg-less on a thirteen year old netbook