neocities.org
|
smarks (Smart Marks) is a python script that takes a text file (demo.txt) and creates a single portable html page with bookmarks, tags and search (demo.html).
The script is useful for creating a page for general (private) bookmarks, bookmarks focusing on a specific topic (linux apps, for example), shareable online bookmark pages (with RSS) and even a local intranet of links (file:/// supported).
Author's Note: I recently added a configuration section to automate the balancing of left/right tag columns. The same section also includes instructions for personalizing the final output. I found the manual edits straightforward enough that I didn't see a need to automate them.
Help: Doc & Help Demo: demo.html Script: smarks.py
Compatibility: Linux (tested), macOS, *BSD, Windows
License: Blue Oak Model License↗ Status: New 25 Aug 2026
|
|
Static Blog Generator is an in-house script that converts individual HTML files into a full blog with RSS support. Written for neocities.org specifically but will work on any web host since all it produces are a few static pages.
Author's Note: I've been using this on my own blog page since 19 April 2026 with no issues either on this site or on two online RSS readers I use regularly. I will update this statement if I encounter any issues.
Right-click & save the 3 files below: doc, template and script.
Help: Documentation Template: template.html Script: blog.py
Compatibility: Linux, macOS, *BSD, Windows License: Blue Oak Model
- Status: New 11 May 2026
- Status: Updated 13 May 2026: Documentation only
- Status: Updated 31 May 2026: template.html only (recommended)
|
Finger Protocol
|
nf (netfinger) is a netcat-based finger client. Features include support for the two major finger formats: user@domain.com and finger://domain.com/user.
Additional features include HTML/Markdown renderers, smart wrapping, blocklists, custom shortcuts, ANSI Art viewer, classic 7-bit mode and more.
This 13 August 2026 update adds classic mode, width variable, a much improved configuration section, improved help, significant code restructuring for better usability.
License: Blue Oak Model License↗ Screenshot: Help Script: nf.txt
Compatibility: Linux, macOS and *BSD Status: Updated 13 Aug 2026
f2g (finger2gopher, released 20jan2026) is a simple script that supports gopher via finger using the lynx text browser. It's here because it's a snippet of code that I may merge into nf.
Usage: f2g user@domain.com (or) f2g finger://domain.com/user
|
|
plancat uses plan.cat's↗ API to automate posting to your account via the command line. In the configuration section of the script - just enter your plan.cat username, preferred editor and optionally your password. Once the information is typed in, run "plancat". The following will occur:
- Your current .plan file will be retrieved
- You will be prompted for your password (if not set in the script)
- The .plan file will automatically load into your terminal editor
- Edit, save and exit
- On exit, the file is uploaded to your plan.cat account
- The script exits successfully (temporary files cleared)
Author's Note: It feels really cool to update my plan.cat↗ account this way.
License: Blue Oak↗ Screenshot: Help screen Script: plancat
Status: updated 22 Jul 2026 (major upgrade)
Compatibility: Linux, macOS, *BSD
|
|
fm: The Multi-Server Finger Monitor. A simple little Finger server checker. Checks 3 core servers for recent user activity in one glance. Requirement: a command-line finger client that outputs to stdout.
Author's Note: This simple little thing is probably my most used finger utility. So useful for checking in on the core servers running finger. See the screenshot below for a sample output.
License: Blue Oak License↗ Script: fm.txt Screenshot: fm.png
Compatibility: Linux and macOS Status: updated 07 Dec 2025
|
|
The Blog to Plan File Converter is an in-house, lightweight app that converts HTML-based blog posts into an equivalent looking plain text .plan file with a 72-character width limit (default; user configurable). Essentially an HTML to Text Converter with extras.
Features: Smart HTML stripping, link citation, relative link handling, configuration options (base URL, line wrapping, footer), 80-Column preview window, single standalone htmlApp. Long URLs are handled manually.
License: Blue Oak↗ htmlApp: Blog.to.Plan App
Compatibility: All Paltforms Status: new 15 Jun 2026
|
|
nview is a Bash wrapper that captures finger client output and displays it in NFO Viewer↗. Features include a CLIENT_NAME variable (currently set to 'finger'), automated temporary file cleanup and a user-friendly help section.
Author's Note: I enjoy reading .plan files with terminal-based clients but I go through phases where I route everything through 'NFO Viewer'. Requires both NFO Viewer and this script. The "install" is simple. The rewards...? see the screenshots below.
License: Blue Oak↗ Screenshots: Light, Dark Script: nview.txt
Compatibility: Linux and macOS Status: updated 10 Jun 2026
|
|
point may be the world's smallest dependency-free finger client at 61 characters (62 bytes; 61 characters plus \n). Uses Bash's built-in /dev/tcp (TCP sockets) plus printf and cat. Save the single line in a file (shebang line not needed) if Bash is your default shell.
exec 3<>/dev/tcp/${1#*@}/79;printf '%s\r\n' ${1%@*}>&3;cat<&3
Usage: point echo@plan.cat (bash is default)
bash point user@host (bash not default)
Features: Tiny size :-) Supports 7 & 8-bit
Limits: alphanumeric user/host input (no special characters)
Requires: Bash with /dev/tcp support
Inline expansion was the key to a smaller size:
${1#*@} : Remove the left side of $1, including "@"
${1%@*} : Remove the right side of $1, including "@"
Use this for a safer version allowing for special characters (65 characters)
exec 3<>"/dev/tcp/${1#*@}/79";printf '%s\r\n' "${1%@*}">&3;cat<&3
Smaller Versions Here
npoint is smaller at 37 characters but uses netcat (3rd-party):
printf '%s\r\n' ${1%@*}|nc ${1#*@} 79
Note: 41 byte version is safer, allowing for special characters.
printf '%s\r\n' "${1%@*}"|nc "${1#*@}" 79
cpoint is even smaller at 33 bytes but uses curl:
curl gopher://${1#*@}:79/0${1%@*}
Note: 35 byte version is safer, allowing for special characters.
curl "gopher://${1#*@}:79/0${1%@*}"
License: Blue Oak License↗ Status: new 17 Jul 2026
|
|
get-news is an in-house two-line script written to render and reformat the output of a finger account that uses github actions to auto-create a news site. This script is specific to the account: "finger bot@happynetbox.com" and requires nf (netfinger) to function.
Other ways to render and make the links clickable are via lynx, nview, portal.mozz.us↗ and thebackupbox.net↗.
License: n/a
Screenshot: get-news.png script: get-news.txt
Compatibility: Linux only Status: updated 01 Dec 2025
|
Command Line
|
menu is a simple Linux-based menu template with examples. Easy to modify to suit your needs - no documentation needed. The script uses netcat and some common terminal commands (in a safe way) for testing.
License: Blue Oak↗
Screen: Main Screen script: menu.template.txt
Compatible: Linux, macOS, BSD Status: updated 19 Jul 2026
|
|
uni2asc (Unicode to 7-bit ASCII) is an in-house, sed-based script that converts specific Unicode characters to their closest 7-bit counterparts.
It is easy to add, remove or modify the current replacement pairs directly in the script.
Author's Note: uni2asc removes specific Unicode characters while retaining the Markdown syntax. For a full-featured converter that takes Markdown and converts it to both 7-bit plain ASCII (removing MD syntax) and HTML 3.2, see the Binary Markdown Killer below.
License: Blue Oak License↗
Screenshot: Help script: uni2asc.txt
Compatibility: Linux, macOS, BSD Status: updated 24 Mar 2026
|
HTML & Markdown
|
Binary Markdown Killer has one primary job: it strips out some common binary (word-processing) characters from a Markdown file while converting the entire input into 7-bit ASCII text. This is its core purpose.
An integral secondary function, is to convert the cleaned Markdown into HTML 3.2. The resulting HTML is available in its own text Area window.
The rendered 7-bit ASCII text (sans HTML tags) is available in the [Preview] tab.
License: Blue Oak License↗
htmlApp: Binary Markdown Killer
Compatibility: All platforms Status: Last update 09 Jul 2026
|
Clocks, Calendar
|
World Clocks is a simple htmlApp that displays the current time of 12 cities around the world. Adding or editing cities requires some light modification to the HTML and JavaScript - which is documented on the page itself.
Author's note: (23aug2026) This should be rewritten to add configuration on top for: (1) adding new cities easily and (2) putting the cities in the right order. I hope to get to this at some point.
License: Blue Oak↗
htmlApp: World Clocks
Status: new 28 Dec 2025
|
Spartan Protocol
sbl (Spartan Bookmark Launcher) is a simple menu that displays a numbered set of spartan sites stored within the script and uses netcat to retrieve them; gmir or less to display them.
License: Blue Oak License↗ Screenshot: Main Script: sbl.txt
Compatibility: Linux, macOS, *BSD Status: new 24 Jul 2026
|
ASCII, ANSI
|
An in-house ASCII Template that I use on my .plan files. I have fun adding a little ASCII flair to finger updates. This htmlApp works similarly to cowsay↗ and boxes↗ (but uses only a single template). It takes data and inserts it into a fixed-size ASCII Template.
Author's Note: It's in-house - so... maybe it could look nicer (I think it looks perfect:-) but it gets the job done for me. I plan on adding another template/htmlApp (for example: this one is next). Others may follow after that.
Main: Template htmlApp: main.template Status: minor update 15 May 2026
|
|
ANSI Retro Tool (art) is a homemade ANSI Art viewer and CP437-to-UTF8 converter built from standard Linux tools: iconv, sed, echo -e and cat
Author's Note: ART is a basic ANSI viewer. Some files may not display correctly. It was created specifically to automate posting ANSI art to finger accounts and to make files Linux-terminal compatible.
Additional notes, background and demo at this ANSI Art page
License: Blue Oak↗ Sample: Spock Help: Screenshot Script: art.txt
Compatibility: Linux only Status: update 04 Mar 2026
|
Fun
|
bike-demo is both a demo and a template for creating simple ASCII-based animations. Its purpose is to make frame-by-frame animation editing as visually friendly as possible - just add your own frames and adjust sleep values.
Author's Note: I wanted a terminal-based storytelling format and tried several methods. This approach seemed best suited for the short-form storytelling and other little projects I had in mind with everything in a single file.
License: Blue Oak↗ Script: bike-demo.txt Status: new 27 Jun 2026
Compatibility: Linux, macOS, *BSD
|
|
Happy New Year bash script. Fun little animation to bring in the new year. Safe to run, just a bunch of text sent to stdout with a few delays.
License: Blue Oak↗ Script: Happy New Year Status: new 30 Dec 2025
Compatibility: Linux, macOS, *BSD
|
|
The Random Dog Facts page is a fully working minimalist template that uses arrays to display facts randomly.
This is a rewrite of a previous htmlApp that relied on an external API and a CORS proxy. Issues along the pipeline forced me to create a standalone, self-reliant version.
Note: The dog facts included were generated by AI and therefore... slop-ridden. I am looking for a permissively licensed, verified data set to replace them - so that I don't have to independently verify 100 factoids;-)
License: Blue Oak↗ Page: Dog Facts Status: updated 15 May 2026
|
|
quotes is a lightweight cross-platform Python-based random quote generator. Both the script (quotes) and a quotes file (quotes.txt) are needed.
License: Blue Oak License↗
File: Quotes File
Script: quotes.py.txt
Compatibility: Linux, macOS and Windows Status: updated 15 May 2026, Quotes File (quotes.txt) only
|
|
txt2bin is a script that takes a text file and converts it into a self-displaying, portable binary. It uses musl-gcc to create a smaller-sized binary. Great for short text and ASCII Art.
The 12 Aug 2026 update brings useful size optimization to the final binary, reducing it from ~16KB to ~5KB.
Author's Note: This is a fun program that was created as a prop to the short story: The Council of Linux Greybeards. Its existence in the real world feels like fourth wall stuff. Details are here.
License: Blue Oak License↗ Help: Help Script: txt2bin.txt
Status: new 12 Aug 2026 Compatibility: Linux
|
|
lotto is a python script that generates a unique set of random numbers within a given range - making it a solid basic lottery number generator for various games.
License: Blue Oak License↗ Screenshot: Help (png) Script: lotto.txt
Compatibility: Linux, macOS, *BSD Status: new 26 Jun 2026
|
Privacy & Security
|
Scream into the Void is a privacy-friendly alternative to HBO's data-slurping web page of the same name. Sometimes you need the cathartic release of primal expression - where the id and ego collide in a place that can contain the explosion. This portable htmlApp is such a place.
License: Blue Oak↗
htmlApp: Scream into the Void
Compatibility: All Status: new 12 Dec 2025
|
|
cypher is a fun text transformation utility supporting ROT13/18/47, reverse, binary and your own custom alphanumeric substitution cipher.
Help: Help Section Help: Custom Cipher Map Script: cypher.txt
License: Blue Oak Model 1.0.0↗
Compatibility: Linux, macOS, *BSD, Windows Status: new 11 Aug 2026
|
Templates
|
The Monospace is a minimalist CSS template featuring a large monospace font, styled tables/code/links, ASCII art support and responsive media (images scale, tables scroll on mobile).
CSS: Lightweight and browser-friendly. See the demo below. 39 total declarations: 10 CSS 3 and 29 that are CSS 2.1 or less.
License: The Unlicense↗ Template: The Monospace Status: new 07 Jun 2026
|
|
The Fieldset is a minimalist CSS template featuring the fieldset tag as the core element for styling a web page.
License: The Unlicense↗ Template: The Fieldset Status: new 10 Jun 2026
|
Unsorted
|
codepage437 is a UTF-8 friendly version of the original code page for DOS. Includes conversion information (linux) to make it compatible with code pages used on other operating systems.
Author's Note: I didn't know where to put this and this page seemed like the current best fit.
License: CC0: No Rights Reserved↗ Page: cpage437
|
3rd-party Wares / Forks
|
Rot Converter is a well-done third-party online converter for ROT5, ROT13, ROT18 and ROT47. This htmlApp was created in 2006 and I downloaded it at some point after that. I've had it on my various computers ever since.
I thought about adding additional simple ciphers but decided this htmlApp is perfect as is. Certainly digging the UI. Listing it here because it's fun to have at the ready.
License: GNU GPLv2↗
Author: Netzreport
htmlApp: ROT Converter
Related: https://rot13.com ↗ (ROT1-ROT25. Nice! Added 13aug2026)
Compatibility: All platforms Status: listed 10 Jul 2026
|
|
[Fork]: Text Calendar is a really nice looking (mostly ASCII) 12-month calendar. It was not created by me. It's from Anastasios Gogos↗. I made only two tweaks: (1) the weeks now run from Sun-Sat and (2) edited the footer.
Update: Tweak #3 brings a 100% 7-bit ASCII version without the Unicode line characters (U+2500 and U+2501).
License: MIT↗
Author: github↗
htmlApp : Text Calendar (w/unicode)
Compatibility: All platforms Status: new 05 Oct 2025
|
|