HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
zzo38
scorpion
C2024–2025
zzo38 / scorpion

scorpion

Scorpion Protocol/File-Format

2Distinct people
8Mentions
0Explicit recommenders
25GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Scorpion Protocol/File-Format

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by month8 dated mentions

Observed mentions: 2024-01-05 19:45:24 UTC to 2025-06-30 02:15:02 UTC.

0122024-01-01 00:00:00 UTC to 2024-02-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 commentsJan 20242024-02-01 00:00:00 UTC to 2024-03-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2024-03-01 00:00:00 UTC to 2024-04-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-04-01 00:00:00 UTC to 2024-05-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-05-01 00:00:00 UTC to 2024-06-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-06-01 00:00:00 UTC to 2024-07-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-07-01 00:00:00 UTC to 2024-08-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-08-01 00:00:00 UTC to 2024-09-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2024-09-01 00:00:00 UTC to 2024-10-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsSep 20242024-10-01 00:00:00 UTC to 2024-11-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-11-01 00:00:00 UTC to 2024-12-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-01 00:00:00 UTC to 2025-02-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-01 00:00:00 UTC to 2025-03-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-03-01 00:00:00 UTC to 2025-04-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-04-01 00:00:00 UTC to 2025-05-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-05-01 00:00:00 UTC to 2025-06-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-06-01 00:00:00 UTC to 2025-07-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsJun 2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jan 20242024-01-01 00:00:00 UTC2024-02-01 00:00:00 UTC211
Feb 20242024-02-01 00:00:00 UTC2024-03-01 00:00:00 UTC202
Mar 20242024-03-01 00:00:00 UTC2024-04-01 00:00:00 UTC000
Apr 20242024-04-01 00:00:00 UTC2024-05-01 00:00:00 UTC000
May 20242024-05-01 00:00:00 UTC2024-06-01 00:00:00 UTC000
Jun 20242024-06-01 00:00:00 UTC2024-07-01 00:00:00 UTC000
Jul 20242024-07-01 00:00:00 UTC2024-08-01 00:00:00 UTC000
Aug 20242024-08-01 00:00:00 UTC2024-09-01 00:00:00 UTC202
Sep 20242024-09-01 00:00:00 UTC2024-10-01 00:00:00 UTC000
Oct 20242024-10-01 00:00:00 UTC2024-11-01 00:00:00 UTC000
Nov 20242024-11-01 00:00:00 UTC2024-12-01 00:00:00 UTC000
Dec 20242024-12-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
Jan 20252025-01-01 00:00:00 UTC2025-02-01 00:00:00 UTC000
Feb 20252025-02-01 00:00:00 UTC2025-03-01 00:00:00 UTC000
Mar 20252025-03-01 00:00:00 UTC2025-04-01 00:00:00 UTC000
Apr 20252025-04-01 00:00:00 UTC2025-05-01 00:00:00 UTC000
May 20252025-05-01 00:00:00 UTC2025-06-01 00:00:00 UTC101
Jun 20252025-06-01 00:00:00 UTC2025-07-01 00:00:00 UTC101

What Hacker News says

