User Tools

Site Tools


brouillons:svxr_vm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
brouillons:svxr_vm [2021/05/10 19:51] – [Templates] f4hofbrouillons:svxr_vm [2021/05/11 06:48] (current) f4hof
Line 38: Line 38:
  
 # Install packages # Install packages
-apt install lighttpd php7.4-cgi ufw +apt install darkice icecast2 lighttpd php7.4-cgi ufw 
  
-# Lighttpd integration+Setup Lighttpd
 lighty-enable-mod fastcgi lighty-enable-mod fastcgi
 lighty-enable-mod fastcgi-php lighty-enable-mod fastcgi-php
Line 46: Line 46:
 systemctl reload lighttpd.service systemctl reload lighttpd.service
  
-Build patched svxreflector +Install Svxreflector 
-cd /usr/local/src+cd 
-apt install build-essential +SYSVER=$(grep VERSION_ID /etc/os-release | sed 's/"/g' | awk '{print $2;}') 
-apt build-dep svxreflector +if [[ "$SYSVER" == "10" ]] 
-apt source svxreflector +then 
-cd /usr/local/src/svxlink-*/debian/patches +  wget "http://f4hof.net/lib/exe/fetch.php/brouillons:svxreflector_17.12.1-2.1_amd64.deb" 
-# TODOcopy patch set in current directory +elif [[ "$SYSVER" == "11" ]] 
- +then 
-dpkg-buildpackage -us -uc+  wget "http://f4hof.net/lib/exe/fetch.php/brouillons:svxreflector_19.09.1-3.1_amd64.deb" 
 +else 
 +  echo "Unsupported system version" 
 +  exit 1 
 +fi 
 +dpkg -i ~/svxreflector*.deb 
 +apt install -
 +apt-mark hold svxreflector 
 +apt install svxlink-server
  
 # Creating the application environment # Creating the application environment
Line 60: Line 68:
 chown www-data:www-data /var/svx/ chown www-data:www-data /var/svx/
 systemctl restart lighttpd.service systemctl restart lighttpd.service
 +
 +# Setup web iface
 +
  
 # Firewalling # Firewalling
Line 69: Line 80:
  
  
-===== Patch set =====+===== Patched Svxreflector ===== 
 + 
 +==== Precompiled NMU packages ==== 
 + 
 +For Debian Buster 
 +<WRAP center round download 60%> 
 +{{ :brouillons:svxreflector_17.12.1-2.1_amd64.deb |}} 
 +</WRAP> 
 + 
 +For Debian Bullseye 
 +<WRAP center round download 60%> 
 +{{ :brouillons:svxreflector_19.09.1-3.1_amd64.deb |}} 
 +</WRAP> 
 + 
 +==== Howto build packages ==== 
 + 
 +<code bash> 
 +# Build patched svxreflector 
 +cd /usr/local/src/ 
 +apt install build-essential 
 +apt build-dep svxreflector 
 +apt source svxreflector 
 +cd /usr/local/src/svxlink-*/debian/patches 
 +# TODO: copy f4hof-*.patch in current directory 
 +echo f4hof-add-svxreflector-default-pwd-group.patch >> series 
 +echo f4hof-reject-anon.patch >> series 
 +cd /usr/local/src/svxlink-*/ 
 +quilt push -a 
 +dch --nmu 
 +# Edit the Changelog 
 +dpkg-buildpackage -us -uc 
 +# Packages will be available in /usr/local/src/ 
 +</code>
  
 ==== Version 17.12.1 ==== ==== Version 17.12.1 ====
  
-<code patch f4hof-add-svxreflector-default-pwd-group.patch>+<code diff f4hof-add-svxreflector-default-pwd-group.patch>
 Index: svxlink-17.12.1/src/svxlink/reflector/ReflectorClient.cpp Index: svxlink-17.12.1/src/svxlink/reflector/ReflectorClient.cpp
 =================================================================== ===================================================================
Line 92: Line 135:
 </code> </code>
  
-<code patch f4hof-reject-anon.patch>+<code diff f4hof-reject-anon.patch>
 Index: svxlink-17.12.1/src/svxlink/reflector/ReflectorClient.cpp Index: svxlink-17.12.1/src/svxlink/reflector/ReflectorClient.cpp
 =================================================================== ===================================================================
Line 114: Line 157:
 ==== Version 19.09.1 ==== ==== Version 19.09.1 ====
  
