Advertisement
Guest User

Untitled

a guest
Nov 1st, 2011
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.46 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # functions
  4.  
  5. die() {
  6. echo "$@"
  7. exit 1
  8. }
  9.  
  10. set() {
  11. echo "setting for $1..."
  12. if [ "`whoami`" = "root" ]; then
  13.  ifconfig $1 down
  14.  ifconfig $1 192.168.0.10 netmask 255.255.255.0 up 2>/dev/null   || die "Ошибка настройки сетевого интерфейса. (ifconfig $1 192.168.0.10 netmask /8 up fail - ret $?)"
  15.  route add default dev $1 gw 192.168.0.1 2>/dev/null  || die "Ошибка настройки сетевого интерфейса. (route add fail - ret $?)"
  16.     else
  17.  which sudo >/dev/null 2>/dev/null && echo "Введите Ваш пароль, если потребуется.." || die "Критическая ошибка - вы не root, а sudo не найден в вашей системе"
  18.   sudo ifconfig $1 down
  19.   sudo ifconfig $1 192.168.0.10 netmask 255.255.255.0  up 2>/dev/null  || die "Ошибка настройки сетевого интерфейса. (ifconfig $1 192.168.0.10 netmask /8 up fail - ret $?)"
  20.   sudo route add default dev $1 gw 192.168.0.1 2>/dev/null  || die "Ошибка настройки сетевого интерфейса. (route add fail - ret $?)"
  21. fi
  22. }
  23.  
  24. try(){
  25. ping -c 1 -w 1 192.168.0.1
  26. }
  27.  
  28. firmware="$1"
  29.  
  30. # welcome
  31.  
  32. echo "=================================================================="
  33. echo "Добро пожаловать в D-Link Flasher!"
  34. echo "=================================================================="
  35. [ -r "$firmware" ] && echo -n "Укажите сетевой интерфейс, к которому подключен ваш роутер: " || die "Не найден указанный файл прошивки ($firmware)"
  36. read iface
  37. echo
  38. if ! ifconfig $iface >/dev/null 2>/dev/null; then
  39.    die "Неверный интерфейс $iface"
  40. fi
  41.    echo "Настрока сетевого интерфейса..."
  42.    set $iface;
  43.    echo;
  44.   echo -n "Загрузить $firmware в ваш роутер? Нажмите Enter для продолжения и Ctrl+C для отмены."  
  45.  
  46. read
  47.  
  48. echo
  49.  
  50. # flashing
  51.  
  52. echo "*** Отключите питание роутера ***"
  53.  
  54. echo "[ пауза 5 сек. ]"
  55.  
  56. sleep 5
  57.  
  58. echo "*** Включите питание роутера ***"
  59.  
  60. try
  61.  
  62. while [ "$?" != "0" ] ;
  63.  do
  64.    try
  65. done  
  66.  
  67. echo "**** Начинаю загружать прошивку... **** "
  68. atftp --no-source-port-checking -p -l "$firmware" 192.168.0.1
  69. echo "Прошивка успешно загружена!"
  70.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement