Updated README.md

pull/53/head
マリウス 2 years ago
parent f34d744bde
commit 66c712a9fd
No known key found for this signature in database

@ -29,7 +29,7 @@ builds:
goarch: arm64 goarch: arm64
- goos: freebsd - goos: freebsd
goarm: arm64 goarm: arm64
- goos: plan0 - goos: plan9
goarm: arm64 goarm: arm64

@ -43,79 +43,89 @@
![Screenshot](screenshot01.png) ![Screenshot](screenshot01.png)
``` Superhighway84 is an open source, terminal-based, IPFS-powered, USENET-inspired,
More info: https://xn--gckvb8fzb.com/superhighway84/ uncensorable, decentralized peer-to-peer internet discussion system with retro
aesthetics.
[More info here.](https://xn--gckvb8fzb.com/superhighway84/)
INSTALLATION
------------
## INSTALLATION
PREREQUISITES: ### PREREQUISITES:
Download the latest IPFS 12.x release from Download the [IPFS 12.x
https://github.com/ipfs/kubo/releases/tag/v0.12.2 release](https://github.com/ipfs/kubo/releases/tag/v0.12.2) and unpack it:
and unpack it:
```sh
$ tar -xzf ./go-ipfs_*.tar.gz $ tar -xzf ./go-ipfs_*.tar.gz
```
If you haven't used IPFS so far, initialize the IPFS repository using the If you haven't used IPFS so far, initialize the IPFS repository using the
following command: following command:
```sh
$ ./go-ipfs/ipfs init $ ./go-ipfs/ipfs init
```
If you had used IPFS an already have an IPFS repository in place, either If you had used IPFS an already have an IPFS repository in place, either
(re)move it from ~/.ipfs or make sure to `export IPFS_PATH` before running the (re)move it from `~/.ipfs` or make sure to `export IPFS_PATH` before running the
`ipfs init` command, e.g.: `ipfs init` command, e.g.:
```sh
$ export IPFS_PATH=~/.ipfs-sh84 $ export IPFS_PATH=~/.ipfs-sh84
$ ./go-ipfs/ipfs init $ ./go-ipfs/ipfs init
```
### FROM RELEASE
FROM RELEASE Download the [latest
release](https://github.com/mrusme/superhighway84/releases/latest) and unpack
Download the latest release from it:
https://github.com/mrusme/superhighway84/releases/latest
```sh
$ tar -xzf ./superhighway84_*.tar.gz $ tar -xzf ./superhighway84_*.tar.gz
$ ./superhighway84 $ ./superhighway84
```
If you initialized the IPFS repo under in a custom location, you need to prefix If you initialized the IPFS repo under in a custom location, you need to prefix
`IPFS_PATH`: `IPFS_PATH`:
```sh
$ IPFS_PATH=~/.ipfs-sh84 ./superhighway84 $ IPFS_PATH=~/.ipfs-sh84 ./superhighway84
```
The binary `superhighway84` can be moved wherever you please. The binary `superhighway84` can be moved wherever you please.
FROM SOURCE ### FROM SOURCE
Clone this repository Clone this repository
- from GitHub - from [GitHub](https://github.com/mrusme/superhighway84)
(https://github.com/mrusme/superhighway84) ```sh
$ git@github.com:mrusme/superhighway84.git $ git@github.com:mrusme/superhighway84.git
```
- from Radicle - from [Radicle](https://app.radicle.network/seeds/maple.radicle.garden/rad:git:hnrkcf9617a8pxxtw8caaop9ioe8cj5u4c4co)
(https://app.radicle.network/seeds/maple.radicle.garden/rad:git:hnrkcf9617a8pxxtw8caaop9ioe8cj5u4c4co) ```sh
$ rad clone rad://maple.radicle.garden/hnrkcf9617a8pxxtw8caaop9ioe8cj5u4c4co $ rad clone rad://maple.radicle.garden/hnrkcf9617a8pxxtw8caaop9ioe8cj5u4c4co
```
Then cd into the cloned directory and run: Then cd into the cloned directory and run:
```sh
$ go build . $ go build .
```
The binary will be available at ./superhighway84 and can be moved wherever you The binary will be available at ./superhighway84 and can be moved wherever you
please. please.
RUNNING ## RUNNING
-------
First, check ulimit -n and verify that it's at a reasonable amount. IPFS 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. requires it to be large enough (>= 2048) in order to work properly over time.
@ -125,7 +135,9 @@ 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` advisable to set the previously created IPFS repository to the `lowpower`
profile. profile.
```sh
$ ipfs config profile apply lowpower $ ipfs config profile apply lowpower
```
This should help with CPU usage, file descriptors and the amount of network 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 connections. While during the startup period you might still see peers peaking
@ -134,17 +146,20 @@ and 300 peers.
Afterwards you can simply launch the binary: Afterwards you can simply launch the binary:
```sh
$ superhighway84 $ superhighway84
```
A setup wizard will help you with initial configuration. Please make sure to A setup wizard will help you with initial configuration. Please make sure to
have at least HOME and EDITOR exported in your environment. have at least HOME and EDITOR exported in your environment.
In case you're intending to run the official IPFS daemon and Superhighway84 in 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. 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. `~/.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 The ports `4001`, `5001` and `8080` are relevant and should be adjusted to
other for every new repo/IPFS node that will run in parallel, e.g.: something other for every new repo/IPFS node that will run in parallel, e.g.:
```json
"Addresses": { "Addresses": {
"Swarm": [ "Swarm": [
"/ip4/0.0.0.0/tcp/4002", "/ip4/0.0.0.0/tcp/4002",
@ -157,8 +172,9 @@ other for every new repo/IPFS node that will run in parallel, e.g.:
"API": "/ip4/127.0.0.1/tcp/5002", "API": "/ip4/127.0.0.1/tcp/5002",
"Gateway": "/ip4/127.0.0.1/tcp/8081" "Gateway": "/ip4/127.0.0.1/tcp/8081"
}, },
```
NOTE: When running Superhighway84 for the first time it might seem like it's **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 "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 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 how many people are online, this process might take _some time_, please be
@ -166,21 +182,21 @@ patient.
CONNECTIVITY ## CONNECTIVITY
------------
If you're having trouble connecting to the IPFS network that might be due to If you're having trouble connecting to the IPFS network that might be due to
your network setup. Please try the IPFS `AutoRelay` feature in such a case: your network setup. Please try the IPFS `AutoRelay` feature in such a case:
```sh
$ ipfs config --json Swarm.RelayClient.Enabled true $ ipfs config --json Swarm.RelayClient.Enabled true
```
More information on this can be found here: More information on this can be found here:
https://github.com/ipfs/kubo/blob/master/docs/experimental-features.md#autorelay https://github.com/ipfs/kubo/blob/master/docs/experimental-features.md#autorelay
CONFIGURATION ## CONFIGURATION
-------------
Superhighway84 will guide you through the basic configuration on its first run. Superhighway84 will guide you through the basic configuration on its first run.
The configuration is stored at the path that you specified in the setup wizard. The configuration is stored at the path that you specified in the setup wizard.
@ -189,8 +205,7 @@ effect on the next launch of Superhighway84.
Configuration options that might be of interest: Configuration options that might be of interest:
- superhighway84.toml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ```
ArticlesListView = ArticlesListView =
The view to be used for the articles lit. Possible values: The view to be used for the articles lit. Possible values:
0 - threaded view, latest thread at the top 0 - threaded view, latest thread at the top
@ -218,16 +233,14 @@ ArticlesListView =
For simple ASCII characters use their ASCII code, e.g. `114` for the character For simple ASCII characters use their ASCII code, e.g. `114` for the character
`r`. `r`.
```
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
USAGE ## USAGE
-----
The default keyboard shortcuts are: The default keyboard shortcuts are:
```
C-r: Refresh C-r: Refresh
C-h: Focus groups list C-h: Focus groups list
C-l, C-k: Focus articles list C-l, C-k: Focus articles list
@ -242,35 +255,34 @@ C-l, C-k: Focus articles list
CR: Select item in list CR: Select item in list
n: Publish new article n: Publish new article
r: Reply to selected article r: Reply to selected article
```
However, you are free to customize these within your configuration file, under However, you are free to customize these within your configuration file, under
the section `Shortcuts`. the section `Shortcuts`.
SUBMIT ARTICLE ### SUBMIT ARTICLE
When submitting a new article or a reply to an article, the $EDITOR is launched When submitting a new article or a reply to an article, the $EDITOR is launched
in which a document with a specific structure will be visible. This structure in which a document with a specific structure will be visible. This structure
consists of the HEADER, a SEPARATOR and the BODY and looks like this: consists of the HEADER, a SEPARATOR and the BODY and looks like this:
- $EDITOR - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ```
Subject: This is the subject of the article Subject: This is the subject of the article
Newsgroup: test.sandbox Newsgroup: test.sandbox
= = = = = = = = = = = =
This is the multiline This is the multiline
body of the article body of the article
```
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
The HEADER contains all headers that are required for an article to be The HEADER contains all headers that are required for an article to be
submitted. These are: submitted. These are:
- Subject: - `Subject:`\
The subject of the article that will be shown in the articles list. The The subject of the article that will be shown in the articles list. The
subject must only contain of printable ASCII characters. subject must only contain of printable ASCII characters.
- Newsgroup: - `Newsgroup:`\
The newsgroup under which the article will be submitted, this can The newsgroup under which the article will be submitted, this can
either be an existing group or a new group. Please try to follow either be an existing group or a new group. Please try to follow
the convention when creating new groups. the convention when creating new groups.
@ -283,8 +295,7 @@ The BODY can contain of multiline text.
KNOWN LIMITATIONS ## KNOWN LIMITATIONS
-----------------
- The OrbitDB that Superhighway84 uses is a public database, meaning everyone - The OrbitDB that Superhighway84 uses is a public database, meaning everyone
can alter its data. Since its using a standard _docstore_, PUT and DELETE can alter its data. Since its using a standard _docstore_, PUT and DELETE
@ -307,7 +318,9 @@ KNOWN LIMITATIONS
Superhighway84 is using. Otherwise you will get an error when starting Superhighway84 is using. Otherwise you will get an error when starting
Superhighway84 that will tell you that there is an IPFS repository mismatch: Superhighway84 that will tell you that there is an IPFS repository mismatch:
```
> panic: Your programs version (11) is lower than your repos (12). > panic: Your programs version (11) is lower than your repos (12).
```
If this should be the case, please follow the instructions provided here: If this should be the case, please follow the instructions provided here:
@ -316,7 +329,9 @@ KNOWN LIMITATIONS
- If you encounter the following issue your IPFS repo version might be older - If you encounter the following issue your IPFS repo version might be older
than what Superhighway84 is using: than what Superhighway84 is using:
```
> panic: ipfs repo needs migration > panic: ipfs repo needs migration
```
In this case you might want to follow the IPFS migration guide here: In this case you might want to follow the IPFS migration guide here:
@ -328,14 +343,10 @@ KNOWN LIMITATIONS
CREDITS ## CREDITS
-------
- Superhighway84 name, code and graphics by mrusme
https://github.com/mrusme
- Logo backdrop by Swift - Superhighway84 name, code and graphics by [mrusme](https://github.com/mrusme)
https://twitter.com/Swift_1_2/status/1114865117533888512 - Logo backdrop by
[Swift](https://twitter.com/Swift_1_2/status/1114865117533888512)
```

Loading…
Cancel
Save