Commit Diff


commit - beb31c8610edfb8447bb6b1e45117d36383ca05a
commit + 868475eac8961d40e4f90510088cc62b1ccd1771
blob - /dev/null
blob + 9081a763cce7301439b90acdf4ca3897366dcf80 (mode 644)
--- /dev/null
+++ wiki.d/Openbsd.Galene
@@ -0,0 +1,15 @@
+version=pmwiki-2.3.20 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0
+author=moocow
+charset=UTF-8
+csum=
+ctime=1731607194
+host=50.126.114.178
+name=Openbsd.Galene
+rev=1
+targets=
+text=Galene is a video conferencing software like Jitsi Meet. The website for it can%0abe found at @@https://galene.org/@@.%0a%0aInstall Golang and Git if you haven't already.%0a[@%0apkg_add go git%0a@]%0a%0aAdd a login class to /etc/login.conf, make sure to use tabs for indentation, not spaces:%0a[@%0agalene:\%0a	:openfiles-cur=8182:\%0a	:openfiles-max=8182:\%0a	:openfiles=8182:\%0a	:stacksize-cur=512M:\%0a	:stacksize-max=512M:\%0a	:maxproc-max=infinity:\%0a	:maxproc-cur=8182:\%0a	:tc=daemon:%0a@]%0a%0aCreate a new user for Galene to run under and change to that user.%0a[@%0auseradd -m -L galene _galene%0adoas -u galene sh%0a@]%0a%0aDownload and compile Galene:%0a[@%0agit clone https://github.com/jech/galene%0acd galene%0aCGO_ENABLED=0 go build -ldflags='-s -w'%0a@]%0a%0aCreate your groups and configuration:%0a[@%0amkdir groups%0amkdir data%0a%0avi data/config.json%0a# replace meet.cowsrule.fyi with your domain%0a{%0a	"users":{"cow": {"password":"yourpasswordhere", "permissions": "admin"}},%0a	"proxyURL": "https://meet.cowsrule.fyi",%0a	"canonicalHost": "meet.cowsrule.fyi"%0a}%0a%0a# if you are not already running a turn server, you can skip this step as galene will autostart one.%0avi data/ice-servers.json%0a# replace turn.cowsrule.fyi with your domain and yourauthsecret with the auth secret in /etc/turnserver.conf%0a[%0a	{%0a		"urls": [%0a			"turn:turn.cowsrule.fyi?transport=tcp"%0a		],%0a		"username": "galene",%0a		"credential": "yourauthsecret",%0a		"credentialType": "hmac-sha1"%0a	}%0a]%0a@]%0a%0aConfiguring groups:%0aGroups are defined by files in the ./groups directory. The definition for the group called groupname is in the file groups/groupname.json; it does not contain the group name, which makes it easy to copy or link group definitions. You may use subdirectories: a file groups/teaching/networking.json defines a group called teaching/networking.%0aExamples:%0a%0aA typical group definition file looks like this:%0a[@%0a{%0a    "users":{%0a        "jch": {"password":"1234", "permissions": "op"}%0a    },%0a    "allow-recording": true,%0a    "auto-subgroups": true%0a}%0a@]%0a%0aThis defines a group with the operator (administrator) username jch and password 1234. The allow-recording entry says that the operator is allowed to record videos to disk, and the auto-subgroups entry says that subgroups will be created automatically. This particular group does not allow password login for ordinary users, and is suitable if you use invitations (see Stateful Tokens below) for ordinary users.%0a%0aIn order to allow password login for ordinary users, add password entries with the permission present:%0a[@%0a{%0a    "users":{%0a        "jch":  {"password": "1234", "permissions": "op"}%0a        "john": {"password": "secret", "permissions": "present"}%0a    }%0a}%0a@]%0a%0aIf the group is to be publicly accessible, you may allow logins with any username using the wildcard-user entry::%0a[@%0a{%0a    "users":{%0a        "jch": {"password":"1234", "permissions": "op"}%0a    },%0a    "wildcard-user": {"password": "1234", "permissions": "present"},%0a    "public": true%0a}%0a@]%0a%0aIf you want to allow users to use any password, use a wildcard password:%0a[@%0a{%0a    "users":{%0a        "jch": {"password":"1234", "permissions": "op"}%0a    },%0a    "wildcard-user":%0a        {"password": {"type": "wildcard"}, "permissions": "present"},%0a    "public": true%0a}%0a@]%0a%0aCreate a script to start Galene:%0a[@%0acat %3c%3c EOF > ~/start.sh%0a#!/bin/sh%0a%0acd ~/galene%0a%0awhile true; do %0a	./galene -insecure -http :8444%0adone%0a%0aEOF%0a@]%0a%0aStart galene on boot:%0a[@%0acrontab -e%0a@reboot tmux new -d "ksh ~/start.sh"%0a@]%0a%0a
+time=1731607194
+author:1731607194=moocow
+diff:1731607194:1731607194:=1,132d0%0a%3c Galene is a video conferencing software like Jitsi Meet. The website for it can%0a%3c be found at @@https://galene.org/@@.%0a%3c %0a%3c Install Golang and Git if you haven't already.%0a%3c [@%0a%3c pkg_add go git%0a%3c @]%0a%3c %0a%3c Add a login class to /etc/login.conf, make sure to use tabs for indentation, not spaces:%0a%3c [@%0a%3c galene:\%0a%3c 	:openfiles-cur=8182:\%0a%3c 	:openfiles-max=8182:\%0a%3c 	:openfiles=8182:\%0a%3c 	:stacksize-cur=512M:\%0a%3c 	:stacksize-max=512M:\%0a%3c 	:maxproc-max=infinity:\%0a%3c 	:maxproc-cur=8182:\%0a%3c 	:tc=daemon:%0a%3c @]%0a%3c %0a%3c Create a new user for Galene to run under and change to that user.%0a%3c [@%0a%3c useradd -m -L galene _galene%0a%3c doas -u galene sh%0a%3c @]%0a%3c %0a%3c Download and compile Galene:%0a%3c [@%0a%3c git clone https://github.com/jech/galene%0a%3c cd galene%0a%3c CGO_ENABLED=0 go build -ldflags='-s -w'%0a%3c @]%0a%3c %0a%3c Create your groups and configuration:%0a%3c [@%0a%3c mkdir groups%0a%3c mkdir data%0a%3c %0a%3c vi data/config.json%0a%3c # replace meet.cowsrule.fyi with your domain%0a%3c {%0a%3c 	"users":{"cow": {"password":"yourpasswordhere", "permissions": "admin"}},%0a%3c 	"proxyURL": "https://meet.cowsrule.fyi",%0a%3c 	"canonicalHost": "meet.cowsrule.fyi"%0a%3c }%0a%3c %0a%3c # if you are not already running a turn server, you can skip this step as galene will autostart one.%0a%3c vi data/ice-servers.json%0a%3c # replace turn.cowsrule.fyi with your domain and yourauthsecret with the auth secret in /etc/turnserver.conf%0a%3c [%0a%3c 	{%0a%3c 		"urls": [%0a%3c 			"turn:turn.cowsrule.fyi?transport=tcp"%0a%3c 		],%0a%3c 		"username": "galene",%0a%3c 		"credential": "yourauthsecret",%0a%3c 		"credentialType": "hmac-sha1"%0a%3c 	}%0a%3c ]%0a%3c @]%0a%3c %0a%3c Configuring groups:%0a%3c Groups are defined by files in the ./groups directory. The definition for the group called groupname is in the file groups/groupname.json; it does not contain the group name, which makes it easy to copy or link group definitions. You may use subdirectories: a file groups/teaching/networking.json defines a group called teaching/networking.%0a%3c Examples:%0a%3c %0a%3c A typical group definition file looks like this:%0a%3c [@%0a%3c {%0a%3c     "users":{%0a%3c         "jch": {"password":"1234", "permissions": "op"}%0a%3c     },%0a%3c     "allow-recording": true,%0a%3c     "auto-subgroups": true%0a%3c }%0a%3c @]%0a%3c %0a%3c This defines a group with the operator (administrator) username jch and password 1234. The allow-recording entry says that the operator is allowed to record videos to disk, and the auto-subgroups entry says that subgroups will be created automatically. This particular group does not allow password login for ordinary users, and is suitable if you use invitations (see Stateful Tokens below) for ordinary users.%0a%3c %0a%3c In order to allow password login for ordinary users, add password entries with the permission present:%0a%3c [@%0a%3c {%0a%3c     "users":{%0a%3c         "jch":  {"password": "1234", "permissions": "op"}%0a%3c         "john": {"password": "secret", "permissions": "present"}%0a%3c     }%0a%3c }%0a%3c @]%0a%3c %0a%3c If the group is to be publicly accessible, you may allow logins with any username using the wildcard-user entry::%0a%3c [@%0a%3c {%0a%3c     "users":{%0a%3c         "jch": {"password":"1234", "permissions": "op"}%0a%3c     },%0a%3c     "wildcard-user": {"password": "1234", "permissions": "present"},%0a%3c     "public": true%0a%3c }%0a%3c @]%0a%3c %0a%3c If you want to allow users to use any password, use a wildcard password:%0a%3c [@%0a%3c {%0a%3c     "users":{%0a%3c         "jch": {"password":"1234", "permissions": "op"}%0a%3c     },%0a%3c     "wildcard-user":%0a%3c         {"password": {"type": "wildcard"}, "permissions": "present"},%0a%3c     "public": true%0a%3c }%0a%3c @]%0a%3c %0a%3c Create a script to start Galene:%0a%3c [@%0a%3c cat %3c%3c EOF > ~/start.sh%0a%3c #!/bin/sh%0a%3c %0a%3c cd ~/galene%0a%3c %0a%3c while true; do %0a%3c 	./galene -insecure -http :8444%0a%3c done%0a%3c %0a%3c EOF%0a%3c @]%0a%3c %0a%3c Start galene on boot:%0a%3c [@%0a%3c crontab -e%0a%3c @reboot tmux new -d "ksh ~/start.sh"%0a%3c @]%0a%3c %0a
+host:1731607194=50.126.114.178