The following is an excerpt from
https://codeberg.org/giXzkGsc/Minus-Protocol/raw/branch/main/README.md
Minus Protocol Project
What is Minus?
The name Minus was inspired by Gopher. Gopher Plus added features to Gopher, but I wanted to subtract features. I wanted a Gopher Minus. I shortened this to Minus.
Minus is about as simple, secure, and privacy-respecting as a file service can possibly be.
A Minus client sends one line of plain text to the server that specifies the file desired, and the Minus server either sends back the file or an error message in UTF-8 text. There is nothing like request and response headers and nothing like cookies. The server software doesn't identify itself to the client, and the client does not identify itself to the server. The client opens the TCP connection, and the server closes it. No other communication is allowed between client and server.
The Minus analog of a Web Site, Gopher Hole, or Gemini Capsule is the Minus Library. Minus Libraries are a way to make media available to be perused. As with public libraries, users are not required to identify themselves before they are allowed to peruse media. Minus does not prevent inpersonation; it prevents identification in order to protect privacy.
When a Minus client creates or alters a file on the device it runs on, it does so only when the user explicitly causes it to. The server can not store any information on the client in any way, except when the client fetches a file from the server. Similarly, the client can not cause any information to be stored on the server by any means. The server can keep a request log, but is not required to. Because Tor is always used, this log can not include the IP addresses of clients.
The files served can be of any type, but only .minus
, .txt
, .text
, and .asc
files will be displayed by the client without first being saved to mass storage.
All Minus servers that serve files over the Internet are required to run as Tor Onion Services. Minus clients should have Tor built in the way that Tor Browser does. Tor provides transport security and allows Minus to work without certificate authorities or domain registrars. It also prevents clients and servers from learning each other's IP addresses.
Minus (.minus
) files are UTF-8 text. Markings similar to Markdown are allowed but not required. Clients are allowed to ignore markings, but they are meant to indicate parts of the file and the language (e.g., French) of the file. How text is displayed by the client is controlled by the client and its user. The intention is to take power away from the author and give it to the reader.
Markings are not allowed to be hidden from the user. Nothing in the file is allowed to be hidden from the user.
Minus files can contain hyperlinks to other files. Any URL alone on a line is automatically a link. There are no "inline" links, and no relative links to files on the Internet.
Minus defines its own MIME type, like HTTP's text/html
. This is text/minus
, and the file name suffix is .minus
.
Minus URLs are of the form minus://domain.onion/something.minus
. There is no optional authority component, nor are there any optional query or fragment components. The browser sends the part of the URL after the .onion
to the server to specify the desired file.
#internet #protocol #tcp #hypertext #http #gopher #minus #minus-protocol #browser #minusbrowser #minus-browser #server #minus-server