PDA

Bekijk de volledige versie : Автоматическое скачивание файлов



Senator
16-04-2007, 21:13
Пару дней назад купил себе роутер WL500gp и поставил на него последнюю прошивку от Олега.

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

Но у меня возникла идея создать PHP скрипт, который бы позволил качать файлы автоматически с управлением через веб-интерфейс (собственный, а не стандартный).
Если бы умел, то написал бы на чем-нибудь еще, но хорошо знаю только PHP.

Увы, я не очень хорошо знаком с линуксами. Поэтому прошу знающих людей мне помочь.

Для начала поясню, что у меня есть жесткий диск с тремя разделами: NTFS, куда я планирую записывать скачанные файлы (об этом ниже), Ext3 и Linux Swap. В /tmp/harddisk монтируется только первый с правами на чтение. Остальные два я монтирую вручную. Они могут использоваться, если понадобится дополнительное место для установки пакетов и дополнительная память соответственно.

Теперь о том, что я хочу сделать:
1. Поменять настройки стандартного FTP сервера для того, чтобы заходить не в директорию /tmp/harddisk, т.е. на смонтированный диск, а в корень, т.е. в /. Просто мне намного удобнее использовать FTP клиент для просмотра файлов, чем telnet. Роутер я установил для создания домашней сети, так что задачи обеспечить безопасность просмотра FTP третьими лицами у меня не стоит.
Если быть совсем точным, то как поменять настройки, я знаю. Но не знаю, как их сохранить, чтобы они восстанавливались после перезагрузки роутера (про nvram, flashfs save и т.д. я читал, но понял, что сохраняются, вроде, настройки из /usr/local, а файл конфигурации FTP лежит в /tmp).
Также хотелось бы сохранить внесенные изменения в структуру каталогов, т.е. все созданные директории.

2. Все-таки сохранять файлы очень хочется на NTFS раздел, а не на Ext3.
На SourceForge нашел драйвера для включения полной поддрежки NTFS (записи, чтения и т.д.): http://sourceforge.net/projects/linux-ntfs. Вопрос для знатоков: действительно ли они позволят в конечном итоге распознавать NTFS систему на смонтированном диске и осуществлять туда запись?
Если да, то объясните мне, имеется ли возможность установить на роутер пакет для работы с RPM (т.к. указанные драйвера идут в RPM)?

3. Знаю, что можно установить пакет php-thttpd, который мне нужен для создания скрипта и веб-интерфейса. Но я его не могу установить, т.к. он почему-то лезет устанавливаться на смонтированный системой NTFS раздел, а как указать ему, что надо бы установиться на смонтированный мной Ext3 раздел, я не знаю.
Может быть, можно установить и стандартный Apache сервер и прикрутить к нему PHP, но я этого сделать тоже не могу, т.к. мне нужен доступ к Ext3 разделу через FTP для копирования на него всех необходимых файлов (см. вопрос 1).

В общем, вот такие у меня проблемы. Еще раз прошу помочь мне тех, кто может.

KOCTET
17-04-2007, 12:50
На SourceForge нашел драйвера для включения полной поддрежки NTFS (записи, чтения и т.д.): http://sourceforge.net/projects/linux-ntfs. Вопрос для знатоков: действительно ли они позволят в конечном итоге распознавать NTFS систему на смонтированном диске и осуществлять туда запись?
Позволить, то они, наверное позволят, но вот кто бы еще для данного роутера их портировал :) думаю что основная сложность с этим будет, а кроме того смысла особого нет этим заниматься.
Все остальное, вытекает из этого NTFS только на чтение, нужна запись форматируй в FAT, а лучше в родной Ext3, тогда и php-thttpd установиться.

Я здесь, давно, да и не только я кидал ссылку на web интерфейс для wget, но там скрипт был написан на perl, если не ошибаюсь

Senator
17-04-2007, 13:00
Позволить, то они, наверное позволят, но вот кто бы еще для данного роутера их портировалИ что, получается, что теперь любой пакет надо портировать (т.е. уже указанный мной Apache сервер, например) или только те, что в RPM?


Все остальное, вытекает из этого NTFS только на чтение, нужна запись форматируй в FAT, а лучше в родной Ext3, тогда и php-thttpd установиться.Запись у меня и так есть, я же говорил, что у меня на одном харде три раздела, в т.ч. и Ext3.

Я, конечно, могу весь хард отформатировать в Ext3 или FAT и работать с одной из этих файловых систем, но тогда бы я и не писал сюда, т.к. я все-таки хочу получить возможность работы именно с NTFS.

KOCTET
17-04-2007, 14:13
И что, получается, что теперь любой пакет надо портировать (т.е. уже указанный мной Apache сервер, например) или только те, что в RPM?

