Недавно колом стала задача сделать автоматическое подключение вафли к точке доступа. Алгоритм шифрования WPA. Недолго думая сел гуглить минимум инфы для написания башскрипта. А теперь по порядку.
Как всем хорошо известно, подключение к сети с шифрованием пароля WPA в линуксе происходит посредством программы wpa_supplicant. Она использует конфиг, который генерируется программой wpa_passphrase и подключает комп к сети, объявленной в этом конфиге. Итак, задачи, которые должен выполнять скрипт:
Сразу прошу сильно не ругать за возможную кривизну конструкции, в баше я новичок:
Я использовал цветовые эскейп-последовательности для улучшения читабельности выводимого текста.
Сделаем скрипт исполняемым при помощи
и слинкуем его для возможности запускать его без указания папки
Итак, скрипт готов, пора прописать его в автозапуск.
Для автозапуска я использовал файл /etc/rc.local, в который просто нужно добавить
И начиная с этого момента вафля будет автоматически запускаться при старте системы (конечно же скрипт можно запускать и ручками)
На этом все, благодарю за проявленное внимание, с радостью прийму всю критику и исправления =)
Запуск вафли
Как всем хорошо известно, подключение к сети с шифрованием пароля WPA в линуксе происходит посредством программы wpa_supplicant. Она использует конфиг, который генерируется программой wpa_passphrase и подключает комп к сети, объявленной в этом конфиге. Итак, задачи, которые должен выполнять скрипт:
- Подключаться к сети
- Проверять наличие конфига
- Проверять, подключена ли уже вафля
Сам скрипт
Сразу прошу сильно не ругать за возможную кривизну конструкции, в баше я новичок:
StartWiFi
#!/bin/bash CONFIG=/usr/share/wifi_config if ps ax | grep -v grep | grep wpa_supplicant > /dev/null then echo -e " \E[1;32m********************************************************************************* * * * WiFi already started * * * *********************************************************************************\E[0m "; else if [ -e $CONFIG ] then echo -e " \E[1;33m********************************************************************************* * * * WiFi starting... * * * *********************************************************************************\E[0m " wpa_supplicant -Dwext -iwlan0 -c$CONFIG & > /dev/null sleep 3 dhcpcd wlan0 >> /dev/null echo -e " \E[1;32m********************************************************************************* * * * WiFi starting success! * * * *********************************************************************************\E[0m "; else echo -e " \E[1;31m********************************************************************************* * Config file not exist, use: * * \E[01;32mwpa_passphrase SSID LOGIN PASSWORD >> /usr/share/wifi_config\E[1;31m * * and start this script again. * *********************************************************************************\E[0m "; fi fi
Я использовал цветовые эскейп-последовательности для улучшения читабельности выводимого текста.
Сделаем скрипт исполняемым при помощи
chmod +x /wifi
и слинкуем его для возможности запускать его без указания папки
ln -s /wifi /usr/bin/startwifi
Итак, скрипт готов, пора прописать его в автозапуск.
Автозапуск
Для автозапуска я использовал файл /etc/rc.local, в который просто нужно добавить
startwifi
И начиная с этого момента вафля будет автоматически запускаться при старте системы (конечно же скрипт можно запускать и ручками)
На этом все, благодарю за проявленное внимание, с радостью прийму всю критику и исправления =)