Как обойти защиту от хотлинкинга

Давненько я не писал чего-нибудь общественно-бесполезного. На одном из популярных форумов люди постят картинки с сайтов, которые не хотят, чтобы их смотрели где-то еще. А вбивать чужой урл и идти на страницу с картинкой иногда бывает лень. Поэтому, чтобы такой посмотреть, надо либо подделать реферер (с помощью какого-либо плагина к браузеру), либо воспользоваться моим новым сервисом просмотра картинок с защитой от хотлинкинга.

Работает это как прокси-сервер, скрипт забирает картинку и отдает ее тому, кто ввел капчу. Вроде несложно и кому-то может пригодиться. Кстати, вручную реферер вбивать не обязательно, скрипт попытается его вычислить. Но надежности ради я предусмотрел возможность добавления реферера вручную. Проверить можно хотя бы на этом примере.

Если найдете багу, просьба писать в камменты здесь или напрямую написать мне

З.Ы. Сервис абсолютно бесплатный

И снова о прокси

Я уже писал о том, как превратить VDS в прокси SOCKS5, но этот способ не всегда удобен. С одной стороны, никакого софта ставить не надо; но с другой стороны, перед использованием proxy обязательно соединяться по ssh с VDS. И в случае, если у VDS есть несколько IP адресов на одной сетевой карте, то использовать сможете только один из них.

Для полноценного использования своего VDS в качестве прокси-сервера можно использовать 3proxy, который легко собирается на VDS

Если вы собираетесь использовать этот прокси с каких-то фиксированных IP адресов, мой конфиг вам в помощь:


#!/usr/local/bin/3proxy
nserver 1.2.3.4
nserver 1.2.3.5
timeouts 1 5 30 60 180 1800 15 60
daemon
log /usr/local/etc/3proxy/logs/3proxy.log D
logformat "L%d-%m-%Y %H:%M:%S %z %N.%p %E %U %C:%c %R:%r %O %I %h %T"
archiver gz /bin/gzip %F
rotate 3
chroot /usr/local/jail
setgid 65535
setuid 65535

auth iponly
flush
allow * 11.12.13.14 * *
proxy -i1.2.7.9 -e1.2.7.10 -p8089 -n -a

auth iponly
flush
allow * 11.12.13.14 * *
proxy -i1.2.7.9 -e1.2.7.9 -p8090 -n -a

В этом примере демон 3proxy будет слушать порты 8089 и 8090 на айпишнике 1.2.7.9. Использовать получившийся анонимный http прокси можно только с IP адреса 11.12.13.14. На официальном сайте есть толковый мануал на русском, с примерами. Важно только не забыть поставить запуск прокси при перезагрузке VDS, например, в rc.local прописать вот такую строчку:

nohup /usr/local/bin/3proxy /usr/local/etc/3proxy.cfg >/dev/null 2>/dev/null &


Я рад, что и мои друзья потихоньку заводят свои блоги, организуют новые проекты. Сама идея собрать отзывы о путешествиях в одно место мне очень близка к сердцу, поскольку у меня у самого есть аналогичный проект; но в данном случае, под хороший сайт и места на своем VDS не пожалею.

Анонимность в Сети, или Шифруемся и прячемся…

В последнее время западный мир лихорадит на тему авторских прав. Например, во Франции будут блокировать доступ к Сети тем интернет-пользователям, которые незаконно скачивают музыку и кинофильмы; и “сдавать” веб-серфера компетентным органам будет его провайдер.
Как же доблестным “любителям халявы” качать все это из Интернета и не бояться за свою шкуру?

1. Можно воспользоваться анонимными бесплатными прокси..
В Сети есть довольно много сайтов, который совершенно бесплатно предоставляют информацию о беслпатных прокси; например, здесь есть неплохой списочек. Достаточно в браузере задать подключение через SOCKS-прокси, и тогда ваш провайдер будет знать только о том, что у Вас было соединение с прокси-сервером. Куда Вы заходили на самом деле, ему будет неизвестно.
У бесплатных прокси есть как минимум 2 недостатка – их используют все кому не лень, в результате чего они становятся довольно тормозными. Второй недостаток – их могут очень быстро закрыть для использования, и Вам придется искать что-то новое.

2. Можно купить доступ к платным прокси. Это довольно дорого, и не всегда хочется оставлять свои данные у непонятных сервисов.

3. Можно поднять собственный прокси-сервис. Звучит пугающе, но на самом деле все очень просто, по финансовым затратам можно уложиться в 150 рублей в месяц. Для начала выбираем, какой же IP адрес нас интересует – российский или американский. Регистрируемся здесь, если надо прикинуться россиянином, или здесь, если хочется почувствовать себя американцем. Любая из этих хостинговых компаний даст Вам рутовый пароль и IP-адрес Вашего виртуального выделенного сервера (VDS).
Далее, если Вы (как и я) в основном пользуетесь Linux’ом, выполните следующую команду на Вашем компьютере:
ssh -C -D 5678 -l root [ip-адрес сервера]
При этом у Вас будет установлен зашифрованный канал между Вами и Вашим VDS, который к тому же будет неплохо сжимать трафик. Далее у себя в настройка браузера указываем, что используется прокси-сервер SOCKS5 с IP-адресом 127.0.0.1 и портом 5678 – и все, провайдер не будет знать о том, куда Вы ходите.
Для пользователей Windows есть бесплатная программа putty, используя которую можно установить соединение со своим VDS. В настройках программы также следует указать порт туннеля (например 5678), и установить опцию сжатия данных (необязательно, но полезно при платном трафике).
После установления соединения с VDS у получается прокси-сервер SOCKS5 с открытым портом, который мы можем использовать для анонимного серфинга.

4. Если Вам требуется нечто большее, чем просто серфинг и скачивание контента, то возможностей прокси Вам может и не хватить. Не все сетевые программы поддерживают работу через прокси, некоторые должны соединяться напрямую – и тогда Ваш провайдер сможет увидеть по своим логам, чем Вы в Сети занимаетесь.
Для шифрования всего Вашего трафика можно использовать VPN или OpenVPN соединения. В основном эти сервисы платные; но если как следует поискать, то можно найти и бесплатный, с определенными ограничениями.

5. Для владельцев своих серверов есть еще возможность поднять свои VPN или OpenVPN туннели, когда весь трафик будет идти через зашифрованный канал между Вашим компьютером и удаленным сервером. Но об этом я расскажу в следующий раз.