Projects
THE SOFTWARE IN THIS PAGE JUST WERKS ON MY MACHINE

Sap - Minimal AUR helper
Ytlol - YouTube player
Tpbs - PirateBay scrapper
Lyry - Genius Lyrics fetcher
Memer - Meme Maker using ImageMagick
Pacmano - Pacman package organizer

sap

Shellscript AUR helper
Requires git


Aureate - Similar project written in C

Manual

Usage: sap [arguments] <package>

Arguments:
sync Sync package
search Search for packages, prints top 250 results for query
customsync Sync package after customizing PKBUILD

Examples

Install a package

Install the 'quakespasm' package.

sap sync quakespasm


Look for packages

List AUR results for the query 'quake'.

sap search quake


Install a package and modify its PKGBUILD

Install the 'gzdoom' package after opening its PKGBUILD on the user's default editor ($EDITOR variable or xdg-open if variable is not set), allowing the user to modify the PKGBUILD if necessary, for instance, to remove a broken dependency.

sap customsync gzdoom


TODO
Patch notes

7/21/25 v1.2

v1.1


Install:

curl https://sor.neocities.org/projects/sap.txt -o /usr/local/bin/sap
chmod +x /usr/local/bin/sap


ytlol

Shellscript youtube player/client
Requires mpv, yt-dlp, & fzf (for -f)


Advantages over ytfzf:


yt - Similar project written in Bash

Manual

Usage: ytlol [options] <query>

Options:
None Play top result as audio (default)
-v Play as video and save position on quit
-f Search & pick result
-n Number of pages to query, compliment to -f
-s Skip title/link message (not faster)
-u Update Invidious instance used for searches
-e Disable search query encoding
-p Custom player command. If the word 'URL' is included, it will be replaced with the video URL (e.g., -p 'mpv --pause $(yt-dlp --get-thumbnail URL)').
If 'URL' is not included, the video URL will be appended at the end of the command (e.g., -p 'mpv --fs' or -p xdg-open).

Examples

Listen to the top result

Play the first result for the query 'Oxygène' as audio on mpv.

ytlol oxygène


Watch the top result as video

Watch the first result for the query 'Big Buck Bunny' on mpv, while also saving progress on quit.

ytlol -v big buck bunny


Listen to selected result

Play selected result for the query 'Tchaikovsky' as audio on mpv. The selection is done on fzf.

ytlol -f tchaikovsky


Open top result on LibreWolf

Open the top result link for the query 'Luke Smith' on the LibreWolf browser.

ytlol -p librewolf luke smith


Stare at top result's thumbnail

Open the top result's thumbnail on mpv. Capitalized URL is replaced with the top result's link.

ytlol -p 'mpv --pause $(yt-dlp --get-thumbnail URL)' landscape


Download a song with metadata (Experimental)

Use yt-dlp to download a song with its metadata including thumbnail as cover art, uploader as artist, upload date, description, and album tag.

ytlol -p 'filename="$(yt-dlp --get-title URL)"; artist="$(yt-dlp --print "%(uploader)s" URL)"; yt-dlp URL -x --audio-format mp3 -o "$filename.%(ext)s"; curl -L "$(yt-dlp --get-thumbnail URL)" -o thumb.webp; ffmpeg -y -i thumb.webp -vf "crop=710:710:(iw-710)/2:(ih-710)/2" thumb.jpg; lame --ti thumb.jpg --tt "$filename" --ta "$artist" "$filename.mp3" temp.mp3; mv temp.mp3 "$filename.mp3"; rm thumb.jpg thumb.webp' txtsi kiss me


Download a song with even more metadata (Experimental)

Use yt-dlp to download a song with its metadata including thumbnail as cover art, uploader as artist, upload date, description, and album tag.

ytlol -p 'filename="$(yt-dlp --get-title URL)" && yt-dlp --extract-audio --audio-format mp3 --add-metadata --embed-metadata "URL" -x -o "$filename.%(ext)s" && curl -L "$(yt-dlp --get-thumbnail "URL")" -o thumb.webp && ffmpeg -i thumb.webp -vf "crop=710:710:(iw-710)/2:(ih-710)/2" thumb.jpg && ffmpeg -i "$filename.mp3" -i thumb.jpg -map 0 -map 1 -c copy -id3v2_version 3 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (front)" "temp.mp3" && mv "temp.mp3" "$filename.mp3" && rm thumb.webp thumb.jpg' kmfdm son of a gun


TODO
Patch notes

v1.5.1

v1.5

v1.4

v1.3

v1.2

v1.1


Install:

curl https://sor.neocities.org/projects/ytlol.txt -o /usr/local/bin/ytlol
chmod +x /usr/local/bin/ytlol


tpbs

Shellscript PirateBay scrapper
Requires fzf (except for -f)


Manual

Usage: tpbs [options] <query>

