# Это временно. Переменную timezone должна определить ndms (прошивка)
if [ -f "/var/TZ" ]; then
  export TZ="$(cat /var/TZ)"
else
  export TZ="UTC"
fi

logger -t installer '[1/4] Начало установки системы пакетов "Entware"...'

# checking "opkg chroot"
if [ -n "$(echo $(wget -qO - localhost:79/rci/opkg/chroot) | grep 'true')" ]; then
	logger -t installer 'Info: Активирована настройка "opkg chroot"...'
	logger -t installer 'Critical error: Продолжение установки невозможно!'
	logger -t installer 'Выход из установки.'
	exit 1
  else
	check_fs_opt="$(mount | grep 'on /opt ' | cut -d' ' -f5)"
fi

case "$check_fs_opt" in
    ext*)
	logger -t installer 'Info: Раздел пригоден для установки.'
    ;;
    *ntfs*)
	logger -t installer 'Info: Раздел NTFS! Атрибуты "owner:group" могут не поддерживаться.'
	logger -t installer 'При возникновении проблем, используйте накопитель с файловой системой ext2/ext3/ext4.'
    ;;
    *hfs*)
	logger -t installer 'Info: Раздел с HFS! (!не тестировалось!)'
	logger -t installer 'При возникновении проблем, используйте накопитель с файловой системой ext2/ext3/ext4.'
    ;;
    ubifs)
	logger -t installer 'Info: Раздел с UBIFS! (!не тестировалось!)'
	logger -t installer 'При возникновении проблем, используйте внешний накопитель с файловой системой ext2/ext3/ext4.'
    ;;
    *)
        logger -t installer 'Critical error: Неизвестный тип ФС. Используйте накопитель с файловой системой ext2/ext3/ext4. Отменяем...'
	logger -t installer 'Выход из установки.'
	exit 1
    ;;
esac

# Установка прав для многопользовательской среды
chmod 777 /opt/tmp

# keygen
logger -t installer '[2/4] Генерация SSH-ключей...'

for key in rsa ecdsa ed25519; do
  rm /opt/etc/dropbear/dropbear_${key}_host_key
	logger -t installer "Info: Генерируется ключ \"$key\"..."
  if ! dropbearkey -t $key -f /opt/etc/dropbear/dropbear_${key}_host_key >/dev/null 2>&1
    then
	logger -t installer "Critical error: Во время генерации ключа \"$key\" произошла ошибка."
	logger -t installer 'Выход из установки.'
	exit 1
    else
	logger -t installer "Info: Ключ \"$key\" создан."
	sleep 1
  fi
done

mv -f /opt/home/* /opt/etc/init.d

logger -t installer '[3/4] Настройка сценария запуска, установка часового пояса и запуск "dropbear"...'

# TZ
timezone="$(echo $(wget -qO - localhost:79/rci/show/clock/date/tz | grep locality | cut -d':' -f2 | sed 's#\("\|,\)##g'))"

if [ -n "$timezone" ]; then
  ln -sf /opt/share/zoneinfo/"$timezone" /opt/etc/localtime
fi

# SSH
if [ -f "/usr/sbin/dropbear" ] || [ -n "$(pidof dropbear)" ]; then
	sed -i "s,PORT=22\$,PORT=222," /opt/etc/config/dropbear.conf
fi

/opt/etc/init.d/S51dropbear start

wget -qO - --post-data='[{"opkg":{"initrc":{"path":"/opt/etc/init.d/rc.unslung"}}},{"system":{"configuration":{"save":true}}}]' localhost:79/rci >/dev/null 2>&1

if grep -q "222" /opt/etc/config/dropbear.conf; then
	logger -t installer 'Можно открыть SSH-сессию для соединения с устройством (логин - root, пароль - keenetic, порт - 222).'
  else
	logger -t installer 'Можно открыть SSH-сессию для соединения с устройством (логин - root, пароль - keenetic).'
fi

logger -t installer '[4/4] Установка системы пакетов "Entware" завершена! Не забудьте сменить пароль и номер порта!'

rm /opt/etc/init.d/doinstall

rm "$0"
