Server TeaMusicBot Reinstall & Proxy Server Configuration

yamano

TeaFanatic
Premium User
Hi Guys

Here is a simple tutorial of how to install / reinstall Teaspeak MusicBot
and how to configure a Danted Proxy Server to use with youtube-dl
(prevent / avoid frequent ip block by youtube when using TeaMusicBot).

Reintall TeaMusicbot:

1. su teaspeak
2. cd
3. ./install_music.sh install -youtube-dl -ffmpeg -y

----------------------------------------------------

Danted Proxy Server Configuration (socks5):

1. apt update
2. apt install dante-server
3. nano /etc/init.d/danted

Copy / Paste and save:

#! /bin/sh
### BEGIN INIT INFO
# Provides: danted
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: SOCKS (v4 and v5) proxy daemon (danted)
# Description: Starts or stops the Dante SOCKS proxy daemon.
# Its configuration is stored in the /etc/danted.conf file;
# see the danted.conf(5) manual page for details.
### END INIT INFO
#
# dante SOCKS server init.d file. Based on /etc/init.d/skeleton:
# Version: @(#)skeleton 1.8 03-Mar-1998 miquels@cistron.nl

. /lib/lsb/init-functions

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/sockd
NAME=danted
DESC="Dante SOCKS daemon"
PIDFILE=/var/run/$NAME.pid
CONFFILE=/etc/$NAME.conf

test -f $DAEMON || exit 0

set -e

# This function makes sure that the Dante server can write to the pid-file.
touch_pidfile ()
{
if [ -r $CONFFILE ]; then
uid="`sed -n -e 's/[[:space:]]//g' -e 's/#.*//' -e '/^user\.privileged/{s/[^:]*://p;q;}' $CONFFILE`"
if [ -n "$uid" ]; then
touch $PIDFILE
chown $uid $PIDFILE
fi
fi
}

case "$1" in
start)
if ! egrep -cve '^ *(#|$)' \
-e '^(logoutput|user\.((not)?privileged|libwrap)):' \
$CONFFILE > /dev/null
then
echo "Not starting $DESC: not configured."
exit 0
fi
echo -n "Starting $DESC: "
touch_pidfile
start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE \
--exec $DAEMON -- -D
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE \
--exec $DAEMON
echo "$NAME."
;;
reload|force-reload)
#
# If the daemon can reload its config files on the fly
# for example by sending it SIGHUP, do it here.
#
# If the daemon responds to changes in its config file
# directly anyway, make this a do-nothing entry.
#
echo "Reloading $DESC configuration files."
start-stop-daemon --stop --signal 1 --quiet --pidfile \
$PIDFILE --exec $DAEMON -- -D
;;
restart)
#
# If the "reload" option is implemented, move the "force-reload"
# option to the "reload" entry above. If not, "force-reload" is
# just the same as "restart".
#
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON
sleep 1
touch_pidfile
start-stop-daemon --start --quiet --pidfile $PIDFILE \
--exec $DAEMON -- -D
echo "$NAME."
;;
status)
if ! egrep -cve '^ *(#|$)' \
-e '^(logoutput|user\.((not)?privileged|libwrap)):' \
$CONFFILE > /dev/null
then
configured=''
else
configured='1'
fi
if start-stop-daemon --status --quiet --pidfile $PIDFILE \
--exec $DAEMON; then
if [ -n "$configured" ]; then
echo "$DESC running"
else
echo "$DESC running, yet not configured?!"
fi
else
if [ -n "$configured" ]; then
echo "$DESC not running"
else
echo "$DESC not configured"
fi
fi
;;
*)
N=/etc/init.d/$NAME
# echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
exit 1
;;
esac


exit 0


4. chmod +x /etc/init.d/danted
5. update-rc.d danted defaults
You can start / stop danted proxy server using:
systemctl status danted
systemctl start danted
systemctl stop danted

6. check the server interface:
ip a

7. Before edit the configuration file, you must make a backup:
mv /etc/danted.conf /etc/danted.conf.bak

8. nano /etc/danted.conf

Copy / Paste and save:

logoutput: /var/log/socks.log
internal: eth0 port = 1080
external: eth0
clientmethod: none
socksmethod: none
user.privileged: root
user.notprivileged: nobody

client pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: error connect disconnect
}
client block {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: connect error
}
socks pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: error connect disconnect
}
socks block {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: connect error
}



ATTENTION: eth0 must be replaced by your interface name
and the port 1080 (tcp) can be edited to the port you want.

9. Start Danted proxy:
systemctl start danted

10. Check if it is running:
systemctl status danted

11. Dante Socks5 proxy check example:
curl -x socks5://your_server_ip:1080 ifconfig.co

Output example of the command:
root@your_server:~# curl -x socks5://192.168.0.1:1080 ifconfig.co
192.168.0.1

If it looks like this, Danted proxy server should now be correctly configured ;)

----------------------------------------------------

Disable ipv6 server network:

1. nano /etc/sysctl.conf
2. Add and save:
net.ipv6.conf.all.disable_ipv6 = 1

3. sysctl -p

----------------------------------------------------

Configure TeaMusicBot youtube-dl to use Danted proxy:

1. Go to /home/teaspeak/providers
2. Open "config_youtube.ini" file
3. Edit like this and save:
youtubedl_command=/home/teaspeak/providers/bin/youtube-dl --proxy socks5://your_server_ip:1080

I recommend to restart teaspeak server and test if teamusicbot is working ;)

----------------------------------------------------

AutoStart Danted Proxy in system boot:

1. crontab -e

Copy / paste and save:
@reboot sleep 5 && systemctl start danted


(Recommended Systems: Debian 9+ / Ubuntu 18+)

Hope it helps somebody ;)
Regards
 
Last edited:

Zaltimo

New member
Hi I was followed your tutorial I have Ubuntu 20.04 and look

Python 3.8.2
root@vm5890:~# su - teaspeak
teaspeak@vm5890:~$ ./install_music.sh install -youtube-dl -ffmpeg -y
Enforcing youtube-dl install/update
Testing/Installing FFMPEG
Local installed FFMPEG version (4.2.2) is okey. No need to install FFMPEG.
Testing/Installing youtube-dl
rm: cannot remove 'tmp_files': No such file or directory
Failed to remove tmp_files directory
Installation error:
youtube-dl requires python to run! Please install python first
teaspeak@vm5890:~$

this is error you have some sugestions
 

yamano

TeaFanatic
Premium User
Thats not my tutorial fault xD
"youtube-dl requires python to run! Please install python first"
command: apt-get install python