Paste server written in Haskell. Fork of Hpaste, fully freedom and privacy respecting and generally improved. At the time of writing there's an instance at <http://paste.rel4tion.org>.

[[ ๐Ÿ—ƒ ^aoqmo toothpaste ]] :: [๐Ÿ“ฅ Inbox] [๐Ÿ“ค Outbox] [๐Ÿค Followers] [๐Ÿค Collaborators] [๐Ÿ›  Commits]

Clone

HTTPS: git clone https://vervis.peers.community/repos/aoqmo

SSH: git clone USERNAME@vervis.peers.community:aoqmo

Branches

Tags

master ::

Files

๐Ÿ—Ž .gitignore
๐Ÿ—Ž README.md
๐Ÿ—Ž Setup.hs
๐Ÿ—Ž amelie.conf.sample
๐Ÿ—Ž cabal.config
๐Ÿ—Ž hpaste.cabal
๐Ÿ—Ž hpaste.conf.sample
๐Ÿ—€ scripts
๐Ÿ—€ sql
๐Ÿ—€ src
๐Ÿ—€ static

README.md

Toothpaste

This is a simple paste server, a modified version of Chris Doneโ€™s hpaste. Toothpaste can syntax-highlight some computer languages, and can post links into IRC channels.

Examples for some of the changes made:

How to Use

Even after the modifications I made, there are hardcoded URLs in some places, and some extra links I added, which you may wish to change. More generally, it seems the original author wrote the code in his earlier days as a Haskell developer and the code in some places could use a big cleaner layout. So feel free to hack and impove!

Also, โ€œhpasteโ€ and โ€œlpasteโ€ are used when referring to the server in various places in the code. Donโ€™t worry about it. Just go to the UI layout code and change the UI strings and URLS you need. You can grep for the URLs or first launch the server and then take a look and see what youโ€™d like to change.

Database Setup

Data is stored in a PostgreSQL database.

$ sudo su postgres --command 'createuser hpaste -P'
$ sudo su postgres --command 'createdb hpaste -O hpaste'
$ cat sql/schema.sql | psql -U hpaste -h 127.0.0.1 -d hpaste

You can also run the last line with the sql/data.schema, which contains some initial data such as lists of IRC channels and programming languages. Take a look at that file and tweak as needed before you commit it to psql.

Configuration & Running

$ cp hpaste.conf.sample hpaste.conf

Edit hpaste.conf. Make sure the cache directory has correct permissions (the user running the server needs to be able to create files there).

$ dist/build/hpaste/hpaste hpaste.conf

You can use cron or supervisord or similar to have the server launch automatically at boot time.

Regenerating Web Pages

The server keeps some content in a cache, whose path is set in hpaste.conf (/tmp/hpaste-cache by default). Some changes to the code wonโ€™t take effect until you clear the cache and cause the server to generate new files there. You can safely clear the cache like this:

$ rm -rf /tmp/hpaste-cache/*
[See repo JSON]