]> Sergey Matveev's repositories - vors.git/blobdiff - doc/usage.texi
Noising
[vors.git] / doc / usage.texi
index 252a947c20fceccd7b46308e21236df2c63bfb446707906f65f60eae1c1cf48e..396685ce1d6ff798b1f2fa5db6576eb3cc22d322e2f6f0319ed2f1de6bf1813d 100644 (file)
@@ -1,45 +1,38 @@
 @node Usage
 @unnumbered Usage
 
-Server is required to authenticate clients, give them unique stream
-numbers and relay their voice traffic. Except for address to bind to, it
-requires only password and keypair specification. Clients authenticate
-server by its X.509 certificate's SubjectPublicKeyInfo's SHA2-256 hash.
-Clients are authenticate by challenge-response protocol based on
-provided password.
+@itemize
 
-Generate server's keypair with @command{vors-keygen} and run the server.
-Its SPKI hash will also be printed in the logs.
+@item
+    Generate server's keypair. And share its public key among users.
+    Fact of server's public key knowledge means ability to connect to it.
 
 @example
-$ umask 077
-$ vors-keygen > keypair.pem
-$ vors-server -bind "[2001:db8::1234]:12345" -passwd PASSWORD -pem keypair.pem
+$ vors-keygen | tee key | vors-keygen -pub | read pub
+$ vors-server -key key -bind [2001:db8::1]:12978
 @end example
 
-Client uses external commands for reading from microphone and playing it
-back. By default it uses SoX'es @command{rec} and @command{play}
-commands. Pay attention that VoRS expects @strong{ONLY} one channel,
-48kHz, 16-bit signed little-endian audio format. Empty strings in
-@option{-rec}/@option{-play} options mean no recording/playback attempts.
+@item
+    Client uses external commands for reading from microphone and
+    playing it back. By default it uses SoX'es @command{rec} and
+    @command{play} commands.
 
-@command{-play} command is spawned for each participant. Your OS should
-mix their output together.
+    Pay attention that VoRS expects @strong{ONLY} one channel, 48kHz,
+    16-bit signed little-endian audio format. Empty strings in
+    @option{-rec}/@option{-play} options mean no recording/playback
+    attempts.
 
-Why no audio libraries solutions? OpenAL, PulseAudio, PortAudio,
-PipeWire, OSS, sndio, libao, JACK. Too much to choose from. None of them
-present by default in every distribution. All of them have problems,
-issues, and libao offers only playback capability for example. And pay
-attention that we have to use them from Go. Luckily SoX can use any of
-OS'es backend and we can use it transparently. And we do not have to
-create complex interface to configure in/out audio resources.
+    @command{-play} command is spawned for each participant. Your OS
+    should mix their output together.
 
-Start the client, providing server's SPKI hash, password and our username:
+@item
+    Start the client, providing server's public key and our username:
 
 @example
-$ vors-client -spki SPKI -passwd PASSWORD -name NAME \
-    -srv "[2001:db8::1234]:12345"
+$ vors-client -srv "[2001:db8::1]:12978" -pub $pub -name NAME
 @end example
 
-Pressing F10 in server/client TUIs means quitting. Pressing Enter in
-client means "mute" toggling.
+    Pressing F10 in server/client TUIs means quitting. Pressing Enter in
+    client means "mute" toggling.
+
+@end itemize