p9p acme scripts I use in my daily workflow.


Source (1.0KiB; rc)
Usage: acmeed [f]

acmeed is a stand-in application designed to be used as $EDITOR; it is designed to integrate with (p9p) acme on *nix systems. When invoked by a command such as git commit, acmeed creates a new row displaying the temporary file for editing. 'Putdel' confirms the write and deletes the window. 'Del' cancels the operation.


Source (2.3KiB; rc)
Usage: slide [n]

A clone of Russ Cox's slide program featured here. When invoked with no arguments, it opens the '1' file in the window's directory in a new row. The Slide+ and Slide- commands navigate between slides. The window closes after the last slide.

When button2 is pressed within a slide, the current slide's body is searched for an rc function definition whose name matches the queried text. These rc functions are then executed within slide's own environment.

Newly-defined macros become executable after reloading a slide via the Get or Slide[+-] commands.


Source (2.7KiB; rc, various software)
Usage: furi scheme host [ports[-maxport]]

furi accepts plumbed bogus URI schemes. Plumbing URIs such as nmap:// spawns a new row, in which nmap executes. The window is marked clean once the command exits. Repeat re-executes the command.

Some URI schemes accept a suffixed port (:80), or a range (:22-6000).

Scheme Port? Command
nmap range
nmap $host[ -p $ports]
cert range
nmap --script ssl-cert $host[ -p $ports]
ciph range
nmap --script ssl-enum-ciphers $host[ -p $ports]
sshciph range
ssh-audit -n[p $ports] $host
head single
curl -skLI $host[:$port]
trace no
traceroute $host
geoip no
geoiplookup $host
type is text
data matches '([^ ]+)://([a-zA-Z0-9_@\-]+([.][a-zA-Z0-9_@\-]+)*)/?(:?([0-9]+(-[0-9]+)?)?)'  
plumb start rc -c 'furi '$1' '$2' '$5


Source (625 bytes; rc)
Usage: alink name cmd

alink spawns a new row 'name', and executes 'cmd' in it. Windows are marked clean and scrolled up once 'cmd' exits.


Source (1.4KiB; rc, jq, curl)
Usage: cve cvenum

cve accepts plumbed CVE numbers; it spawns a new row with details and references pulled from

type is text  
data matches '(CVE-[0-9]+-[0-9]+)'  
plumb start rc -c 'alink '$1' cve '$1' >[2=1]'