Автор Тема: wget и ddns  (Прочетена 6158 пъти)

4096bits

  • Напреднали
  • *****
  • Публикации: 6191
    • Профил
wget и ddns
« -: Mar 11, 2015, 14:06 »
Направих си акаунт в noip.com и си създадох хост. Искам да мога да споделям една папка където и да се намирам без да трябва да търся WAN IP-то и да го пращам на този и онзи.
Папката я споделям просто като пусна http.server модула на python в директорията ѝ.
Та на въпросния сайт към настройките на хоста има Port 80 Redirect и там задавам 8000, който си се отваря по подразбиране като пусна питончето.
Така давам само адреса, без да трябва да добавям и порта към него.
Обачеее, като се пусне wget -rp за да се издърпа всичко, което съм споделил там, се сваля само index.html, robots.txt и нещо наречено KHgKKjl_popupgoogle.html.
А това не ми трябва да се сваля, а файловете в папката.
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: wget и ddns
« Отговор #1 -: Mar 11, 2015, 14:25 »
Ако файловете, които искаш да свалиш, не са описани в домашната страница (била тя създадена от теб или автоматично генериран индекс) на папката или в някой файл/страница, към който/която могат да отведат линковете от домашната страница, то wget ще трябва да хвърля боб, за да разбере за тях и да ги изтегли. Флагът за рекурсивно сваляне все още не врачува ;)
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

4096bits

  • Напреднали
  • *****
  • Публикации: 6191
    • Профил
Re: wget и ddns
« Отговор #2 -: Mar 11, 2015, 15:06 »
Ами когато пусна
python -m http.server
и в браузъра напиша айпито ми и 8000
предполагам, че модулчето на питон си генерира страницата и няма проблем. Добавял съм линк към друга папка, в друг дял и си го захапва също. В движение.
Сега пуснах една проба с айпито ми и порта и wget рекурсивно дръпна всичко. Обаче, ако направя същото и вместо айпи и порт дам на wget само host.ddns.net, не се получава.
Не се получава и, ако дам на wget и host.ddns.net:8000.
Та това Port 80 Redirect ли пречи или какво.
Питона си генерира страницата и файловете.
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: wget и ddns
« Отговор #3 -: Mar 11, 2015, 15:31 »
Да, сега видях, че то по подразбиране си създава индексна страница, ако няма ръчно създадена такава, така че wget знае за файловете.
Какво се случва, ако на wget подадеш IP-то и порт 80 (или без порт)? Ако успее, значи не е от препращането. Дали командата:
Код:
host host.ddns.net
ти връща твоето IP? Ако не, значи имаш проблем с ddns услугата (не е коректно настроена или все още не се е обновил DNS кешът в DNS сървърите, които ползваш). Ако wget с подадено IP и порт 80 не успее, тогава може и да е от препращането. Покажи точно как го задаваш!
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

4096bits

  • Напреднали
  • *****
  • Публикации: 6191
    • Профил
Re: wget и ddns
« Отговор #4 -: Mar 11, 2015, 16:01 »
 Не е от обновяването на сървърите им. Вчера си направих хоста и днес за проба гледам, какво става. Още не съм мърдал никъде по-далеч от обхвата на домашния ми рутер. Та host си дава точния адрес. Клиента съм го нагласил през две минути да им праща инфо за текущото WAN IP.
Ако подам айпито и порт 80 също не става нищо. Между другото, за да пусна python -m http.server 80 ми иска права, докато за порт 8000 или някой друг не пищи.
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: wget и ddns
« Отговор #5 -: Mar 11, 2015, 16:11 »
Между другото, за да пусна python -m http.server 80 ми иска права, докато за порт 8000 или някой друг не пищи.
Нормално - портовете до 1024 са резервирани за системни процеси и обикновените потребители нямат права да ги пипат.

Та... дай да видим как правиш пренасочването. Ще е добре да видим и какво точно си вписал в http.server и каква е версията на твоя python (макар че последното донякъде може да се познае от кода във файла).
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

4096bits

  • Напреднали
  • *****
  • Публикации: 6191
    • Профил
Re: wget и ddns
« Отговор #6 -: Mar 11, 2015, 18:11 »
Между другото, за да пусна python -m http.server 80 ми иска права, докато за порт 8000 или някой друг не пищи.
Нормално - портовете до 1024 са резервирани за системни процеси и обикновените потребители нямат права да ги пипат.

