SMOLNET PORTAL home about changes
iInitial commit. - bitreich-conference - Bitreich Conference System	Err	bitreich.org	70
hgit clone git://bitreich.org/bitreich-conference git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/bitreich-conference	URL:git://bitreich.org/bitreich-conference git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/bitreich-conference	bitreich.org	70
1Log	/scm/bitreich-conference/log.gph	bitreich.org	70
1Files	/scm/bitreich-conference/files.gph	bitreich.org	70
1Refs	/scm/bitreich-conference/refs.gph	bitreich.org	70
1Tags	/scm/bitreich-conference/tag	bitreich.org	70
1README	/scm/bitreich-conference/file/README.md.gph	bitreich.org	70
1LICENSE	/scm/bitreich-conference/file/LICENSE.gph	bitreich.org	70
i---	Err	bitreich.org	70
1commit 4e45edcc18a5ec88c454ebbe6f695e36d382b325	/scm/bitreich-conference/commit/4e45edcc18a5ec88c454ebbe6f695e36d382b325.gph	bitreich.org	70
hAuthor: Christoph Lohmann <20h@r-36.net>	URL:mailto:20h@r-36.net	bitreich.org	70
iDate:   Fri,  8 Apr 2022 18:42:39 +0200	Err	bitreich.org	70
i	Err	bitreich.org	70
iInitial commit.	Err	bitreich.org	70
i	Err	bitreich.org	70
iDiffstat:	Err	bitreich.org	70
i  A README.md                           |     113 +++++++++++++++++++++++++++++++	Err	bitreich.org	70
i  A bin/bitreich-con-hold-presentation  |      33 +++++++++++++++++++++++++++++++	Err	bitreich.org	70
i  A bin/bitreich-con-start-conference   |      21 +++++++++++++++++++++	Err	bitreich.org	70
i  A bin/bitreich-con-stop-conference    |      16 ++++++++++++++++	Err	bitreich.org	70
i  A bin/bitreich-con-teaser-shell       |      45 +++++++++++++++++++++++++++++++	Err	bitreich.org	70
i  A bin/bitreich-con-view-presentation  |      39 +++++++++++++++++++++++++++++++	Err	bitreich.org	70
i  A bin/bitreich-con-visitor-count      |       4 ++++	Err	bitreich.org	70
i	Err	bitreich.org	70
i7 files changed, 271 insertions(+), 0 deletions(-)	Err	bitreich.org	70
i---	Err	bitreich.org	70
1diff --git a/README.md b/README.md	/scm/bitreich-conference/file/README.md.gph	bitreich.org	70
i@@ -0,0 +1,113 @@	Err	bitreich.org	70
i+# The Bitreich Conference System	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+## Overview	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+How do people perceive the conference content?	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        ssh visitor@bitreich.org	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+On screen is shown what the presenter shows on the commandline. At the	Err	bitreich.org	70
i+bitreich conferences this is mostly some slides shown using catpoint(1).	Err	bitreich.org	70
i+(git://bitreich.org/pointtools)	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        mpv gopher://bitreich.org/9/radio/listen	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+This is simple some audio stream of any kind, which is generated by the	Err	bitreich.org	70
i+presenter or the audio server. Here at bitreich we use icecast and some	Err	bitreich.org	70
i+simple frontend script for http2gopher.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Overall this will require at maximum 120 kb/s per visitor. You could	Err	bitreich.org	70
i+strip down audio quality even more. The ssh slides are bytes per second,	Err	bitreich.org	70
i+if any.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+## Setup	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+You will need to adapt all scripts to your needs. It is simple. So do not	Err	bitreich.org	70
i+fear.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+1. Create a presenter account.	Err	bitreich.org	70
i+2. Create a visitor account.	Err	bitreich.org	70
i+3. Install abduco.	Err	bitreich.org	70
i+5. Copy over the modified scripts from bin/ to your PATH.	Err	bitreich.org	70
i+        1. Modify in all scripts the prefix /br to your needs.	Err	bitreich.org	70
i+        2. Create the $PREFIX/con directory, where all communication is	Err	bitreich.org	70
i+           handled.	Err	bitreich.org	70
i+6. Run the scripts accordingly.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+7. Setup audio via icecast etc.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+## Visitor account.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+For /etc/ssh/sshd_config:	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        Match user visitor	Err	bitreich.org	70
i+                AllowAgentForwarding no	Err	bitreich.org	70
i+                AllowTcpForwarding no	Err	bitreich.org	70
i+                GatewayPorts no	Err	bitreich.org	70
i+                X11Forwarding no	Err	bitreich.org	70
i+                PermitTunnel no	Err	bitreich.org	70
i+                X11UseLocalhost no	Err	bitreich.org	70
i+                PermitTTY yes	Err	bitreich.org	70
i+                PasswordAuthentication yes	Err	bitreich.org	70
i+                PermitEmptyPasswords yes	Err	bitreich.org	70
i+                ForceCommand /path/to/bitreich-con-view-presentation	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Depending on how secure you want access, disabling any authentication for	Err	bitreich.org	70
i+this account is possible.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+## Start a Conference	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        bitreich-con-start-conference	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+The socket for visitor and presenter attachment is created. The teaser	Err	bitreich.org	70
i+shell is run.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+## Watch the Presentation	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        bitreich-con-view-presentation	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+See visitor account preparation above.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+## Hold a Presentation	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Presenter logs into presenter account and runs:	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        bitreich-con-hold-presentation	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+In the teaser shell the presenter presses Enter to get into the presenter	Err	bitreich.org	70
i+shell. There all possibilities of the presenter account on the	Err	bitreich.org	70
i+commandline is possible.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+## bitreich-con-teaser-shell	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Please see in this script, how ads are shown. You can download examples	Err	bitreich.org	70
i+from	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        gopher://bitreich.org/1/con/2019/ads	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+It is all simple text, just cat(1)ed to the screen in an random order.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+When a presenter pressed Enter in the teaser shell, the presentation mode	Err	bitreich.org	70
i+is started.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+## Stop a Conference	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        bitreich-con-stop-conference	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+This will remove all sockets and remains of the conference.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+## bitreich-con-visitor-count	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+This is a simple shell to show you how, after you have set up the	Err	bitreich.org	70
i+conference system, visitors can be counted using standard shell commands.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+## Comments	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Send comments to:	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        Christoph Lohmann <20h@r-36.net> or on #bitreich-en	Err	bitreich.org	70
i+        irc.bitreich.org	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Have fun!	Err	bitreich.org	70
i+	Err	bitreich.org	70
1diff --git a/bin/bitreich-con-hold-presentation b/bin/bitreich-con-hold-presentation	/scm/bitreich-conference/file/bin/bitreich-con-hold-presentation.gph	bitreich.org	70
i@@ -0,0 +1,33 @@	Err	bitreich.org	70
i+#!/bin/sh	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+if [ $# -lt 1 ];	Err	bitreich.org	70
i+then	Err	bitreich.org	70
i+        year="$(date +%Y)"	Err	bitreich.org	70
i+else	Err	bitreich.org	70
i+        year="$1"	Err	bitreich.org	70
i+fi	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+# Handled in bitreich-con-start-conference for a common value.	Err	bitreich.org	70
i+#printf 'CONTERMCOL=%d\nCONTERMLIN=%d' "$(tput cols)" "$(tput lines)" \	Err	bitreich.org	70
i+#        > "/br/con/termres${year}"	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+<<\. cat	Err	bitreich.org	70
i+You will be connected to the conference holding terminal.	Err	bitreich.org	70
i+There just type Enter and you will get a bash prompt to hold your	Err	bitreich.org	70
i+presentation.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+It is advised to first resize your presentation terminal. The	Err	bitreich.org	70
i+viewers were advised to resize their terminal to 100x35. That	Err	bitreich.org	70
i+the space you have. So do not go beyond that.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Type in ^\ (control+'\') to detach from it.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+To reconnect to it, simply run this script again.	Err	bitreich.org	70
i+Press any key to continue.	Err	bitreich.org	70
i+.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+read keypressed	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+#env ABDUCO_SOCKET_DIR=/br/con/abduco abduco -A bitreichcon2017	Err	bitreich.org	70
i+abduco -A "/br/con/sock/bitreichcon${year}"	Err	bitreich.org	70
i+	Err	bitreich.org	70
1diff --git a/bin/bitreich-con-start-conference b/bin/bitreich-con-start-conference	/scm/bitreich-conference/file/bin/bitreich-con-start-conference.gph	bitreich.org	70
i@@ -0,0 +1,21 @@	Err	bitreich.org	70
i+#!/bin/sh	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+if [ $# -lt 1 ];	Err	bitreich.org	70
i+then	Err	bitreich.org	70
i+        year="$(date +%Y)"	Err	bitreich.org	70
i+else	Err	bitreich.org	70
i+        year="$1"	Err	bitreich.org	70
i+fi	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+# Set a good default.	Err	bitreich.org	70
i+printf "CONTERMCOL=%d\nCONTERMLIN=%d" "100" "35" \	Err	bitreich.org	70
i+        > "/br/con/termres${year}"	Err	bitreich.org	70
i+sudo -u presenter chmod g+w,g+r "/br/con/termres${year}"	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+#env ABDUCO_SOCKET_DIR=/br/con/abduco abduco -A bitreichcon${year}	Err	bitreich.org	70
i+sudo -u presenter abduco -n "/br/con/sock/bitreichcon${year}" /br/bin/bitreich-con-teaser-shell "${year}"	Err	bitreich.org	70
i+sudo -u presenter chmod g+w,g+r "/br/con/sock/bitreichcon${year}"	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+printf "The conference is now active and showing ads.\n"	Err	bitreich.org	70
i+printf "Now run bitreich-hold-presentation on your behalf.\n"	Err	bitreich.org	70
i+	Err	bitreich.org	70
1diff --git a/bin/bitreich-con-stop-conference b/bin/bitreich-con-stop-conference	/scm/bitreich-conference/file/bin/bitreich-con-stop-conference.gph	bitreich.org	70
i@@ -0,0 +1,16 @@	Err	bitreich.org	70
i+#!/bin/sh	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+if [ $# -lt 1 ];	Err	bitreich.org	70
i+then	Err	bitreich.org	70
i+        year="$(date +%Y)"	Err	bitreich.org	70
i+else	Err	bitreich.org	70
i+        year="$1"	Err	bitreich.org	70
i+fi	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+rm -f /br/con/sock/bitreichcon${year}	Err	bitreich.org	70
i+rm -f /br/con/termres${year}	Err	bitreich.org	70
i+pkill -u presenter -f "bitreichcon${year}"	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+printf "All abduco sessions have been closed.\n"	Err	bitreich.org	70
i+printf "All was fun! :)\n"	Err	bitreich.org	70
i+	Err	bitreich.org	70
1diff --git a/bin/bitreich-con-teaser-shell b/bin/bitreich-con-teaser-shell	/scm/bitreich-conference/file/bin/bitreich-con-teaser-shell.gph	bitreich.org	70
i@@ -0,0 +1,45 @@	Err	bitreich.org	70
i+#!/bin/sh	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+if [ $# -lt 1 ];	Err	bitreich.org	70
i+then	Err	bitreich.org	70
i+        year="$(date +%Y)"	Err	bitreich.org	70
i+else	Err	bitreich.org	70
i+        year="$1"	Err	bitreich.org	70
i+fi	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+function shell() {	Err	bitreich.org	70
i+        cd "/home/presenter/con/${year}"	Err	bitreich.org	70
i+        bash	Err	bitreich.org	70
i+}	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+adpath="/br/gopher/con/${year}/ads"	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+while /bin/true;	Err	bitreich.org	70
i+do	Err	bitreich.org	70
i+        clear	Err	bitreich.org	70
i+        adfile="${adpath}/$(ls -1 "${adpath}" | shuf -n 1)"	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        i=0	Err	bitreich.org	70
i+        # Change the ad every 30 seconds.	Err	bitreich.org	70
i+        while [ $i -lt 20 ];	Err	bitreich.org	70
i+        do	Err	bitreich.org	70
i+                tput cup 0 0        	Err	bitreich.org	70
i+                tput civis	Err	bitreich.org	70
i+                cat "$adfile"	Err	bitreich.org	70
i+                # Redisplay every second, in case someone freshly attached.	Err	bitreich.org	70
i+                i=$(($i + 1))	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+                userinput=""	Err	bitreich.org	70
i+                read -t 1 userinput	Err	bitreich.org	70
i+                if [ $? -eq 0 ];	Err	bitreich.org	70
i+                then	Err	bitreich.org	70
i+                        # Be clear and clean.	Err	bitreich.org	70
i+                        clear	Err	bitreich.org	70
i+                        tput cvvis	Err	bitreich.org	70
i+                        shell	Err	bitreich.org	70
i+                        clear	Err	bitreich.org	70
i+                        tput civis	Err	bitreich.org	70
i+                fi	Err	bitreich.org	70
i+        done	Err	bitreich.org	70
i+done	Err	bitreich.org	70
i+	Err	bitreich.org	70
1diff --git a/bin/bitreich-con-view-presentation b/bin/bitreich-con-view-presentation	/scm/bitreich-conference/file/bin/bitreich-con-view-presentation.gph	bitreich.org	70
i@@ -0,0 +1,39 @@	Err	bitreich.org	70
i+#!/bin/sh	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+if [ $# -lt 1 ];	Err	bitreich.org	70
i+then	Err	bitreich.org	70
i+        year="$(date +%Y)"	Err	bitreich.org	70
i+else	Err	bitreich.org	70
i+        year="$1"	Err	bitreich.org	70
i+fi	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+if [ ! -f "/br/con/termres${year}" ]	Err	bitreich.org	70
i+then	Err	bitreich.org	70
i+        printf 'The conference has not started yet. Please retry later.\n'	Err	bitreich.org	70
i+        exit 1	Err	bitreich.org	70
i+fi	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+. "/br/con/termres${year}"	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+if [ "$(tput cols)" -lt "$CONTERMCOL" ] || [ "$(tput lines)" -lt "$CONTERMLIN" ]	Err	bitreich.org	70
i+then	Err	bitreich.org	70
i+        printf 'Input presentation terminal is %dx%d characters.\n' \	Err	bitreich.org	70
i+               "$CONTERMCOL" "$CONTERMLIN"	Err	bitreich.org	70
i+        printf 'You should adjust your terminal to it. Continue anyway? y/N: '	Err	bitreich.org	70
i+        read yesno	Err	bitreich.org	70
i+        if [ "$yesno" != 'y' ]	Err	bitreich.org	70
i+        then	Err	bitreich.org	70
i+                exit 1	Err	bitreich.org	70
i+        fi	Err	bitreich.org	70
i+fi	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+printf '%s\n' 'You will be connected to the conference view-only terminal.' \	Err	bitreich.org	70
i+       'Type in ^'\\' (control+'\\') to detach from it.' \	Err	bitreich.org	70
i+       'Press any key to continue.'	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+read	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+abduco -r -l -a /br/con/sock/bitreichcon${year} || \	Err	bitreich.org	70
i+        printf '%s\n' 'Could not connect to the conference. ' \	Err	bitreich.org	70
i+               'Please contact 20h on #bitreich-con on freenode.'	Err	bitreich.org	70
i+	Err	bitreich.org	70
1diff --git a/bin/bitreich-con-visitor-count b/bin/bitreich-con-visitor-count	/scm/bitreich-conference/file/bin/bitreich-con-visitor-count.gph	bitreich.org	70
i@@ -0,0 +1,4 @@	Err	bitreich.org	70
i+#!/bin/sh	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+pgrep -u visitor abduco | wc -l	Err	bitreich.org	70
i+	Err	bitreich.org	70
.
Response: text/plain
Original URLgopher://bitreich.org/0/scm/bitreich-conference/commit/4e...
Content-Typetext/plain; charset=utf-8