Skill v1.0.1
currentAutomated scan100/100+9 new
version: "1.0.1" name: shz-al description: Upload, fetch, update, or delete text/binary content via {{BASE_URL}}, a pastebin with a command-line client. Use when you need a quick URL for sharing long output, hosting a small file, shortening a URL, or rendering markdown as HTML.
shz.al
A pastebin hosted on Cloudflare Workers at {{BASE_URL}}. Use the pb command-line client: it encrypts pastes on the client by default, remembers the passwords and keys of your uploads, and splits large files automatically. If pb is not available or you need plain HTTP, use curl as described in {{BASE_URL}}/doc/curl.md.
Install pb
pb needs python3 with the requests and cryptography packages (cryptography is only needed for encryption, so pb post -u works without it).
curl -fsSL https://raw.githubusercontent.com/SharzyL/pastebin-worker/goshujin/scripts/pb -o ~/.local/bin/pbchmod +x ~/.local/bin/pbpip install requests cryptography # or the python3-requests / python3-cryptography system packagesexport PB_DOMAIN={{BASE_URL}} # not needed for https://shz.al, the default; or pass --base-url to every command
With Nix, skip pip and replace the first line of pb with the following, so that it runs in a Python environment with both packages (requires the nix-command and flakes experimental features):
#!/usr/bin/env -S nix run --impure --expr '(import (builtins.getFlake "nixpkgs") {}).python3.withPackages (ps: [ ps.requests ps.cryptography ])' '' --
Upload
pb post -c 'hello, world' # textpb post file.png # file, stored with its filename<cmd> | pb post # stdinpb post -u -c 'hello, world' # without encryption
The response is JSON:
{"url": "{{BASE_URL}}/abcd","manageUrl": "{{BASE_URL}}/abcd:<password>","decryptionUrl": "{{BASE_URL}}/d/abcd#<key>","expireAt": "2026-05-21T10:33:06.114Z"}
Pastes are encrypted by default, so:
- Share `decryptionUrl`. It opens the paste in a browser, which decrypts it
with the key after #; the key never reaches the server.
urlreturns the ciphertext only. Upload with-u/--unencryptedwhen the
paste must be readable by plain HTTP clients such as curl, or when it is used as a URL shortener.
pb records the manage URL and the key in its history file (~/.config/pb_hist), so later update, get and delete calls on the same machine only need the paste name. Keep manageUrl yourself if the paste may be managed from elsewhere — it is the only way to authenticate as the owner.
Upload options
-n <name>— custom name (≥3 chars, returned prefixed with~).-e <expire>— expiration: integer/float with units/m/h/d
(default seconds). E.g. -e 30m, -e 14d.
-s <password>— set a specific management password.-p— private mode: 24-char unguessable random name.-F <filename>— filename stored with the paste.
Fetch
pb get <name> # content, decrypted with the key from historypb get <name> -K <key> # decrypt with an explicit keypb get <name> --save [DIR] # save with the server filenamepb get <name> --meta # JSON metadata (size, dates, …)
Update / delete
pb update <name> -c 'new content' # password looked up from historypb update <name>:<password> -f filepb delete <name>
update accepts -e, -s, -F and -u like post; -e recalculates the expiration from now. An encrypted update uses a fresh key, so it prints a new decryptionUrl and the old one stops working.
Other URL forms
/d/<name>— display code with syntax highlighting. Append?lang=<lang>to override
the highlighting language.
/a/<name>— render a markdown paste as HTML (GitHub-flavored Markdown + MathJax).
For an encrypted paste, append #<key> like the decryption URL.
/u/<name>— redirect to the URL stored in an unencrypted paste (URL shortener)./m/<name>— JSON metadata.
Limitations
- Default expiration is
{{DEFAULT_EXPIRATION}}, max{{MAX_EXPIRATION}}. Pastes are deleted on expiry. - Max upload size is
{{R2_MAX_ALLOWED}}. - Only the content is encrypted; the name, filename, size and timestamps are
visible to the server.
- Treat the service as ephemeral storage — do not rely on it for archival.
Full docs
{{BASE_URL}}/doc/curl.md— comprehensive curl guide.{{BASE_URL}}/doc/api.md— HTTP API reference.{{BASE_URL}}/doc/paste-crypto.md— how paste encryption works.