Посмотри тут
http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/
там и Apache найдешь, здесь все программы устанавливаемые на асус.

Senator
17-04-2007, 14:20
там и Apache найдешь, здесь все программы устанавливаемые на асус.Посмотрю, спасибо.

dimitar
17-04-2007, 20:49
В официальной прошивке заинтересовала функция автоматической скачки файлов при выключенном компе. В неофициальной прошивке ее нет, это я знаю и делать ее не прошу.

можно поиграться с MLDonkey (качалка + емуле + торрент), но я не помню как он по ресурсам

mrliceist
28-10-2008, 00:54
Привет, всем.

Девушка заметила, что вдруг перестал работать ВКонтакте :mad:
Методом тыка, было обнаружено, что в обход роутера всё работает :confused:.

Может кто встречал подобную проблему - всё работает, кроме ВКонтакте. Девушка реально думала, что я над ней издеваюсь :o .

У меня WL500gp с прошивкой 1.9.2.7-7g. В процессе ковыряния обновился до 1.9.2.7-10. Не помогло :(.

В роутер воткнут провод от районной сети (Matrix Network Solutions, СПб). Собственно, всё работает нормально (статическая маршрутизация для pptp, перенаправление портов и пр.), кроме ВКонтакте :D.

Выглядит это так


$ tracepath vkontakte.ru
1: 192.168.1.50 (192.168.1.50) 0.096ms pmtu 1500
1: myasus (192.168.1.1) 0.745ms
1: myasus (192.168.1.1) 0.679ms
2: myasus (192.168.1.1) 0.679ms pmtu 1400
2: no reply
3: df-1-142.users.mns.ru (80.70.224.142) 2.193ms
4: no reply
5: spb-gw.s14.runnet.ru (194.190.255.177) 2.687ms
6: b57-2-gw.spb.runnet.ru (194.85.40.89) 2.851ms
7: b57-1-gw.spb.runnet.ru (194.85.40.181) 2.777ms
8: vKontakte.spb.runnet.ru (194.190.255.122) 3.207ms !H
Resume: pmtu 1400


Для сравнение


$ tracepath ya.ru
1: 192.168.1.50 (192.168.1.50) 0.153ms pmtu 1500
1: myasus (192.168.1.1) 0.745ms
1: myasus (192.168.1.1) 0.680ms
2: myasus (192.168.1.1) 0.703ms pmtu 1400
2: no reply
3: df-1-142.users.mns.ru (80.70.224.142) 1.999ms
4: no reply
5: ix1-m10.yandex.net (193.232.246.93) 14.403ms
6: ya.ru (213.180.204.8) 14.924ms reached
Resume: pmtu 1400 hops 6 back 59


Думал, что проблема в загадочном "!H" (в исходниках даже нашел код ошибки, при котором пишется это сообщение), но


$ tracepath mail.ru
1: 192.168.1.50 (192.168.1.50) 0.118ms pmtu 1500
1: myasus (192.168.1.1) 0.747ms
1: myasus (192.168.1.1) 0.683ms
2: myasus (192.168.1.1) 0.688ms pmtu 1400
2: no reply
3: df-1-142.users.mns.ru (80.70.224.142) 2.055ms
4: no reply
5: 87.249.39.237 (87.249.39.237) 12.382ms asymm 7
6: gldn-gw.unnet.ru (81.211.2.161) 52.985ms asymm 12
7: cat01.Moscow.gldn.net (194.186.158.110) 49.137ms asymm 13
8: no reply
9: no reply
10: no reply
11: mailru-KK12-1-gw.Moscow.gldn.net (195.239.8.10) 57.591ms !H
Resume: pmtu 1400


ya.ru и mail.ru работают, а vkontakte.ru даже не пингуется...

Может быть кто-нибудь подкинет идейку куда копать?

mrliceist
28-10-2008, 21:42
Починил. Помогли
1. Additional pppd options: nomppe nomppc
2. Heart-Beat Server: vpn-gw1.mns.ru --nobuffer
+ настройки файервола. В результате я не понял что именно помогло,
но лениво выяснять.

Sergy
05-03-2009, 10:14
Периодически есть нужда качать с файлообменников типа рапидшары и т.д. На Большом Брате решается легко - USDownloader и нет проблем. Вот только держать ББ включённым, когда всё остальное успешно функционирует на роутере несколько не логично.

Приобретать премиумы на всех обменниках не очень толковое занятие.

Копание инета дало результат - Web Share Downloader (http://wsd.p34.net/). прога ставится на вебсервак, требует libwww-perl и mysql.

Кто нибудь пробовал ставить? Будет ли это работать не на апаче, а на lighttpd?

lagshmi
05-03-2009, 10:23
Периодически есть нужда качать с файлообменников типа рапидшары и т.д. На Большом Брате решается легко - USDownloader и нет проблем. Вот только держать ББ включённым, когда всё остальное успешно функционирует на роутере несколько не логично.

Приобретать премиумы на всех обменниках не очень толковое занятие.

Копание инета дало результат - Web Share Downloader (http://wsd.p34.net/). прога ставится на вебсервак, требует libwww-perl и mysql.

Кто нибудь пробовал ставить? Будет ли это работать не на апаче, а на lighttpd?

еще есть RapidGet:)

Sergy
05-03-2009, 10:37
еще есть RapidGet:)

я смотрю, там никих отзывов так и не появилось, что всё толком заработало :-/

P.S. нашел на руборде здоровенную тему поддержки RapidGet, буду изучать.

DMG
06-03-2009, 18:11
Работает, но о-о-о-о-о-чень медленно... MySQL не для коробочки :(

ABATAPA
06-03-2009, 18:44
Работает, но о-о-о-о-о-чень медленно... MySQL не для коробочки :(

Ну а что Вы хотели? Эти "коробочки" и так насилуют немилосердно.
Все-таки, это устройства иной категории. В том числе и ценовой.

DMG
06-03-2009, 18:57
Ну а что Вы хотели?
Я ничего не хотел. Отвечал на вопрос Sergy: "Будет ли это работать не на апаче, а на lighttpd"

ABATAPA
07-03-2009, 09:03
Я ничего не хотел. Отвечал на вопрос Sergy: "Будет ли это работать не на апаче, а на lighttpd"

Ну, и вопрос был риторическим. :)

Black_Ru
06-07-2011, 15:11
Для начинающих пользователей Linux.
1. Заходим на страницу мобильной версии Вконтакта:
http://m.vkontakte.ru/login
Щелкаем просмотреть исходный html-код и находим строку вида:
m.vkontakte.ru&ip_h=3bd2b5fbd485d3e02f&pda=1,
нам нужна только эта часть "3bd2b5fbd485d3e02f&pda=1"
Она расположена в теге
<form>, в самом конце.

2.
Создаем папку, в которую будем скачивать mp3

mkdir ~/mp3
создаем файл со скриптом:

vi ~/vkmp3
заполняем следующим содержимым:


#!/bin/bash
cd ~/mp3
curl -D headers_and_cookies -d "act=login&amp;to=&amp;from_host=m.vkontakte.ru&amp;ip_h=3bc2b5 fvc485d3e02f&pda=1&email=admin@mail.ru&pass=123" -L https://login.vk.com;
curl -b ~/mp3/headers_and_cookies -L $1 > ~/mp3/list;
touch ~/mp3/list2; echo "#!/bin/bash" > ~/mp3/list2;
chmod +x ~/mp3/list2;
cat ~/mp3/list | grep mp3 | awk '{print $4}' | sed 's/value=/wget -c /;s/,/ /;s/"//;s/"$//' >> ~/mp3/list2;
sh ~/mp3/list2;
rm ~/mp3/list2;
rm ~/mp3/list;

И редактируем первую команду curl, пишем свои данные для авторизации
ip_h=ваша_строчка,которую_вы_вы_нашли_когда_просма тривали_html_код
email=ваш_логин
pass=_ваш_пароль
Сохраняем скрипт и делаем его исполняемым.

chmod +x ~/vkmp3

Заходим на страницу Вконтакта одного из своих друзей, переходим к его аудиозаписям ,
копируем строку из браузера http://vkontakte.ru/audio?id=1
затем в терминале набираем

~/bin/vkmp3 http://vkontakte.ru/audio?id=1
и качаем все песни, что есть у Павла.
P.S.
К слову сказать у меня получалось скачать около 30 песен, даже если на странице у полозователя представлено 400,
Я не проверял, с чем это связано, возможно нужно поднастроить wget или проверить как отрабатывает sed и awk, или же добавить флаг -m/--max-time seconds Maximum time allowed for the transfer к curl
но вы можете модифицировать скрипт так, как вам угодоно. В том числе и дописать его для работы на маршрутизаторе
и автоматической скачки новых песен со страниц друзей.

Black_Ru
06-07-2011, 23:19
Чтобы скачивать из Вконтакта посредством веб-сервера,
в php есть несколько вариантов вызова скрипта:

system()
exec()
shell_exec()

Только стоит учесть, что для выполнения скрипта веб-серверу нужны права.
И, возможно, для apache надо отключить safe_mode