Page 3 of 4 FirstFirst 1234 LastLast
Results 31 to 45 of 59

Thread: Вышла версия 1.9.2.7-7g

  1. #31
    Quote Originally Posted by vovan007 View Post
    А для премиума DOWNLOAD MACHINE и поддержка торрента включена в прошивку?
    DOWNLOAD MACHINE это разработка ASUS (исходников нет) и она не включена ни в одну прошивку "от Олега"... торрент клиент легко ставится самостоятельно см. http://wl500g.info/showthread.php?t=5438&page=9

  2. #32
    Тогда еще вопрос: а можно ли добавить закачку фалов с http (или ftp) на флейшку?

  3. #33
    Join Date
    May 2006
    Location
    Москва
    Posts
    355
    Это умеет wget.
    У меня тоже есть роутер!

  4. #34
    Ну можеть когда я получу свой роутер, то напишу софтику на... C# которая будет управлять закачкой на компе через роутер. Самый простой вариант это она будет просто подключаться к консоли. Вариант посложнее (надо разбиратьсься как оформлять С++ прогу для линуса) написать демон который будут принимать команды через сокет

  5. #35
    Да, wget есть. Прийдется вспомнить linux для работы с этим роутером. Спасибо.

  6. #36
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    Хотя в принципе в конфе вопрос уже не раз обсуждался и предлагались разные скрипты для этой цели, тем не менее могу поделиться скриптом собственной разработки, который осуществляет закачку с помощью wget в 1 поток. Скрипт написан на tcl. Для его работы требуется установить tcl: ipkg install tcl

    Добавление закачки производится путем добавления URL в текстовый файл ( /opt/tmp/wget/wget.list ), содержащий список закачек.

    А вот собственно код:
    /opt/local/bin/check.wget.tcl
    PHP Code:
    #! /bin/sh
    # The next line is executed by /bin/sh, but not tcl \
    exec tclsh8.4 "$0" ${1+"$@"}

    set WGET_BIN             [file join opt bin wget]
    set WGET_BASE            [file join opt tmp wget]

    set WGET_LIST            [file join $WGET_BASE wget.list]
    set WGET_LIST_COMPLETED  [file join $WGET_BASE wget.completed.list]
    set WGET_LIST_NOT_FOUND  [file join $WGET_BASE wget.not_found.list]
    set WGET_LOG             [file join $WGET_BASE wget.log]

    set WGET_PARTIAL         [file join $WGET_BASE partial]
    set WGET_COMPLETED       [file join $WGET_BASE completed]

    proc FileToList {FileName} {
        if {[catch {
    open $FileName rf]} {
            
    puts "Unable to open \"$FileName\" for reading; error $f."
            
    exit
        }
        
    set lList {}
        
    set str ""
        
    while {![eof $f] } {
            
    gets $f str
            
    if {[string trim $strne ""} {
              
    lappend lList [string trim $str]
            }
        }
        
    close $f
        
    return $lList
    }

    proc ListToFile {FileName lList} {
        if {[catch {
    open $FileName wf]} {
            
    puts "Unable to open \"$FileName\" for writing; error $f."
            
    exit
        }
        foreach 
    i $lList {
          
    puts $f [string trim $i]
        }
        
    close $f
    }

    set lList [FileToList $::WGET_LIST]
    set CurrentURL [lindex $lList 0]

    while {
    1} {
      
    set CurrentConnections [regexp -all {bin/wget} [exec ps]]
      if {
    $CurrentConnections 0} {
    #    puts "wget is already running"
      
    } else {
        
    set FileName [lindex [file split $CurrentURLend]
        
    set lList [FileToList $::WGET_LIST]
        
    set Out [exec head -n3 $::WGET_LOG]
        
    set rule "^.*$FileName.*"
    #Do nothing if the line is empty (this includes also empty input file)
        
    if { "X$CurrentURLne "X"} {
    #Let's check that log corresponds to the top line of wget.list
          
    if {[regexp $rule $Out]} {
            
    set Out [exec tail -n3 $::WGET_LOG]
            
    set rule "^.*$FileName.*saved.*"
    #Check if the file is completed
            
    if {[regexp $rule $Out] || [regexp {The file is already fully retrievednothing to do} $Out]} {
              
    file rename -force [file join $::WGET_PARTIAL $FileName] [file join $::WGET_COMPLETED]
              for {
    set i 0} {$i < [llength $lList]} {incr i} {
                if {[
    lindex $lList $ieq $CurrentURL} {
                  
    set lList [lreplace $lList $i $i]
                  
    incr i -1
                
    }
              }
              
    ListToFile $::WGET_LIST $lList
              set f 
    [open $::WGET_LIST_COMPLETED a]
              
    puts $f $CurrentURL
              close $f
            
    }
    #Check if URL is not found
            
    set rule "^.*ERROR 404.*Not Found.*"
            
    if {[regexp $rule $Out]} {
              for {
    set i 0} {$i < [llength $lList]} {incr i} {
                if {[
    lindex $lList $ieq $CurrentURL} {
                  
    set lList [lreplace $lList $i $i]
                  
    incr i -1
                
    }
              }
              
    ListToFile $::WGET_LIST $lList
              set f 
    [open $::WGET_LIST_NOT_FOUND a]
              
    puts $f $CurrentURL
              close $f
              set CurrentURL 
    ""
            
    }
          }
        }
        if {[
    llength $lList] != 0} {
          
    set CurrentURL [lindex $lList 0]
          
    exec $::WGET_BIN $CurrentURL --background --continue --directory-prefix=$::WGET_PARTIAL --output-file=$::WGET_LOG
    #      exec $::WGET_BIN $CurrentURL -b -c -P $::WGET_PARTIAL -o $::WGET_LOG
        
    }
      }
      
    after [expr {30 1000}]

    Этот скрипт сидит в оперативке и каждые 30 сек проверяет запущен ли wget. Если нет, то он запускает загрузку файла, который записан в первой строке файла /opt/tmp/wget/wget.list Первая версия использовала cron, однако, после достаточно длительного использования было обнаружено, что некоторые процессы не завершаются и остаются сидеть в памяти. Почему --- не знаю. Меня это несколько достало и я переделал этот скрипт и превратил его в демона.

    второй скрипт под названием /opt/etc/init.d/S99wget запускает check.wget.tcl при перезагрузках, а также служит для запуска/остановки его вручную.
    PHP Code:
    #! /bin/sh
    PATH=/sbin:/bin:/usr/bin:/usr/sbin:/opt/bin:/opt/sbin:/opt/local/bin

    PREFIX
    =tclsh8.4
    DAEMON
    =/opt/local/bin/check.wget.tcl
    NAME
    =check.wget.tcl

    start
    () {
      echo -
    "Starting $NAME... "
      
    $DAEMON &
      echo 
    "done"
    }

    stop() {
      echo -
    "Shutting down $NAME... "
      
    kill `pidof $PREFIX $DAEMON`
      echo 
    "done."
    }

    case 
    "$1" in
        start
    )
            
    start
            
    ;;
        
    stop)
            
    stop
            
    ;;
        
    restart)
            
    stop
            sleep 1
            start
            
    ;;
        *)
            echo 
    "Usage: $0 (start|stop|restart)"
            
    exit 1
            
    ;;
    esac 
    Для работоспособности всего этого создаем вручную директории:
    mkdir /opt/tmp/wget
    mkdir /opt/tmp/wget/completed
    mkdir /opt/tmp/wget/partial

    а также делаем оба вышеуказанных файла исполняемыми:
    chmod 755 /opt/local/bin/check.wget.tcl
    chmod 755 /opt/etc/init.d/S99wget

    Используемые файлы:
    /opt/tmp/wget/wget.list : список URL-ов предназначеных к закачке. Единственный файл, который имеет смысл трогать вручную --- добавлять сюда новые URL-ы. Если надо изменить последовательность закачиваний --- меняйте местами строки в этом файле. Закачка идет последовательно сверху вниз.
    /opt/tmp/wget/wget.log : процесс закачки текущего файла.
    /opt/tmp/wget/wget.completed.list : список закачаных URL-ов
    /opt/tmp/wget/wget.not_found.list : список ненайденных URL-ов
    /opt/tmp/wget/completed : закачаные файлы
    /opt/tmp/wget/partial : закачиваемые файлы

    Если надо срочно загрузить что-либо, то надо прописать данный URL первым в /opt/tmp/wget/wget.list и затем убить текущий запущенный wget. После этого следующий запустится автоматом.

    Наблюдается и некоторая странность --- ps показывает, что в памяти сидят 3 процесса check.wget.tcl Памяти они лишней вроде не занимают. Будем считать, что это не баг, а фича. Хотя если кто значет почему так и можно ли сделать иначе, будет любопытно узнать.

    У меня все это живет уже месяца два с лишним и лично меня вполне удовлетворяет.

    По этому поводу открыта новая тема http://wl500g.info/showthread.php?p=52778 , ибо здесь место не вполне удачное. Sorry, сам удивился поутру, когда обнаружил куда это дело запостил. Если будут вопросы лучше направлять туда.
    Last edited by al37919; 19-04-2007 at 21:20.

  7. #37
    а сколь реально на замену родной качалке от ASUS встраивать в прошивку MLDonkey, который поддерживает как http/ftp, так и edonkey&torrent?
    возможно ли выпускать просто прошивку и rich-вариант с mldonkey?

  8. #38
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,356
    Идея хорошая, но пока не осуществимая. Я уже дважды за него принимался, но заставить всё это компилироваться не просто.

  9. al37919
    а можно ли в скрипте дописать, время работы крона?
    некоторая специфика для глубинки

    причина втом, что качать надо лишь в какое то время, а не всегда.
    очень ждал этого скрипта. спасибо

  10. #40
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    имеется в виду, что то вроде ситуации у arjlover для забугорья? Т.е. ресурс доступен в определенное время ночью, а в остальное время непрерывно ломиться --- невежливо.

    Если так, то в cron в нужное время надо убивать все, что к нему имеет отношение, а в другое нужное время опять стартовать. В принципе это просто.

  11. #41
    Quote Originally Posted by Oleg View Post
    Идея хорошая, но пока не осуществимая. Я уже дважды за него принимался, но заставить всё это компилироваться не просто.
    просто к mldonkey есть как веб-интерфейс, так и удаленные клиентские программы типа sancho - ASUS'овская программа и в подметки не годится
    буду ожидать появления

  12. #42
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,356
    Quote Originally Posted by dimitar View Post
    просто к mldonkey есть как веб-интерфейс, так и удаленные клиентские программы типа sancho - ASUS'овская программа и в подметки не годится
    буду ожидать появления
    Да, да. И написан он на чудо языке. Я даже боюсь себе представить, как он будет работать. Бинарник для x86 имеет размер 5 мегабайт. Для МИПСа будет ещё больше. Но поглядим, собирается он сейчас у меня... Есть мнение, что ворочатся он будет ну очень не торопливо. И не факт, что ему хватит штатных 32х мегабайт памяти...

  13. #43
    Quote Originally Posted by Oleg View Post
    Да, да. И написан он на чудо языке.
    Точно подмечено ...
    Quote Originally Posted by Oleg View Post
    И не факт, что ему хватит штатных 32х мегабайт памяти...
    Скорее всего не хватит ... Всетаки универсальность есть беда ИМХО ...

  14. #44
    Пробую запустить вышеприведенный скрипт /opt/local/bin/check.wget.tcl и получаю:

    couldn't execute "/opt/bin/wget": permission denied
    while executing
    "exec $::WGET_BIN $CurrentURL --background --continue "
    ("while" body line 51)
    invoked from within
    "while {1} {
    set CurrentConnections [regexp -all {bin/wget} [exec ps]]
    if {$CurrentConnections > 0} {
    # puts "wget is already running"
    } else ..."
    (file "/opt/local/bin/check.wget.tcl" line 47)

    Не поможете, что не так?

  15. #45
    Спасибо, установил.. все стало отлично...
    Только вот проблемка такая возникла: ни у кого не возникала с этой прошивкой проблема со сменой пароля на доступ к её администрированию? А то сменил его, теперь он не подходит. Проблем сбросить нету конечно, но все же интересно. ( пародь помню какой вводил и подтверждал. капс и раскладка остались такими же)
    И вообще, есть какие либо утилиты восстановления пароля?

Page 3 of 4 FirstFirst 1234 LastLast

Similar Threads

  1. WDS Problem bei Firmware 1.9.2.7 endlich gelцst
    By Wisi in forum German Discussion - Deutsch (DE)
    Replies: 70
    Last Post: 10-12-2009, 15:51
  2. FW 1.9.2.7 7f pre10 online, Erfahrungen und Stabilitдt
    By The Joker in forum German Discussion - Deutsch (DE)
    Replies: 3
    Last Post: 04-11-2006, 22:21
  3. Mounting of NAS drives with Oleg's 1.9.2.7
    By upcuser:-( in forum WL-500gP Firmware Discussion
    Replies: 4
    Last Post: 16-10-2006, 22:45
  4. 1.9.2.7 sources?
    By jlangston in forum WL-HDD Q&A
    Replies: 0
    Last Post: 17-08-2006, 02:27
  5. Версия прошивки?
    By ZeroNoel in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 0
    Last Post: 07-08-2006, 12:09

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •