Блог Влада Вильгельма

линуксбоксер

2017-04-24 13:20:59 /программы/

 

Предлагаю вашему вниманию небольшую программку, предназначенную для рутинной установки софта на устройства на базе линукс. В частности, на тюнера.

Технически, она состоит из трех компонентов:

  • сканера портов, выискивающего все открытые порты telnet в локальной сети;
  • клиента telnet, способного автоматически загружать и выполнять заранее подготовленные скрипты;
  • и web сервера, служащего источником для загрузки необходимых компонентов в устройство.

Выглядит все это великолепие примерно так...



Как видим, интерфейс программы рассчитан на мартышку. Т.е. подготовив необходимые настройки, установку софта можно доверить и уборщице (заодно поднимете ее самооценку... гы-гы-гы /гнусно хихикает/).

По умолчанию, скрипты располагаются во вложенной папке scripts и их названия подгружаются в меню выбора скрипта при старте программы. Скрипт описывается одним обязательным и двумя опциональными файлами:

  • мой_скрипт.script - исполняемый файл (любого типа. как минимум, shell script);
  • мой_скрипт.info - текст предупреждения перед загрузкой программы в тюнер;
  • мой_скрипт.after - сообщение после отправки данных на устройство (например, может содержать инструкции типа "выдерните из розетки!").

Скрипт может выглядеть примерно так:

#!/bin/sh
echo "updating"
killall autodial3g.sh
mount -o remount,rw /
echo "downloading autodial"
wget http://<server>/autodial3g.sh -O /etc/autodial3g.sh
chmod 755 /etc/autodial3g.sh
echo "configuring services"
wget http://<server>/sx4/service.sh -O /etc/init.d/service.sh
chmod 755 /etc/init.d/service.sh
echo "downloading ns settings"
wget http://<server>/nsswitch.conf -O /etc/nsswitch.conf
chmod 755 /etc/nsswitch.conf
echo "done..."
mount -o remount,ro /
echo "restart needed"


Обратите внимание на

    wget http://<server>/autodial3g.sh -O /etc/autodial3g.sh


При загрузке скрипта на устройство, тег <server> будет автоматически заменен на IP адрес вашего компьютера, дополненный портом, на котором отвечает web сервер программы. Т.е. если вам нужно качать какие-то данные не с интернета или локальных серверов, а со своего компа (буде таковой не имеет фиксированного адреса), этот финт ушами позволит пользоваться сим скриптом в любую погоду и на любом компе.

Корневой папкой web сервера так же является папка scripts.


Прямое общение

В принципе, вводить команды можно прям в окне ответа тюнера, но в этом случае, они останутся в истории только тюнера (и то - не факт). Поле ввода команд хранит историю для всех введенных команд и может повторяться на разных устройствах. Рутина ахы...


Настройки

После первого запуска программы, в %APPSETTINGS% вашего профиля создается папка настроек, содержащая 2 файла:

~/.config/wilhelm/tuner-setup$ ls
commands.txt  settings.ini

  • commands.txt  - содержит историю команд, введенных вручную в поле ввода;
  • settings.ini - файл настроек программы...


[net]
prefix=10.20.0.

[web]
port=1380
folder=/home/vlad/tuner_telnet/scripts/

[telnet]
login=root
password=root


Префикс сети - строка, к которой добавляются цифры от 1 до 250 при поиске устройств в сети.

При подключении к устройству, программа пытается автоматически залогиниться на его telnet сервере с реквизитами, указанными в файле настроек.


Немного о примерах

В архиве программы находятся скрипты отключающие DNS клиента на тюнере и заставляющие его использовать USB модем для связи только с конкретным сервером. Пример кривой, но работающий :)



Прикрепленные файлы:

замордобучить

powered by WILHELM.AZ