misc/pinnwand
2024-11-17 00:12:42 +01:00
..
openrc Pinnwand scripta 2024-11-16 21:35:48 +01:00
gist.sh typo 2024-11-17 00:12:42 +01:00
pinnwand-installer.sh Pinnwand-installer CC0 license 2024-11-16 23:55:26 +01:00
README.md typo 2024-11-17 00:12:42 +01:00

Pinnwand

Pinnwand is a straightforward pastebin service designed for simplicity and ease of use. It provides a clean web interface to share and manage text snippets, code, or notes. It supports features like syntax highlighting, expiration times, and revocation.

Pinnwand Installer Script

The Pinnwand installer script is a Bash script designed to automate the installation, upgrade, and setup of Pinnwand on a Linux system. It sets up and installs Pinnwand into a Python virtual environment, keeping it separate from the base system.

Prerequisites

  • Python 3.8 or higher with pip
  • Git installed on the system.

Features

  1. Automated Installation: The script can install Pinnwand by cloning its repository and setting up a virtual environment.
  2. Upgrade Support: It can update Pinnwand to the latest version, a specified Git reference or main development branch.
  3. Custom Source Testing: A USE_LOCAL_SRC option allows using manually downloaded sources and avoids the git dependency.

Usage

  1. Clone or download the script.
  2. Set the username, install path and source path in the script.
  3. Run the script as the pinnwand user:
    sudo -u pinnwand-user ./pinnwand-installer.sh
    

Simply re-run the script to upgrade an existing installation.

Running pinnwand

Create a config.toml with desired configuration options.

An example config file is available in the source tree under etc/pinnwand-toml-example.

Manually

Specify the configuring file and the TCP/IP listening port on the command line.

sudo -u pinnwand-user path/to/pinnwand/venv/bin/pinnwand --configuration-path config.toml http --port 1234

OpenRC init.d script

The provided init scripts help you run pinnwand as a service on a OpenRC system such as Gentoo and Alpine Linux.

  1. Cooy pinnwand.initd to /etc/init.d/pinnwand
  2. Cooy pinnwand.confd to /etc/conf.d/pinnwand
  3. Set the correct user and path in /etc/conf.d/pinnwand
  4. Run rc-update add pinnwand to enable autostart on boot.
  5. Run rc-service pinnwand start to start pinnwand now.

gist.sh - paste from command line

Sometimes you nay need to paste a log file, a snippet or code or a kernel log to a pastebin service.

The siplest way may be to use curl, as described on https://pinnwand.readthedocs.io/en/latest/tricks.html

cat file | curl -X POST http://localhost:8000/curl -F 'raw=<-'

I wanted a little more control over language (lexer) selection and be able to upload several files in one go, so I expanded on the curl script and ended up with gist.sh.

Usage: gist.sh [options] [file1 file2 ...]
Options:
  -e, --expiry <expiry>   Set the expiry time for the paste (e.g., 1day, 1hour).
                          Default is '1day' if not specified.
  -l, --lexer <lexer>     Specify the lexer to use for syntax highlighting.
  --lexers                List all available lexers in 'name : description' format.
  -h, --help              Show this help message and exit.

Examples

  gist.sh -e 1hour -l python file1 file2
  gist.sh --lexers
  dmesg | gist.sh -l kmsg