<!-- SPDX-FileCopyrightText: 2021 Li Ian-Xue (b4283) b4283@pm.me SPDX-FileCopyrightText: 2025 Evgeny Pisemsky mail@pisemsky.site
SPDX-License-Identifier: GPL-3.0-only -->
guile-pastebin
A very simple pastebin written in Guile Scheme.
How to run
Execute one of the following commands in the root of repository:
guile -L modules scripts/pastebin [OPTIONS] <DATA_DIR>
GUILE_LOAD_PATH=modules scripts/pastebin [OPTIONS] <DATA_DIR>Then navigate your web browser at http://localhost:8080. By default,
pastebin listens on all IPv4 addresses (0.0.0.0) and runs on port
8080. These can be changed by passing the command line options
--addr and --port, respectively.
<DATA_DIR> is a writable filesystem location you want to use to
store pastes. If it doesn't exist, it will be created.
It was tested on Guile 3.0.9. Many thanks to the Guile development team for such great software.
API
/-- show top 5 paste list/post-- create paste- method: POST only
- type:
multipart/form-data fields
text-- the paste contentshowUrl=1-- to show the raw URL after paste
/raw/<ID>-- get paste contentmethod: GET only
Paste a file from command line
Paste a text file from command line and get a URL back:
curl -F "text=<helloworld.cs" -F showUrl=1 http://localhost:8080/post
Notice the double-quotes around the parameters because < means IO
redirection in sh.