Та... дай да видим как правиш пренасочването. Ще е добре да видим и какво точно си вписал в http.server и каква е версията на твоя python (макар че последното донякъде може да се познае от кода във файла).
Така, не зная, какво има във http.server защото това е модул към  python3, за python 2.x същия модул се нарича SimpleHTTPServer. Нормално разбира се трябва публичен адрес и в терминала, в желаната директория се пише само python3(2) -m http.server(SimpleHTTPServer) и въпросната папка и всичкото и съдържание до последното файлче надолу по дървото е достъпно през интернет на адрес публичното-IP:8000. Така вместо да пращам файлове през разни простотии като Skype, просто си пускам тоя елементарен wеb сървър. Това си е вградено в python и аз не се грижа за нищо. Нормално wget може да вземе всичко вътре рекурсивно. Обаче в този сайт дето се регнах, направих си хост, дръпнах един клиент, казах му през две минути да праща на сайта публичния ми адрес, за да може те да си обновяват кеша и там записите за хоста дето съм направил при тях и така. Домейн не съм регистрирал и не ми и трябва, защото това са ми нуждите засега. Да дам един нормално изглеждащ web адрес и да може някой да дръпне от мен, каквото му сложа в папката. Или линк там, до други места, да не копирам съдържание като идиот.

Та сега пробвах, да напиша уеб адреса, но за да стане рекурсивното изтегляне, трябва да добавя порт. А не искам.
Хоста е wavic.ddns.net. Когато дам на wget само това, не става рекурсивното теглене. С добавянето на порт 8000 бачка. Ама искам само с адреса да се получи.
В сайта към "настройките" на хоста wavic има това Port 80 Redirect, ама не зная, що нещо не се получава това, което очаквам.

« Последна редакция: Mar 11, 2015, 18:20 от 4096bits »
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

k0tka

  • Напреднали
  • *****
  • Публикации: 130
  • Distribution: Fedora 23, CentOS, Debian, OS X El Capitan
  • Window Manager: i3wm
    • Профил
Re: wget и ddns
« Отговор #7 -: Mar 11, 2015, 18:47 »
Имам едно предположение, можеш ли да провериш дали рутера ти поддържа ddns? Аз също използвам no-ip, който фактически работи с клиент от самият рутер, от там вече с нат препращам към вътрешни ip-та и портове.
Активен

"If you need an instructional video telling your users how to turn a machine off (http://windows.microsoft.com/en-gb/windows-8/how-shut-down-turn-off-pc), there’s something seriously wrong with your design." --  Andrew Gregory @ linuxvoice

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: wget и ddns
« Отговор #8 -: Mar 11, 2015, 19:10 »
Ахааа... друго си е с такъв пример :) Към wget си добави флага
Цитат
-H,  --span-hosts                go to foreign hosts when recursive.
При пренасочването не ти сменят само порта, а направо те пращат към IP-то, което се явява външен за заявката хост и е нужен този флаг, за да се даде позволение на wget да отиде към него.

Гледам, че командата host връща друго IP (на машина на no-ip), а не твоето. Одеве, като те питах за нея, в заблуждение ли ме хвърли, или при теб host командата си връща твоето IP (може би заради някаква връзка с клиента на машината)?

Одеве те питах за кода на сървъра, понеже аз за проба го пусках със следния код (извадено от документацията):
Код
GeSHi (Python):
  1. import SimpleHTTPServer
  2. import SocketServer
  3.  
  4. PORT = 8000
  5.  
  6. Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
  7.  
  8. httpd = SocketServer.TCPServer(("", PORT), Handler)
  9.  
  10. print "serving at port", PORT
  11. httpd.serve_forever()
Сега установявам, че явно е нужен само при желание за допълнителни опции, вписани на едно място, вместо в командата за пускане, но можело и по-просто :)
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

4096bits

  • Напреднали
  • *****
  • Публикации: 6191
    • Профил
Re: wget и ddns
« Отговор #9 -: Mar 11, 2015, 19:36 »
Ами от python не разбирам. За мое съжаление.
Иначе host ми върна моето IP.
Аз пробвах с -H ( --span-hosts ), ако ти кажа какво стана, направи ми призля. Започна да сваля къде какво намери от външни сайтове. Като се започне от това дето ми е на машината, два файла споделих и натам започна noip, facebook, google, каквото докопа като връзки. Не знаех дали изобщо се спре. Ако не бях натиснал ctrl+c сигурно щеше да свали всичкото индекс на google :D
Някъде другаде се спомена за -H, като търсих преди това за решаване на тоя въпрос.

Дано да слушаш такава музичка.  ;)
« Последна редакция: Mar 11, 2015, 19:44 от 4096bits »
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: wget и ddns
« Отговор #10 -: Mar 12, 2015, 00:24 »
Еее, ти хептен се оставяш да готованство. Прегледа ли целия "--help" дали ще намериш други, интересни за теб, флагове? Как ти се струва този
Цитат
-D,  --domains=LIST              comma-separated list of accepted domains.
Вписваш в него IP-то си (домейна няма нужда да го описваш, понеже е начален хост) и така единственият външен за заявката хост, от който wget ще изтегли файлове, ще бъде твоята машина.

Къде ги търсиш тези решения? При подобни случаи първите неща, които трябва да прочетеш, са "команда --help" и "man команда", и чак след това да помислиш за заравяне в Мрежата.
« Последна редакция: Mar 12, 2015, 00:31 от neter »
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

4096bits

  • Напреднали
  • *****
  • Публикации: 6191
    • Профил