-<code patch f4hof-add-svxreflector-default-pwd-group.patch>+<code diff f4hof-add-svxreflector-default-pwd-group.patch> 
 +Index: svxlink-19.09.1/src/svxlink/reflector/ReflectorClient.cpp 
 +=================================================================== 
 +--- svxlink-19.09.1.orig/src/svxlink/reflector/ReflectorClient.cpp 
 ++++ svxlink-19.09.1/src/svxlink/reflector/ReflectorClient.cpp 
 +@@ -520,9 +520,8 @@ std::string ReflectorClient::lookupUserK 
 +   string auth_group; 
 +   if (!m_cfg->getValue("USERS", callsign, auth_group) || auth_group.empty()) 
 +   { 
 +-    cout << "*** WARNING: Unknown user \"" << callsign << "\"" 
 +-         << endl; 
 +-    return ""; 
 ++    /* Unknown user, silently hinting to group DefaultPassword. */ 
 ++    auth_group = "DefaultPassword"; 
 +   } 
 +   string auth_key; 
 +   if (!m_cfg->getValue("PASSWORDS", auth_group, auth_key) || auth_key.empty())
 </code> </code>
  
-<code patch f4hof-reject-anon.patch>+<code diff f4hof-reject-anon.patch> 
 +Index: svxlink-19.09.1/src/svxlink/reflector/ReflectorClient.cpp 
 +=================================================================== 
 +--- svxlink-19.09.1.orig/src/svxlink/reflector/ReflectorClient.cpp 
 ++++ svxlink-19.09.1/src/svxlink/reflector/ReflectorClient.cpp 
 +@@ -524,6 +524,12 @@ std::string ReflectorClient::lookupUserK 
 +     auth_group = "DefaultPassword"; 
 +   } 
 +   string auth_key; 
 ++  if (strcasestr( callsign.c_str(), "5P07N1K") != NULL) 
 ++  { 
 ++    /* Deny connection to anons */ 
 ++    cout << "Attempt to connect as \"" << callsign << "\" denied." << endl; 
 ++    return ""; 
 ++  } 
 +   if (!m_cfg->getValue("PASSWORDS", auth_group, auth_key) || auth_key.empty()) 
 +   { 
 +     cout << "*** ERROR: User \"" << callsign << "\" found in SvxReflector "
 </code> </code>
  
 ===== Systemd Units ===== ===== Systemd Units =====
  
-<code patch svxreflector@.service>+<code ini svxreflector@.service>
 [Unit] [Unit]
-Description=SvxLink Reflector for room %l+Description=SvxLink Reflector for room %I
 Documentation=man:svxreflector(1) Documentation=man:svxreflector(1)
 After=network.target remote-fs.target time.target After=network.target remote-fs.target time.target
Line 147: Line 223:
  
  
-<code patch svxlink@.service>+<code ini svxlink@.service>
  
 [Unit] [Unit]
-Description=SvxLink client for room %l+Description=SvxLink client for room %I
 Documentation=man:svxlink(1) Documentation=man:svxlink(1)
 After=network.target remote-fs.target time.target sound.target svxreflector@%i.service After=network.target remote-fs.target time.target sound.target svxreflector@%i.service
Line 172: Line 248:
  
  
-<code patch darkice@.service>+<code ini darkice@.service>
 [Unit] [Unit]
-Description=Darkice server for room %l+Description=Darkice server for room %I
 Documentation=man:darkice(1) Documentation=man:darkice(1)
 After=network.target time.target icecast2.service sound.target After=network.target time.target icecast2.service sound.target
Line 281: Line 357:
 [GLOBAL] [GLOBAL]
 LOGICS=SimplexLogic,ReflectorLogic LOGICS=SimplexLogic,ReflectorLogic
-CFG_DIR=svxlink.d+CFG_DIR=/etc/svxlink/svxlink.d
 TIMESTAMP_FORMAT="%c" TIMESTAMP_FORMAT="%c"
 CARD_SAMPLE_RATE=48000 CARD_SAMPLE_RATE=48000
Line 317: Line 393:
 PREEMPHASIS=0 PREEMPHASIS=0
 </code> </code>
 +
 +==== Logrotate ====
 +
 +<code svxreflector>
 +/var/log/svxlink/svx-*.log {
 +    missingok
 +    notifempty
 +    weekly
 +    rotate 3
 +    create 0644 svxlink daemon
 +    postrotate
 +        killall -HUP svxreflector
 +    endscript
 +}
 +
 +/var/log/svxlink/svxlink-*.log {
 +    missingok
 +    notifempty
 +    weekly
 +    rotate 3
 +    create 0644 svxlink daemon
 +    postrotate
 +        killall -HUP svxreflector
 +    endscript
 +}
 +</code>
 +
 ===== Structure /var/svx ===== ===== Structure /var/svx =====
   * svxreflector-vhost.conf   * svxreflector-vhost.conf
brouillons/svxr_vm.1620676310.txt.gz · Last modified: 2021/05/10 19:51 by f4hof