Options:
None Select from top 30 results on fzf
-f Feeling lucky, retrives top first result
-u Update TPB mirror by looking for a healthy mirror
-n <number> Number of pages to query, 30 results/page (e.g., -n 3 = 90 results, 3 pages)

Categories: Only show results from selected categories
None All categories
-a Audio
-v Video
-p Applications/Programs
-g Games
-o Other

Examples

Select from top results

Select from results for the query "linux mint". (Downloading from the official site is recommended.)

tpbs linux mint


Retrive first result

Get the page for the TempleOS torrent.

tpbs -f templeos


Select from top results from the video category, including results from page 2

Select from the 60 top results for the query "movie" in the video category.

tpbs -n 2 -v movie


TODO
Patch notes

7/15/25 v1.0 Initial release


Install:

curl https://sor.neocities.org/projects/tpbs.txt -o /usr/local/bin/tpbs
chmod +x /usr/local/bin/tpbs


lyry

Shellscript Genius Lyrics fetcher
Requires fzf (for -f)


Manual

Usage: lyry [options] <query>

Options:
None Retrive top first result
-f Select from results
-i Retrieves song title, album, and link
-u Update frontend instance by looking for a healthy instance
-n <number> Number of pages to query, 10 results/page (e.g., -n 3 = 30 results, 3 pages)

Examples

Just the lyrics

Get the lyrics for the song "Voodoo People" by The Prodigy.

lyry voodoo people


Data + lyrics

Get the lyrics of, and print information (title, artist, album (in this case a compilation the track was included), and link) about the song "The Trooper" by Iron Maiden.

lyry -i the trooper


Just lyrics, but select results

Get the lyrics of a selected song out of the results of the query "Sabaton".

lyry -f sabaton


Data, lyrics, select results, including results from page 2

Get the lyrics and info of a selected song out of the first 20 results of the query "The Cure".

lyry -fi -n 2 the cure


TODO
Patch notes

7/22/25 v1.1.1

7/21/25 v1.1

7/15/25 v1.0 Initial release


Install:

curl https://sor.neocities.org/projects/lyry.txt -o /usr/local/bin/lyry
chmod +x /usr/local/bin/lyry


memer

Shellscript meme maker using imagemagick
Requires imagemagick and impact font installed


Manual

Usage: memer [options] input_image top_text bottom_text output_image

Options:
--auto-resize Automatically resize text to fit image width.
--auto-break Automatically break long lines of text to fit image width.
-f <size> Font size for the text.
-ft <size> Font size for top text.
-fb <size> Font size for bottom text.
-s <size> Stroke width for the text.
-st <size> Stroke width for top text.
-sb <size> Stroke width for bottom text.
-fc <color> Fill color for the text.
-fct <color> Fill color for the top text.
-fcb <color> Fill color for the bottom text.
-sc <color> Outline color for the text.
-sct <color> Outline color for top text.
-scb <color> Outline color for bottom text.

Arguments:
input_image Path to input image.
top_text Text to be placed at the top of the image.
bottom_text Text to be placed at the bottom of the image.
output_image Path to output image. Defaults to "output.jpg" if not provided.

Examples

Normal meme

Make a meme with regular colors.

memer --auto-resize image.png "TOP TEXT" "BOTTOM TEXT"


Greentext meme

Make a meme with meme arrows on top and regular text on the bottom.

memer --auto-resize -fct green image.png ">muh top text" "BOTTOM TEXT"


TODO
Patch notes

v1.2

v1.1


Install:

curl https://sor.neocities.org/projects/memer.txt -o /usr/local/bin/memer
chmod +x /usr/local/bin/memer
mkdir /usr/share/fonts/impact
curl https://sor.neocities.org/projects/impact.ttf -o /usr/share/fonts/impact/impact.ttf


pacmano

Shellscript pacman package organizer/logger


Manual

Usage: pacmano <option>

Options:
save Saves a list of your current packages to .cache/pacmano
return Compare your current list to an older one and remove newly installed packages
customreturn Same as above but you can edit the package removal list
list Prints out the list of lists

Examples

Make checkpoint

Save list of packages currently installed to ~/.cache/pacmano. Just like muh vidyagaems checkpoints amirite.

pacmano save


Check available "saves"

List previously saved "checkpoints" at ~/.cache/pacmano.

pacmano list


Use checkpoint

Save current state and return to determined checkpoint.

pacmano return ~/.cache/pacmano/753


Modify and use checkpoint

Same as above, but while also editing selected checkpoint with default editor, ($EDITOR variable or xdg-open if variable is not set) allowing users to erase programs they don't want to remove from the deletion list.

pacmano customreturn ~/.cache/pacmano/825


Patch notes

v1.1


Install:

curl https://sor.neocities.org/projects/pacmano.txt -o /usr/local/bin/pacmano
chmod +x /usr/local/bin/pacmano



Burzum