1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/hotspot_ynh.git synced 2024-09-03 19:25:53 +02:00

Improve templating seds etc

This commit is contained in:
Alexandre Aubin 2021-11-15 23:45:27 +01:00
parent 97a1c737ea
commit 00fd220f15
4 changed files with 17 additions and 43 deletions

8
conf/hostapd.base.conf Normal file
View file

@ -0,0 +1,8 @@
interface=__WIFI_DEVICE__
hw_mode=g
__N_COMMENT__ieee80211n=1
__N_COMMENT__wmm_enabled=1
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
channel=__WIFI_CHANNEL__

View file

@ -1,26 +0,0 @@
# Wifi Hotspot app for YunoHost
# Copyright (C) 2015 Julien Vaubourg <julien@vaubourg.com>
# Contribute at https://github.com/labriqueinternet/hotspot_ynh
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
interface=__WIFI_DEVICE__
hw_mode=g
__N_COMMENT__ieee80211n=1
__N_COMMENT__wmm_enabled=1
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
channel=__WIFI_CHANNEL__

View file

@ -164,40 +164,32 @@ start_dhcpd4() {
dnsmasq -C /etc/dnsmasq.dhcpd/dhcpdv4-ssid${i}.conf -p0
}
start_hostapd() {
cp /etc/hostapd/hostapd.conf{.tpl1,}
configure_hostapd() {
ethaddr=$(ip link show dev "${ynh_wifi_device}" | grep link/ether | awk -F: '{ printf "02:%s:%s:%s:%s:00", $2, $3, $4, $5 }')
ip link set addr "${ethaddr}" dev "${ynh_wifi_device}"
cp /etc/hostapd/hostapd.base.conf /etc/hostapd/hostapd.conf
sed "s|__WIFI_DEVICE__|${ynh_wifi_device}|g" -i /etc/hostapd/hostapd.conf
sed "s|__WIFI_CHANNEL__|${ynh_wifi_channel}|g" -i /etc/hostapd/hostapd.conf
sed "s|__N_COMMENT__||g" -i /etc/hostapd/hostapd.conf
for i in $(seq 0 $((${ynh_multissid} - 1))); do
cp /etc/hostapd/hostapd.conf{.tpl2,.tmp}
[ "${ynh_wifi_secure[${i}]}" -eq 1 ] && local sec_comment="" || local sec_comment="#"
[ "${i}" -eq 0 ] && local bss_comment="#" || local bss_comment=""
cp /etc/hostapd/hostapd.accesspoint.conf /etc/hostapd/hostapd.conf.tmp
sed "s|__WIFI_INTERFACE__|hotspot${i}|g" -i /etc/hostapd/hostapd.conf.tmp
sed "s|__WIFI_SSID__|${ynh_wifi_ssid[${i}]}|g" -i /etc/hostapd/hostapd.conf.tmp
sed "s|__WIFI_PASSPHRASE__|${ynh_wifi_passphrase[${i}]}|g" -i /etc/hostapd/hostapd.conf.tmp
if [ "${ynh_wifi_secure[${i}]}" -eq 1 ]; then
sed "s|__SEC_COMMENT__||g" -i /etc/hostapd/hostapd.conf.tmp
else
sed "s|__SEC_COMMENT__|#|g" -i /etc/hostapd/hostapd.conf.tmp
fi
if [ "${i}" -eq 0 ]; then
sed "s|__BSS_COMMENT__|#|g" -i /etc/hostapd/hostapd.conf.tmp
else
sed "s|__BSS_COMMENT__||g" -i /etc/hostapd/hostapd.conf.tmp
fi
sed "s|__SEC_COMMENT__|${sec_comment}|g" -i /etc/hostapd/hostapd.conf.tmp
sed "s|__BSS_COMMENT__|${bss_comment}|g" -i /etc/hostapd/hostapd.conf.tmp
cat /etc/hostapd/hostapd.conf.tmp >> /etc/hostapd/hostapd.conf
rm /etc/hostapd/hostapd.conf.tmp
done
systemctl start hostapd
}
## Unsetters