-
Notifications
You must be signed in to change notification settings - Fork 1
/
svxreflector_config.sh
169 lines (122 loc) · 3.76 KB
/
svxreflector_config.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
#!/bin/sh
############################
#Configuration svxreflector#
# F8ASB 2022 #
############################
whiptail --title "INFORMATION:" --msgbox "Ce programme permet de configurer un serveur regional avec svxreflector. Team F4ICR/F5SWB/F8ASB" 15 60
while : ; do
choix=$(whiptail --title "Choisir votre action" --radiolist \
"Que voulez vous faire ?" 15 50 4 \
"1" "CONFIGURATION de SvxReflector " ON \
"2" "CONFIGURATION de Salon régional " OFF \
"3" "ACTIVER SvxReflector au demarrage " OFF 3>&1 1>&2 2>&3)
exitstatus=$?
if [ $exitstatus = 0 ]; then
echo "Your chosen option:" $choix
else
echo "You chose Cancel."; break;
fi
choix_port()
{
port=$(whiptail --inputbox "Entrez le Port: ?" 8 39 5300 --title "Frequence TX" 3>&1 1>&2 2>&3)
exitstatus=$?
if [ $exitstatus = 0 ]; then
echo "Port: " $port
choix_password
else
echo "Annulation"; break;
fi
}
choix_password()
{
password=$(whiptail --inputbox "Votre mot de passe ?" 8 39 1234567 --title "Entrez votre mot de passe:" 3>&1 1>&2 2>&3)
exitstatus=$?
if [ $exitstatus = 0 ]; then
echo "Mot de passe " $password
configuration_save
else
echo "Annulation"; break;
fi
}
configuration_save()
{
#telechargement du fichier svxreflector
wget -N https://raw.githubusercontent.com/F8ASB/uSvxCard/main/svxreflector.conf -P /etc/spotnik/
#definition du port
sed -i 's/LISTEN_PORT=XXXX/LISTEN_PORT='$port'/g' /etc/spotnik/svxreflector.conf > /dev/null 2>&1
#definition du mot de passe
sed -i 's/AUTH_KEY=XXXXX/AUTH_KEY='$password'/g' /etc/spotnik/svxreflector.conf > /dev/null 2>&1
}
activer_demarrage()
{
ip_adresse=$(curl ifconfig.me);
ajout de la commande au demarrage
sed -i '/make start/a \sleep 2' /etc/rc.local
sed -i '/make start/a \svxreflector --config=/etc/spotnik/svxreflector.conf --daemon --logfile=/tmp/svxreflector.log' /etc/rc.local
sed -i '/make start/a \#DEMARRAGE SVXREFLECTOR' /etc/rc.local
sed -i '/make start/a \ ' /etc/rc.local
whiptail --title "INFORMATION SERVEUR REGIONAL:" --msgbox "Informations à transmettre aux utilisateurs:
-Adresse IP:$ip_adresse
-Port:$port
-Mot de passe:$password
Un redemarrage sera necessaire pour la prise en compte de la configuration
Cliquer sur Ok pour continuer..." 20 60
}
choix_adresse_salon()
{
host=$(whiptail --inputbox "Entrez l'adresse du serveur: ?" 8 39 xxxxxxxxxx --title "Adresse du serveur:" 3>&1 1>&2 2>&3)
exitstatus=$?
if [ $exitstatus = 0 ]; then
echo "Port: " $host
choix_auth_salon
else
echo "Annulation"; break;
fi
}
choix_auth_salon()
{
password2=$(whiptail --inputbox "Entrez le mot de passe du serveur: ?" 8 39 xxxxxxx --title "Mot de passe du salon:" 3>&1 1>&2 2>&3)
exitstatus=$?
if [ $exitstatus = 0 ]; then
echo "Port: " $password2
choix_port_salon
else
echo "Annulation"; break;
fi
}
choix_port_salon()
{
port2=$(whiptail --inputbox "Entrez le Port: ?" 8 39 5300 --title "Port du salon" 3>&1 1>&2 2>&3)
exitstatus=$?
if [ $exitstatus = 0 ]; then
echo "Port: " $port2
ecrire_config_salon
else
echo "Annulation"; break;
fi
}
ecrire_config_salon()
{
#telechargement du fichier restart.reg
wget -N https://raw.githubusercontent.com/F8ASB/uSvxCard/main/restart.reg -P /etc/spotnik/
sleep 2
#remplacement du fichier restar.reg par les valeurs données
sed -i 's/HOST=XXXXXXXXXXXXXX/HOST='$host'/g' /etc/spotnik/restart.reg
sed -i 's/AUTH_KEY=XXXXX/AUTH_KEY='$password2'/g' /etc/spotnik/restart.reg
sed -i 's/PORT=5300/PORT='$port2'/g' /etc/spotnik/restart.reg
whiptail --title "INFORMATION SALON REGIONAL:" --msgbox "Votre salon régional est maintenant configuré
Cliquer sur Ok pour continuer..." 10 60
}
case $choix in
1)
choix_port
;;
2)
choix_adresse_salon
;;
3)
activer_demarrage
;;
esac
done
exit 0