2021-12-25 18:33:33 +00:00
|
|
|
[![Superhighway84](superhighway84.jpeg)](superhighway84.png)
|
2021-12-26 16:29:26 +00:00
|
|
|
|
2021-12-26 16:35:37 +00:00
|
|
|
```
|
2021-12-26 16:27:15 +00:00
|
|
|
===============================================================================
|
|
|
|
INTERACTIVE ASYNC / FULL DUPLEX
|
|
|
|
===============================================================================
|
2021-12-24 18:44:59 +00:00
|
|
|
|
2021-12-26 16:27:15 +00:00
|
|
|
Dial Up To 19.2 Kbps
|
|
|
|
|
|
|
|
with
|
2021-12-25 16:19:41 +00:00
|
|
|
|
2021-12-26 16:27:15 +00:00
|
|
|
_ _ _ __ ____ __ _ __ ___ ____
|
|
|
|
/ / / // / __/_ _____ ___ ____/ / (_)__ _/ / _ _____ ___ __( _ )/ / /
|
|
|
|
_\ _\_\_\\_\ \/ // / _ \/ -_) __/ _ \/ / _ \/ _ \ |/|/ / _ \/ // / _ /_ _/
|
|
|
|
/ / / // /___/\_,_/ .__/\__/_/ /_//_/_/\_, /_//_/__,__/\_,_/\_, /\___/ /_/
|
|
|
|
/_/ /___/ /___/
|
|
|
|
|
|
|
|
|
2021-12-26 16:50:58 +00:00
|
|
|
::: USENET-INSPIRED DECENTRALIZED INTERNET DISCUSSION SYSTEM :::
|
2021-12-26 16:27:15 +00:00
|
|
|
|
|
|
|
|
|
|
|
The V.H.S. (Very High Speed) Superhighway84 platform is more than just the
|
2022-01-03 04:16:09 +00:00
|
|
|
fastest decentralized, USENET-inspired communications platform available. It is
|
2021-12-26 16:27:15 +00:00
|
|
|
also the first one to be based on the latest IPFS technology available today!
|
|
|
|
|
|
|
|
Superhighway84 offers the most spectacular features under the Spectrum.
|
|
|
|
|
|
|
|
100% Error Protection
|
|
|
|
Data and Character Compression
|
|
|
|
Alternate Bell Compatible Mode
|
|
|
|
Long Haul Satellite Operation
|
|
|
|
Network Diagnostics
|
|
|
|
Fallback Mode
|
|
|
|
And More!
|
2021-12-26 16:50:58 +00:00
|
|
|
|
|
|
|
|
|
|
|
The Superhighway84 modern decentralized internet discussion system.
|
|
|
|
It should cost a lot more than $0.
|
|
|
|
|
|
|
|
|
2021-12-26 17:24:57 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
![Screenshot](screenshot01.png)
|
2021-12-26 16:50:58 +00:00
|
|
|
|
2021-12-26 17:24:57 +00:00
|
|
|
```
|
2021-12-26 16:50:58 +00:00
|
|
|
|
|
|
|
INSTALLATION
|
|
|
|
------------
|
|
|
|
|
|
|
|
Clone this repository and run:
|
|
|
|
|
|
|
|
$ go build .
|
|
|
|
|
|
|
|
The binary will be available at ./superhighway84 and can be moved wherever you
|
|
|
|
please.
|
|
|
|
|
2021-12-27 01:30:58 +00:00
|
|
|
If you don't have IPFS installed already, make sure to do so in order to be able
|
|
|
|
to initialize your IPFS repository:
|
|
|
|
|
|
|
|
https://docs.ipfs.io/install/command-line/
|
|
|
|
|
|
|
|
The IPFS repository can be initialized using the following command:
|
|
|
|
|
|
|
|
$ ipfs init
|
|
|
|
|
2021-12-26 16:50:58 +00:00
|
|
|
|
|
|
|
|
|
|
|
RUNNING
|
|
|
|
-------
|
|
|
|
|
2021-12-28 17:57:25 +00:00
|
|
|
First, check ulimit -n and verify that it's at a reasonable amount. IPFS
|
|
|
|
requires it to be large enough (>= 2048) in order to work properly over time.
|
|
|
|
|
2021-12-29 20:23:05 +00:00
|
|
|
Second, if your hardware shouldn't be a beefy computer but instead one of
|
|
|
|
those flimsy MacBooks, older hardware, a Raspberry or a low-memory VPS it is
|
|
|
|
advisable to set the previously created IPFS repository to the `lowpower`
|
|
|
|
profile.
|
|
|
|
|
|
|
|
$ ipfs config profile apply lowpower
|
|
|
|
|
|
|
|
This should help with CPU usage, file descriptors and the amount of network
|
|
|
|
connections. While during the startup period you might still see peers peaking
|
|
|
|
between 1k and 3k, connections should ultimately settle somewhere between 100
|
|
|
|
and 300 peers.
|
|
|
|
|
2021-12-28 17:57:25 +00:00
|
|
|
Afterwards you can simply launch the binary:
|
2021-12-26 16:50:58 +00:00
|
|
|
|
|
|
|
$ ./superhighway84
|
|
|
|
|
2021-12-26 18:13:14 +00:00
|
|
|
A setup wizard will help you with initial configuration. Please make sure to
|
|
|
|
have at least HOME and EDITOR exported in your environment.
|
|
|
|
|
2021-12-27 02:16:28 +00:00
|
|
|
In case you would like to use a dedicated ipfs repository for Superhighway84,
|
|
|
|
you will have to export a different IPFS_PATH and make sure it was initialized
|
|
|
|
beforehand:
|
|
|
|
|
|
|
|
$ export IPFS_PATH=~/.ipfs-sh84
|
|
|
|
$ ipfs init
|
|
|
|
$ superhighway84
|
|
|
|
|
|
|
|
In case you're intending to run the official IPFS daemon and Superhighway84 in
|
|
|
|
parallel, be sure to adjust the ports in their respective IPFS repos (e.g.
|
|
|
|
~/.ipfs and ~/.ipfs-sh84) so that they won't utilize the same port numbers.
|
|
|
|
The ports 4001, 5001 and 8080 are relevant and should be adjusted to something
|
|
|
|
other for every new repo/IPFS node that will run in parallel, e.g.:
|
|
|
|
|
|
|
|
"Addresses": {
|
|
|
|
"Swarm": [
|
|
|
|
"/ip4/0.0.0.0/tcp/4002",
|
|
|
|
"/ip6/::/tcp/4002",
|
|
|
|
"/ip4/0.0.0.0/udp/4002/quic",
|
|
|
|
"/ip6/::/udp/4002/quic"
|
|
|
|
],
|
|
|
|
"Announce": [],
|
|
|
|
"NoAnnounce": [],
|
|
|
|
"API": "/ip4/127.0.0.1/tcp/5002",
|
|
|
|
"Gateway": "/ip4/127.0.0.1/tcp/8081"
|
|
|
|
},
|
|
|
|
|
2021-12-28 17:57:25 +00:00
|
|
|
NOTE: When running Superhighway84 for the first time it might seem like it's
|
|
|
|
"hanging" at the command prompt. Usually it isn't hanging but rather searching
|
|
|
|
for peer it can connect to in order to synchronize the database. Depending on
|
|
|
|
how many people are online, this process might take _some time_, please be
|
|
|
|
patient.
|
|
|
|
|
2021-12-26 18:13:14 +00:00
|
|
|
|
|
|
|
|
|
|
|
USAGE
|
|
|
|
-----
|
|
|
|
|
2022-01-06 21:47:37 +00:00
|
|
|
The default keyboard shortcuts are:
|
2021-12-26 18:13:14 +00:00
|
|
|
|
2021-12-29 02:05:17 +00:00
|
|
|
C-r: Refresh
|
|
|
|
C-h: Focus groups list
|
|
|
|
C-l, C-k: Focus articles list
|
|
|
|
C-j: Focus preview pane
|
|
|
|
C-q: Quit
|
|
|
|
k: Move up in list
|
|
|
|
j: Move down in list
|
|
|
|
h: Move left in list
|
|
|
|
l: Move right in list
|
|
|
|
g: Move to the beginning of list/text
|
|
|
|
G: Move to the end of list/text
|
|
|
|
CR: Select item in list
|
|
|
|
n: Publish new article
|
|
|
|
r: Reply to selected article
|
2021-12-26 16:50:58 +00:00
|
|
|
|
2022-01-06 21:47:37 +00:00
|
|
|
However, you are free to customize these within your configuration file, under
|
|
|
|
the section `Shortcuts`. The structure is as following:
|
|
|
|
|
|
|
|
`<key code> = "event"`
|
|
|
|
|
|
|
|
The key codes can be looked up under the following link:
|
|
|
|
|
|
|
|
https://pkg.go.dev/github.com/gdamore/tcell/v2#Key
|
|
|
|
|
|
|
|
For simple ASCII characters use their ASCII code, e.g. `114` for the character
|
|
|
|
`r`.
|
2021-12-26 16:50:58 +00:00
|
|
|
|
|
|
|
|
|
|
|
KNOWN LIMITATIONS
|
|
|
|
-----------------
|
|
|
|
|
|
|
|
- The OrbitDB that Superhighway84 uses is a public database, meaning everyone
|
|
|
|
can alter its data. Since its using a standard _docstore_, PUT and DELETE
|
|
|
|
events can alter existing data. This issue will be solved in the future by
|
|
|
|
customizing the store to ignore these types of events.
|
|
|
|
|
|
|
|
- Probably plenty more that have yet to been found...
|
|
|
|
|
2021-12-25 16:19:41 +00:00
|
|
|
|
2021-12-26 16:53:57 +00:00
|
|
|
|
|
|
|
CREDITS
|
|
|
|
-------
|
|
|
|
|
|
|
|
- Superhighway84 name, code and graphics by mrusme
|
|
|
|
https://github.com/mrusme
|
|
|
|
|
|
|
|
- Logo backdrop by Swift
|
|
|
|
https://twitter.com/Swift_1_2/status/1114865117533888512
|
|
|
|
|
|
|
|
```
|
2021-12-24 18:44:59 +00:00
|
|
|
|