8 sources
Scorpion protocol/file-format This project actually has several pieces some of which are usable independent from each other. Some parts are written in C, but some parts are specifications which are independent of the programming language that is used for implementation. https://github.com/zzo38/scorpion Some things that help would be possible with, includes (but is not necessarily limited to): - Support TLS in scorpiond. - Better support for TLS in astroget. - Support HTTP POST and HTTP PUT in astroget. - Additional protocols in astroget. - Bug reports for these programs (and patches to fix them if you have them). - Suggestions relating to the specification (including if any part is unclear). - The improved TLS library interface (see the "tlslib" directory). OpenSSL is confusing, and having a better API would be helpful. (Many things are
Read the rest
I cannot figure out how to work with OpenSSL) - Fonts for other TRON planes. You may also use IRC or my NNTP server for communication (e.g. in case you do not have a account on GitHub).
In Ask HN: Which Free Software or Open Source Project Needs Help?
> Unfortunately, there are very few good, open source/free ASN.1 (de)serializers out there. I wrote a library to read/write DER, which I have found suitable for my uses. (Although, I might change or add some things later, and possibly also some things might be removed too if I think they are unnecessary or cause problems.) https://github.com/zzo38/scorpion/blob/trunk/asn1/asn1.c https://github.com/zzo38/scorpion/blob/trunk/asn1/asn1.h (You can complain about it if there is something that you don't like.) > In theory you could use ASN.1 DER files the same way you would JSON for human-readable formats. In practice, you're better off picking a different format. I do use ASN.1 DER for some things, because, in my opinion it is (generally) better than JSON, XML, etc. > Modern evolutions of ASN.1 like ProtoBuf or Cap'n Proto designed for transmi
Read the rest
tting data across the network might fit this purpose pretty well, too. I have found them to be unsuitable, with many problems, and that ASN.1 does them better in my experience. > On the other hand, using ASN.1 may be a good way to make people trying to reverse engineer your format give up in despair, especially if you start using the quirks ASN.1 DER comes with and change the identifiers. I am not so sure of this.
In On File Formats
> I suppose I was thinking that if JSON (or any other basic format) was specified in and out from companies, etc; a client-side browser replacement could be about anything. Yes, and I think that such a thing (whether or not it uses JSON) is helpful. However, there would then also be something to specify display of such files (which the user can easily override with their own). > You need a way to put info on a screen and a way to talk over the network. That's pretty much the core. Not hard to add some flavor of storage and/or scripting client-side. Yes, and there are ways to do it. I think that uxn/varvara is a simple way to do it (especially if you only need one network connection at a time, since it can be connected to the standard I/O; you can disable the file device for security if desired), and is what the Scorpion conversion file sp
Read the rest
ecifies (although the conversion file is flexible and can be used to specify other things too, such as server-side conversion). It doesn't need to be mandatory for clients to implement all (or any) of the features. But, if some features are implemented and the user is not required to use those provided by the server, and can also provide their own (the specification for the conversion file Scorpion protocol, requires this), then it can be less of a problem. (The use (and presence) of the conversion file itself is deliberately made optional, though.) > a browser doesn't have to insanely complex. Certainly it shouldn't have to be insanely complex, if it is better designed. > Curious what you think those problems [about JSON] are. Criticisms of the data model: - Not a proper integer type. Although you can write 64-bit (and longer) integers, the corresponding type JavaScript is 64-bit floating point, and long integers are unlikely to work even in implementations that do not use JavaScript. (JavaScript does have a big integer type but these are not used in JSON.) - Unicode string types. The use of Unicode string types in programming languages and general-purpose file formats isn't very good. It can be inefficient and can make assumptions that are not always valid such as that all data is text and that all text is Unicode and that all file names are Unicode, and then there is the handling of surrogates, etc. Byte strings are better; you can still store Unicode text with byte strings, but also any other data. (Using hex or base64 to the data model just adds additional steps; although such features could be appropriate for the text-based syntax of the file format.) - Keys. They are influenced by the way keys are handled in JavaScript, which sometimes has some special cases that are not as clean as they could be. (In JavaScript you can use Object.create(null) to avoid the automatic handling of the keys that are inherited from Object.prototype, but this does not apply to the literal object syntax.) (I think keys should be integers and byte strings; JSON only allows Unicode strings, and JavaScript does not distinguish between numbers and strings as keys.) Criticisms of the syntax: - No optional trailing commas (even though JavaScript allows it). - No comments (even though JavaScript allows it). The things mentioned in the syntax are not applicable for binary formats (although different considerations may be relevant), although can be relevant if you want a text format as well. (One possible alternative would be a subset of PostScript, rather than a subset of JavaScript. PostScript already has a binary format as well as a text format (although the binary format cannot use numbers longer than 32-bit integers and 32-bit floating point; and limits strings to 64K; these limits might be too small for some applications), has byte strings, has a hex syntax for byte strings, and does not use commas between items.) > Cool, I'll go take a look for it. There is a GitHub repository of Scorpion protocol/file-format specification (and some programs) at: https://github.com/zzo38/scorpion The specification file can also be accessed by Scorpion protocol itself, at: scorpion://zzo38computer.org/specification.txt
In The Spartan Protocol Homepage
It is available by GitHub: https://github.com/zzo38/scorpion It is also available by Fossil: http://zzo38computer.org/fossil/scorpion.ui/dir?ci=tip It is also available by the Scorpion protocol itself at: scorpion://zzo38computer.org/specification.txt (Since you cannot read it without reading it to understand it first, here is a simple explanation: Use port 1517. Send R and then a space and then the full URL and then carriage return and line feed. Discard the first line of the result. Of course the specification is not actually that simple, but that is good enough to merely access one file.) (I would like to know other people's comment of it if you have any)
In Show HN: Molerat – Small Web Protocol
A GitHub repository is at: https://github.com/zzo38/scorpion The newest version of the specification document is also accessible by the Scorpion protocol itself (currently TLS is not implemented on the server side): scorpion://zzo38computer.org/specification.txt (Some of the other things other people have done are: Gemini, Spartan, and some others. Some of them (e.g. HYDIN, TerseNet) are not defined enough at this time, so it would be difficult to use them.) There are also other existing protocols, e.g. NNTP and IRC for communication between users, and Gopher for files and menus with hypertext.) Of course, different people have different ideas, and different goals and criticisms (I have some of my own criticisms too, but many other people have other criticisms of Gemini and these other protocols/file-formats, some of which may be found on
Read the rest
Hacker News). You are free to make criticisms of Scorpion (including if any part of the document is unclear, or if you think some part is good or is not good), too. Actually, the repository there also does include a few other things; the "astroget" program (similar than curl) implements Scorpion protocol and also implements Gemini, Gopher, Spartan, NNTP, and HTTP (deliberately not implementing cookies and many other features of HTTP; if you need those features then you can use curl instead, anyways).
In The web just gets better with Interop 2024

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.