Maintaining the code of the man who wrote "How To Write Unmaintainable Code"

birdculture1 pts0 comments

GitHub - lexvalo/mini-pad-submitter-revived: Reviving Roedy Green's Mini PAD Submitter 23.6 for the modern web. Restores HTTPS, TLS/SNI compatibility and brings a forgotten Java utility back to life. · GitHub

/" data-turbo-transient="true" />

Skip to content

Search or jump to...

Search code, repositories, users, issues, pull requests...

-->

Search

Clear

Search syntax tips

Provide feedback

--><br>We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

-->

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

lexvalo

mini-pad-submitter-revived

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

master

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>4 Commits<br>4 Commits

dist

dist

patches

patches

src/com/mindprod

src/com/mindprod

LICENSE.md

LICENSE.md

README.md

README.md

View all files

Repository files navigation

Mini PAD Submitter 26.3 Revived — 2026 community fix

Roedy Green's Mini PAD Submitter is a small Java application that has existed since the late 1990s. It was built to submit PAD files (Portable Application Description — the shareware-era standard for describing Windows and Mac applications to software directories) to multiple download sites at once.

The final official release (26.3) dates from 2017.

By 2026 the program could no longer communicate with most modern websites. Not because the application itself had become obsolete, but because the web around it had changed. HTTPS became the default, SNI became essential for CDN-hosted websites, and protocol redirects exposed assumptions that had quietly survived for years.

This repository restores compatibility with today's web while preserving the original application and its behavior.

Timeline

Late 1990s — Mini PAD Submitter first appears.

2017 — Last version 26.3 becomes the final official release.

2023 — Roedy Green passes away.

2026 — This community compatibility update is published.

Why this exists

This project started almost by accident.

I was doing distribution work for RiverScript — my app that can record and transcribe system audio on Windows and Mac — and went looking for old-school desktop software directories to list it in.

That ecosystem (Softpedia, FileHorse, and many others) has existed since the 2000s and used to revolve around PAD files, which were typically submitted in bulk using tools like this one.

I found a copy of Roedy Green's Mini PAD Submitter sitting around and figured I'd try it instead of submitting to each directory by hand.

It almost worked. It refused to accept our own site's PAD URL at all — and not just ours: it rejected any modern https:// link, full stop.

What initially looked like a simple validation bug turned out to be three separate compatibility issues with the modern web. The goal wasn't to modernize the application or rewrite it—only to restore the functionality it originally had, in a world where HTTPS is now the default.

What was actually wrong

Three separate bugs, all versions of the same root cause: this code was written before HTTPS was the default, and nobody ever came back to update it.

The website-URL field mangled https://. The auto-correct logic only checked for the literal string http:// — since https://riverscript.com doesn't start with that, it got http:// prepended again, producing http://https://riverscript.com.

Even with a bare domain, it only ever built a plain http:// URL , and HttpURLConnection in Java does not automatically follow a redirect that changes protocol (http → https). Since basically everything is HTTPS-with-a-redirect now (in our case, courtesy of Cloudflare), the tool would fetch the redirect stub instead of the real page and reject it for being too short.

The real one: a static initializer in Http.java unconditionally ran System.setProperty("jsse.enableSNIExtension", "false") — disabling SNI for the entire JVM. This was presumably a workaround for some old server in 2014 that choked on it. Today, virtually every site sits behind a CDN (Cloudflare, etc.) that relies on SNI to know which certificate to present on a shared IP. With SNI off, every single HTTPS handshake to a modern site fails with SSLHandshakeException: Received fatal alert: handshake_failure. This is what actually blocked things — the first two bugs were just cosmetic on top of this...

https mini submitter http modern search

Related Articles