пятница
Как докачивать файлы по протоколу SFTP
Однажды мне потребовалось забрать бэкап с одного правильного хостинга. Архив получился большой, примерно в 4 Гб. Скачал где-то 92%, и тут бац - интернет-провайдер подвел, соединение померло.
Я качал файл с помощью утилиты sftp, и она стала показывать stalled вместо прогресса скачивания. Жалко файл было до безумия, заново качать 4 Гб очень не хотелось. Ну должен же быть способ докачивать файлы по протоколу SFTP, сам протокол докачку поддерживает
Стал курить мануалы, и выяснил - надо было качать с помощью scp, а не sftp - эта утилита 100% поддерживает докачку, в отличие от sftp. Ну как говориться, поздно пить боржоми, файл-то уже на 92% скачан. Оказалось, что докачать его все-таки можно, только вместо sftp надо использовать lftp. Выглядело это примерно так:
lftp sftp://mylogin@host.tld
cd /path/to/backup
get -c backup.tgz
lftp смотрит текущую директорию на наличие недокачанного файла, смотрит, сколько байт скачалось и забирает только то, что не удалось скачать в первый раз
суббота
Как обойти защиту от хотлинкинга
Давненько я не писал чего-нибудь общественно-бесполезного. На одном из популярных форумов люди постят картинки с сайтов, которые не хотят, чтобы их смотрели где-то еще. А вбивать чужой урл и идти на страницу с картинкой иногда бывает лень. Поэтому, чтобы такой посмотреть, надо либо подделать реферер (с помощью какого-либо плагина к браузеру), либо воспользоваться моим новым сервисом просмотра картинок с защитой от хотлинкинга.
Работает это как прокси-сервер, скрипт забирает картинку и отдает ее тому, кто ввел капчу. Вроде несложно и кому-то может пригодиться. Кстати, вручную реферер вбивать не обязательно, скрипт попытается его вычислить. Но надежности ради я предусмотрел возможность добавления реферера вручную. Проверить можно хотя бы на этом примере.
Если найдете багу, просьба писать в камменты здесь или напрямую написать мне
З.Ы. Сервис абсолютно бесплатный
Ярлыки: Linux, proxy, Интересное, Программирование
среда
Кириллические домены и iDNS
Некоторые регистраторы с недавних пор предлагают зарегистрировать домены в зонах .рф, .ру, .ком, .нет, .орг и т.п. И есть же люди, которые таки хотят их использовать, несмотря на то, что корневые DNS-сервера вообще ничего не знают о этих доменных зонах.
Даже самый известный кириллический домен президент.рф и тот толком не распознается некоторыми серверами. Публичные DNS сервера Google о нем что-то знают:
dig xn--d1abbgf6aiiy.xn--p1ai @8.8.8.8 ; <<>> DiG 9.6.1-P3 <<>> xn--d1abbgf6aiiy.xn--p1ai @8.8.8.8 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61712 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;xn--d1abbgf6aiiy.xn--p1ai. IN A ;; ANSWER SECTION: xn--d1abbgf6aiiy.xn--p1ai. 564 IN A 195.208.24.91 ;; Query time: 75 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Wed Dec 1 17:29:40 2010 ;; MSG SIZE rcvd: 59А вот один из корневых серверов DNS не знает ничего:
dig xn--d1abbgf6aiiy.xn--p1ai @4.2.2.2 ; <<>> DiG 9.6.1-P3 <<>> xn--d1abbgf6aiiy.xn--p1ai @4.2.2.2 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 20017 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;xn--d1abbgf6aiiy.xn--p1ai. IN A ;; Query time: 78 msec ;; SERVER: 4.2.2.2#53(4.2.2.2) ;; WHEN: Wed Dec 1 17:29:49 2010 ;; MSG SIZE rcvd: 43
Что касается зон iDNS (.ком, .нет, .орг), так они вообще мало кому доступны. Регистраторы (Webnames.ru) например предлагают воспользоваться какой-то говнософтиной вроде iChat, чтобы ваш компьютер смог нормально работать с такими доменами. Вот кому надо чего-то скачивать и ставить себе? Мало кто будет это делать.
На самом деле этот говнософт никому не нужен. Все, что надо, чтобы ресолвились доменные зоны .ком, .нет и .орг, это всего лишь прописать у себя правильный iDNS сервер, вместо DNS провайдера. На idns.net есть файл (db.cache) с корневыми серверами iDNS, можно один из них использовать вместо DNS провайдера:
> cat /etc/resolv.conf nameserver 64.62.142.131 # iDNS nameserver 195.161.113.189 #iDNS nameserver 120.50.44.141 #iDNS
Но на самый правильный способ я натолкнулся на блоге ihtiandr.info, надо интернет провайдерам настроить свои DNS-сервера примерно вот так, и тогда ни у кого не будет геморроя с кириллическими доменами.