Proof-read galene.md and galene-install.md.

This commit is contained in:
Juliusz Chroboczek
2025-08-21 15:32:02 +02:00
parent 23575ea122
commit a631975df3
2 changed files with 24 additions and 24 deletions
+10 -10
View File
@@ -67,7 +67,7 @@ Now copy the `galene` binary, and the directories `static`, `data` and
rsync -a galene static data groups galene@galene.example.org: rsync -a galene static data groups galene@galene.example.org:
``` ```
If you don't have a TLS certificate, Galène will generate a self-signed If you don't have a TLS certificate, Galene will generate a self-signed
certificate (and print a warning to the logs). If you have a certificate, certificate (and print a warning to the logs). If you have a certificate,
install it in the files `data/cert.pem` and `data/key.pem`: install it in the files `data/cert.pem` and `data/key.pem`:
@@ -104,7 +104,7 @@ exec setuidgid galene ./galene
``` ```
If you are using *SystemD*, put the following in If you are using *SystemD*, put the following in
`/etc/systemd/system/galene.service`: `/etc/systemd/system/galene.service` (and then run `systemctl daemon-reload`):
```ini ```ini
[Unit] [Unit]
@@ -135,7 +135,7 @@ Build the `galenectl` utility, and copy it somewhere on your path:
```sh ```sh
cd galenectl cd galenectl
go build -ldflags='-s -w' go build -ldflags='-s -w'
sudo cp galenectl /usr/local/bin sudo cp galenectl /usr/local/bin/
``` ```
Now create an administrator password, and set up galenectl: Now create an administrator password, and set up galenectl:
@@ -238,7 +238,7 @@ behind NAT. See Section "Connectivity issues and ICE servers" below.
Galene has some support for running behind NAT without a helpful server, Galene has some support for running behind NAT without a helpful server,
but this has not been exhaustively tested. Please see the section but this has not been exhaustively tested. Please see the section
"Connectivity issues and ICE server" below. "Connectivity issues and ICE servers" below.
### Running behind a reverse proxy ### Running behind a reverse proxy
@@ -287,7 +287,7 @@ that help punching holes in well-behaved NATs, and TURN servers, that
serve as relays for traffic. TURN is a superset of STUN: no STUN server serve as relays for traffic. TURN is a superset of STUN: no STUN server
is necessary if one or more TURN servers are available. is necessary if one or more TURN servers are available.
Galène includes an IPv4-only TURN server, which is controlled by the Galene includes an IPv4-only TURN server, which is controlled by the
`-turn` command-line option. It has the following behaviour: `-turn` command-line option. It has the following behaviour:
* if its value is set to the empty string `""`, then the built-in server * if its value is set to the empty string `""`, then the built-in server
@@ -311,7 +311,7 @@ Galène includes an IPv4-only TURN server, which is controlled by the
If the server is not accessible from the Internet, e.g. because of NAT or If the server is not accessible from the Internet, e.g. because of NAT or
because it is behind a restrictive firewall, then you should configure because it is behind a restrictive firewall, then you should configure
a TURN server that runs on a host that is accessible by both Galène and a TURN server that runs on a host that is accessible by both Galene and
the clients. Disable the built-in TURN server (`-turn ""` or the default the clients. Disable the built-in TURN server (`-turn ""` or the default
`-turn auto`), and provide a working ICE configuration in the file `-turn auto`), and provide a working ICE configuration in the file
`data/ice-servers.json`. In the case of a single STUN server, it should `data/ice-servers.json`. In the case of a single STUN server, it should
@@ -327,7 +327,7 @@ look like this:
] ]
``` ```
In the case of s single TURN server, the `ice-servers.json` file should In the case of a single TURN server, the `ice-servers.json` file should
look like this: look like this:
```json ```json
@@ -350,8 +350,8 @@ that, then the `ice-servers.json` file should look like this:
[ [
{ {
"urls": [ "urls": [
"turn:turn.example.com:443", "turn:turn.example.org:443",
"turn:turn.example.com:443?transport=tcp" "turn:turn.example.org:443?transport=tcp"
], ],
"username": "galene", "username": "galene",
"credential": "secret", "credential": "secret",
@@ -362,5 +362,5 @@ that, then the `ice-servers.json` file should look like this:
For redundancy, you may set up multiple TURN servers, and ICE will use the For redundancy, you may set up multiple TURN servers, and ICE will use the
first one that works. If an `ice-servers.json` file is present and first one that works. If an `ice-servers.json` file is present and
Galène's built-in TURN server is enabled, then the external server will be Galene's built-in TURN server is enabled, then the external server will be
used in preference to the built-in server. used in preference to the built-in server.
+14 -14
View File
@@ -61,7 +61,7 @@ quality. The *Play local file* dialog streams a video from a local file.
There is a user list on the left, starting with the current user and There is a user list on the left, starting with the current user and
continuing with all users that have joined the current group. continuing with all users that have joined the current group.
The user list doubles as a set of menu. Clicking on the current user (the The user list doubles as a set of menus. Clicking on the current user (the
first entry in the user list) opens the *group menu*, a menu with actions first entry in the user list) opens the *group menu*, a menu with actions
that apply to the group as a whole. Clicking on a different user opens that apply to the group as a whole. Clicking on a different user opens
a *user menu*, a menu that applies to that specific user. a *user menu*, a menu that applies to that specific user.
@@ -93,16 +93,16 @@ where the *XXX* part, known as the *token*, is a shared secret. Such
a link allows password-less login to the group, and may therefore be a link allows password-less login to the group, and may therefore be
shared e.g. over e-mail or instant messaging. shared e.g. over e-mail or instant messaging.
The invitiation functionality is usually restricted to the moderator; The invitation functionality is usually restricted to the moderator;
however, groups may be configured with the `"unrestricted-tokens"` option, however, groups may be configured with the `"unrestricted-tokens"` option,
which allows all users to generate tokens. which allows all users to generate tokens.
Tokens can be created, modified, and expires using the `/invite`, Tokens can be created, modified, and expired using the `/invite`,
`/reinvite` and `/revoke` commands. `/reinvite` and `/revoke` commands.
nnnn
### File transfer ### File transfer
Galene includes a peer-to, end-to-end encrypted file transfer protocol. Galene includes a peer-to-peer, end-to-end encrypted file transfer protocol.
In order to transfer a file, click on the receiver's entry in the user In order to transfer a file, click on the receiver's entry in the user
list and choose "Send file". list and choose "Send file".
@@ -187,7 +187,7 @@ also be edited manually (there is no need to restart the server).
### Managing groups using `galenectl` ### Managing groups using `galenectl`
#### Creating, modifying, and suppressing groups #### Creating, modifying, and deleting groups
A group is created using `galenectl create-group`: A group is created using `galenectl create-group`:
@@ -221,7 +221,7 @@ galenectl update-group -group city-watch -unrestricted-tokens=false
``` ```
If a JSON template is provided to `galenectl update-group`, then it is If a JSON template is provided to `galenectl update-group`, then it is
merged with the existing group configuration. Entries may be suppressed merged with the existing group configuration. Entries may be deleted
by setting them to `null` in the template: by setting them to `null` in the template:
```sh ```sh
@@ -234,7 +234,7 @@ A group is deleted using `galenectl delete-group`:
galenectl delete-group -group amcw galenectl delete-group -group amcw
``` ```
#### Creating, modifying, and suppressing users #### Creating, modifying, and deleting users
A user entry is created with the `galenectl create-user` command : A user entry is created with the `galenectl create-user` command :
@@ -248,7 +248,7 @@ the group. The other useful values are `message`, which allows a user
to participate in the chat only, and `observe`, which doesn't allow any to participate in the chat only, and `observe`, which doesn't allow any
active participation. active participation.
A user is modified using `galenectl update-user`, and suppressed using A user is modified using `galenectl update-user`, and deleted using
`galenectl delete-user`. `galenectl delete-user`.
In order to be useful, a user entry needs to be assigned a password. This In order to be useful, a user entry needs to be assigned a password. This
@@ -482,8 +482,8 @@ allows any username with any password.
For security reasons, passwords are usually hashed before being stored in For security reasons, passwords are usually hashed before being stored in
group descriptions (in fact, the `galenectl` utility does not even support group descriptions (in fact, the `galenectl` utility does not even support
storing plaintext passwords). A hased password is represented as a JSON storing plaintext passwords). A hashed password is represented as a JSON
dicttionary with a field `type` and a number of type-specific fields. dictionary with a field `type` and a number of type-specific fields.
A user entry with a hashed password looks like this: A user entry with a hashed password looks like this:
@@ -503,7 +503,7 @@ A user entry with a hashed password looks like this:
``` ```
Hashed passwords are normally generated transparently to the user by the Hashed passwords are normally generated transparently to the user by the
`galenectl set-password` command. When edition group description files `galenectl set-password` command. When editing group description files
manually, hashed passwords can be generated with the `galenectl hash-password` manually, hashed passwords can be generated with the `galenectl hash-password`
utility. utility.
@@ -532,13 +532,13 @@ the restriction that the "alg" key must be specified explicitly):
"authKeys": [{ "authKeys": [{
"kty": "oct", "kty": "oct",
"alg": "HS256", "alg": "HS256",
"k": "MYz3IfCq4Yq-UmPdNqWEOdPl4C_m9imHHs9uveDUJGQ", "k": "MYz3IfCq4Yq-UmPdNqWEOdPl4C_m9imHHs9uveDUJGQ"
}, { }, {
"kty": "EC", "kty": "EC",
"alg": "ES256", "alg": "ES256",
"crv": "P-256", "crv": "P-256",
"x": "dElK9qBNyCpRXdvJsn4GdjrFzScSzpkz_I0JhKbYC88", "x": "dElK9qBNyCpRXdvJsn4GdjrFzScSzpkz_I0JhKbYC88",
"y": "pBhVb37haKvwEoleoW3qxnT4y5bK35_RTP7_RmFKR6Q", "y": "pBhVb37haKvwEoleoW3qxnT4y5bK35_RTP7_RmFKR6Q"
}] }]
} }
``` ```