Re: wget и ddns
« Отговор #11 -: Mar 12, 2015, 11:56 »
Еее, ти хептен се оставяш да готованство. Прегледа ли целия "--help" дали ще намериш други, интересни за теб, флагове? Как ти се струва този
Цитат
-D,  --domains=LIST              comma-separated list of accepted domains.
Вписваш в него IP-то си (домейна няма нужда да го описваш, понеже е начален хост) и така единственият външен за заявката хост, от който wget ще изтегли файлове, ще бъде твоята машина.

Къде ги търсиш тези решения? При подобни случаи първите неща, които трябва да прочетеш, са "команда --help" и "man команда", и чак след това да помислиш за заравяне в Мрежата.
Ако трябва да описвам IP-то си, то няма смисъл, защото нали идеята е това. Моето IP си го зная, но нали като ида другаде и трябва да пратя на някого файлове, трябва да му казвам IP-то там. Нали е затова този домейн. Да мога да кажа на някого само него и където и да се намирам, през него да се свързват с машината ми.
Neter, а няма ли възможност просто да пренасоча заявки към моя порт 80 към 8000 или там който съм задал с питона? С iptables или нещо такова. Eто го това, дето мисля, че ми се бърка нещо. Това им го пише на сайта и е едно радиобутонче.
Port 80 Redirect: Port 80 redirects are used to get around ISPs that block inbound port 80. By using the this and running your webserver on an alternate port users can access your site without having to enter the port number in the url.
После само трябва да въведа другия порт. В случая 8000. По подразбиране бяха оставили в полето 8080. Има и друго поле за айпито ми, но то предполагам си се попълва автоматично, ако съм другаде. Са ще пробвам и това -D

k0tka рутера не ме засяга понеже ми трябва на лаптопа, с който съм в движение постоянно. Инсталирал съм клиента им, дето ги уведомява на определено време за да знаят айпито.

wget -rHD wavic.ddns.net wavic.ddns.net
Издърпва само index.html

Да, нормално, са погледнах man страницата и там пише, че не се включва при наличине на -H
« Последна редакция: Mar 12, 2015, 12:19 от 4096bits »
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: wget и ddns
« Отговор #12 -: Mar 12, 2015, 12:39 »
Да, нормално, са погледнах man страницата и там пише, че не се включва при наличине на -H
Не, в man страницата пише, че "-H" не се включва автоматично при наличие на "-D" :) Демек, добавянето на "-D" няма да има полза, докато не се добави и "-H" към командата. А горе ти се сваля само съдържанието от домейна, защото само него си описал в "-D" и не може да се отиде към файловете на IP-то.

Ами... начинът, по който от no-ip правят пренасочването не ти дава възможност за изпълнение на всичките ти желания. Виж как ще е с iptables пренасочване (не забравяй да махнеш пренасочването от no-ip):
Код:
iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-port 8000

А може и направо да си пуснеш сървъра на порт 80, като го изпълниш с root права, но не зная колко е подсигурен за такава работа - предвиден е само за изпълнение на статично съдържание, но това не значи, че не може да се експлоатира.
« Последна редакция: Mar 12, 2015, 12:46 от neter »
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

4096bits

  • Напреднали
  • *****
  • Публикации: 6191
    • Профил
Re: wget и ddns
« Отговор #13 -: Mar 12, 2015, 12:55 »
Мерси за iptables подсказката. И аз не зная oт noip как го правят. А да го пускам с root права ме притеснява. Не зная колко е сигурно, а си ползвам лапито за работа.
Ако пусна това при мен за iptables, как после да го отменя, защото на ръка да го пиша, няма да го запомня, ще трябва скриптче да си направя. Iptables нещо ми убягват. Не мога да намеря достатъчно ясно написано, как бачка това чудо.

Ами, как а му кажа на -D, че искам цялото съдържание? Аз очаквах, че като задам хоста и натам само си следва линковете от генерираната index.html
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

4096bits

  • Напреднали
  • *****
  • Публикации: 6191
    • Профил
Re: wget и ddns
« Отговор #14 -: Mar 12, 2015, 12:58 »
Или да им пиша, да видя какво ще кажат по въпроса.  ???
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Ddns в опростен вариант, как да?
Настройка на програми
Radev 36 15015 Последна публикация Aug 27, 2008, 01:17
от h7d8
Въпрос относно DDNS
Настройка на програми
Ali Nebi 8 4452 Последна публикация Sep 09, 2010, 14:02
от foxb
Настройка на TP-LINK и ddns
Настройка на хардуер
SylaR 1 3153 Последна публикация Jan 07, 2011, 19:20
от Acho
Рутер и DDNS от no-ip
Идеи и мнения
dark_elf 10 6704 Последна публикация Aug 31, 2013, 12:31
от dark_elf
DDNS record
Настройка на програми
supportpc 1 1945 Последна публикация Jul 14, 2016, 18:26
от de_dust2