|
Гуфыч
Стаж: 13 лет 10 месяцев Сообщений: 8912
|
Гуфыч ·
21-Мар-17 04:38
(7 лет 9 месяцев назад, ред. 12-Мар-19 17:07)
http://rutracker.wiki/%D0%9F%D0%BE%D1%88%D0%B0%D0%B3%D0%BE%D0%B2%D0%B0%D1%8F_%D0%...y_%D0%B2_Windows
yura_nn писал(а):
Чтобы Privoxy начал добавлять заголовок с IP-адресом, нужно открыть файл /etc/privoxy/user.action и добавить в самый его конец строчки:
Код:
{+add-header{X-Forwarded-For: XXX.XXX.XXX.XXX}}
.t-ru.org
Где XXX.XXX.XXX.XXX - IP-адрес пользователя. В этом случае для всех адресов, содержащих t-ru.org, будет добавлен заголовок X-Forwarded-For с соответствующим IP-адресом.
Для Linux можно также такой скрипт попробовать для изменения динамических IP-адресов в Privoxy.
Конфиг Privoxy для Socks5 прокси
confdir /etc/privoxy
actionsfile user.action
listen-address 127.0.0.1:8118
forward / .
#
forward-socks5t .t-ru.org/ 127.0.0.1:9050 . #
forward 127.*.*.*/ .
forward 192.168.*.*/ .
forward 10.*.*.*/ . accept-intercepted-requests 1
Конфиг Privoxy для HTTP прокси (прописывать заголовки будет не нужно)
confdir /etc/privoxy
listen-address 127.0.0.1:8118
forward / .
#
forward .t-ru.org/ px1.blockme.site:3128 #
forward 127.*.*.*/ .
forward 192.168.*.*/ .
forward 10.*.*.*/ .
#
accept-intercepted-requests 1
Чтобы проверить, какой ip передаётся на трекеры - достаточно поставить в браузере HTTP-прокси 127.0.0.1:8118 и зайти на bt.t-ru.org/myip
Настройка qbittorrent 4.x на работу через Privoxy - https://rutr.life/forum/viewtopic.php?p=76687582#76687582
Смена Passkey с помощью Privoxy - https://rutr.life/forum/viewtopic.php?p=77017457#77017457
|
|
Гуфыч
Стаж: 13 лет 10 месяцев Сообщений: 8912
|
Гуфыч ·
21-Мар-17 05:07
(спустя 29 мин.)
Зафиксировать выходную ноду Tor можно прописав в конфиг torrc один из ipов выходных нод Tor
Код:
ExitNodes 46.23.72.29
StrictExitNodes 1
|
|
monreal77
Стаж: 13 лет 1 месяц Сообщений: 499
|
monreal77 ·
22-Мар-17 09:21
(спустя 1 день 4 часа)
Гуфыч писал(а):
72732079Где XXX.XXX.XXX.XXX - IP-адрес пользователя
А если IP динамический?
|
|
adskiy abort
Стаж: 12 лет 11 месяцев Сообщений: 174
|
adskiy abort ·
22-Мар-17 12:20
(спустя 2 часа 59 мин.)
monreal77 писал(а):
72739134
Гуфыч писал(а):
72732079Где XXX.XXX.XXX.XXX - IP-адрес пользователя
А если IP динамический?
https://rutr.life/forum/viewtopic.php?p=72738187#72738187
|
|
koctet1
Стаж: 15 лет 4 месяца Сообщений: 80
|
koctet1 ·
22-Мар-17 18:20
(спустя 5 часов, ред. 23-Мар-17 14:32)
monreal77 писал(а):
72739134
Гуфыч писал(а):
72732079Где XXX.XXX.XXX.XXX - IP-адрес пользователя
А если IP динамический?
Если машина за роутером, то сложно, надо получить ип адрес откуда то снаружи, например:
скрытый текст
#!/bin/bash #Ищем и удаляем старый IP адрес STR=$(grep '{+add-header{X-Forwarded-For:' /etc/privoxy/user.action) sed -i "s/$STR//g" /etc/privoxy/user.action sed -i "s/.t-ru.org//g" /etc/privoxy/user.action sed -i 'N;$!P;$!D;$d' /etc/privoxy/user.action #Удаляем мусор rm -f sed* IP=$(curl -s https://api.ipify.org) echo {+add-header{X-Forwarded-For: $IP}} >> /etc/privoxy/user.action echo .t-ru.org >> /etc/privoxy/user.action # /etc/init.d/privoxy restart exit
Ну или как то так, проверял, работает нормально, скрипт запускать либо после поднятия сети или по таймеру от рут
|
|
yura_nn
Стаж: 16 лет Сообщений: 825
|
yura_nn ·
22-Мар-17 19:56
(спустя 1 час 35 мин., ред. 22-Мар-17 19:56)
Для Linux можно также такой скрипт попробовать для изменения динамических IP-адресов в Privoxy.
|
|
OverM
Стаж: 17 лет 7 месяцев Сообщений: 88
|
OverM ·
23-Мар-17 09:46
(спустя 13 часов, ред. 23-Мар-17 09:46)
Коллеги, вопрос по линукс-системам. Как сделать редирект только нужных адресов на прокси?
Причем есть варианты:
- На свой, который потом будет делать апстрим на чужой (причем очень желательно чтобы тоже был список, который он будет перебирать).
- Сразу на чужой. Идея в том чтобы на роутере сделать прозрачное проксирование адресов из списка для всей подсети.
|
|
kx77
Стаж: 12 лет Сообщений: 728
|
kx77 ·
23-Мар-17 11:49
(спустя 2 часа 2 мин., ред. 23-Мар-17 11:49)
OverM писал(а):
72746190Коллеги, вопрос по линукс-системам. Как сделать редирект только нужных адресов на прокси?
Причем есть варианты:
- На свой, который потом будет делать апстрим на чужой (причем очень желательно чтобы тоже был список, который он будет перебирать).
- Сразу на чужой. Идея в том чтобы на роутере сделать прозрачное проксирование адресов из списка для всей подсети.
https://rutr.life/forum/viewtopic.php?t=5171734
См проксирование https через redsocks
Однако, прозрачное проксирование bt "как есть" создает мертвые пиры, потому что клиент не дописывает в request uri параметр IP адреса клиента.
Пиром становится прокси, а не ты
|
|
koctet1
Стаж: 15 лет 4 месяца Сообщений: 80
|
koctet1 ·
23-Мар-17 11:53
(спустя 3 мин., ред. 23-Мар-17 11:53)
OverM писал(а):
72746190Коллеги, вопрос по линукс-системам. Как сделать редирект только нужных адресов на прокси?
Причем есть варианты:
- На свой, который потом будет делать апстрим на чужой (причем очень желательно чтобы тоже был список, который он будет перебирать).
- Сразу на чужой. Идея в том чтобы на роутере сделать прозрачное проксирование адресов из списка для всей подсети.
На том же privoxy делается правилами в конфиге, можно заворачивать, как угодно
kx77 писал(а):
72746804
OverM писал(а):
72746190Коллеги, вопрос по линукс-системам. Как сделать редирект только нужных адресов на прокси?
Причем есть варианты:
- На свой, который потом будет делать апстрим на чужой (причем очень желательно чтобы тоже был список, который он будет перебирать).
- Сразу на чужой. Идея в том чтобы на роутере сделать прозрачное проксирование адресов из списка для всей подсети.
https://rutr.life/forum/viewtopic.php?t=5171734
См проксирование https через redsocks
Однако, прозрачное проксирование bt "как есть" создает мертвые пиры, потому что клиент не дописывает в request uri параметр IP адреса клиента.
Пиром становится прокси, а не ты
Для этого и надо прописывать X-Forwarded-For
|
|
kx77
Стаж: 12 лет Сообщений: 728
|
kx77 ·
23-Мар-17 12:22
(спустя 29 мин.)
Правильно ли я понимаю, что privoxy не работает в transparent mode и для работы в этом режиме нужен проксификатор (redsocks) ?
|
|
koctet1
Стаж: 15 лет 4 месяца Сообщений: 80
|
koctet1 ·
23-Мар-17 12:40
(спустя 18 мин., ред. 23-Мар-17 14:37)
kx77 писал(а):
72746995Правильно ли я понимаю, что privoxy не работает в transparent mode и для работы в этом режиме нужен проксификатор (redsocks) ?
https://www.privoxy.org/faq/configuration.html#TRANSPARENT
В принципе, можно считать, что accept-intercepted-requests 1 transparent mode и есть
Когда меняются заголовки это не прозрачный режим прокси, но в данном случае заголовок в любом случае надо менять, что бы добавить X-Forwarded-For
Для http прокси можно использовать и Tinyproxy, у него в конфиге тоже можно добавлять и менять заголовки (AddHeader "X-Forwarded-For: XXX.XXX.XXX.XXX")
|
|
OverM
Стаж: 17 лет 7 месяцев Сообщений: 88
|
OverM ·
23-Мар-17 13:13
(спустя 32 мин.)
А через SQUID можно подобное сделать? Я просто с ним больше знаком.
Или с Privoxy не сложно? Пока моя идея в том чтобы во всей подсетке поставить прозрачный прокси
и поворачивать на внешние прокси только нужные адреса, а остальное все кидать напрямую.
Почему и вопрос у меня был на какие порты клиенты обращаются к анонсерам, заворачивать только 80 порт надо?
|
|
kx77
Стаж: 12 лет Сообщений: 728
|
kx77 ·
23-Мар-17 14:32
(спустя 1 час 19 мин., ред. 23-Мар-17 14:32)
OverM писал(а):
72747345А через SQUID можно подобное сделать? Я просто с ним больше знаком.
Или с Privoxy не сложно? Пока моя идея в том чтобы во всей подсетке поставить прозрачный прокси
и поворачивать на внешние прокси только нужные адреса, а остальное все кидать напрямую.
Почему и вопрос у меня был на какие порты клиенты обращаются к анонсерам, заворачивать только 80 порт надо?
Анонсеры бывают на разных портах. В этом легко можно убедиться, посмотрев в торент клиенте раздачи с разных трекеров.
Я бы сделал ipset hash:ip,port, и заворачивал по нему.
От прокси требуется возможность вписывать x-forwarded-for.
Мне проще всего было чуток подпатчить tinyproxy (3-4 строчки на C) и пересобрать.
Другой вопрос все ли трекеры будут сечь этот header. На rutracker проверил работает, а на остальных ?
|
|
Гуфыч
Стаж: 13 лет 10 месяцев Сообщений: 8912
|
Гуфыч ·
23-Мар-17 14:38
(спустя 5 мин.)
OverM писал(а):
72747345А через SQUID можно подобное сделать?
squid сам конектится к http прокси и отлично передаёт заголовки
https://rutr.life/forum/viewtopic.php?p=72697451#72697451
OverM писал(а):
72747345заворачивать только 80 порт надо?
Для RTO - Да.
|
|
koctet1
Стаж: 15 лет 4 месяца Сообщений: 80
|
koctet1 ·
23-Мар-17 15:46
(спустя 1 час 8 мин.)
Да, вроде, при работы privoxy с http прокси то же проблем не вижу, все работает, конечно хорошо бы посмотреть, с другой стороны, с моей, судя по tcpdump, все нормально уходит, лишнего ничего не лезет
|
|
OverM
Стаж: 17 лет 7 месяцев Сообщений: 88
|
OverM ·
23-Мар-17 15:54
(спустя 8 мин.)
А скиньте рабочий конфиг privoxy, плз.
|
|
koctet1
Стаж: 15 лет 4 месяца Сообщений: 80
|
koctet1 ·
23-Мар-17 16:08
(спустя 13 мин., ред. 23-Мар-17 16:08)
OverM писал(а):
72748223А скиньте рабочий конфиг privoxy, плз.
http://rgho.st/private/7tnR59g69/949511e0efc809b30d0507d4c0290a6c
Это для варианта с подключением к http прокси, для socks нужно поменять порт и тип прокси
|
|
OverM
Стаж: 17 лет 7 месяцев Сообщений: 88
|
OverM ·
23-Мар-17 16:24
(спустя 16 мин.)
Судя по прочтенному оно не умеет прозрачный режим. Т.е. заворачивать все же придется на SQUID.
|
|
koctet1
Стаж: 15 лет 4 месяца Сообщений: 80
|
koctet1 ·
23-Мар-17 16:46
(спустя 21 мин.)
OverM писал(а):
72748417Судя по прочтенному оно не умеет прозрачный режим. Т.е. заворачивать все же придется на SQUID.
А squid x-forwarded-for заголовки позволяет ставить, менять? Я когда смотрел на него, так и не нашел этой опции, т.е. подставлять он их конечно может, но в них будет локальный адрес клиента, а вот так заменить, что бы был белый ип, я такого не нашел, может конечно плохо искал
|
|
OverM
Стаж: 17 лет 7 месяцев Сообщений: 88
|
OverM ·
23-Мар-17 16:56
(спустя 10 мин., ред. 23-Мар-17 16:56)
Оно http://break-people.ru/cmsmade/index.php?page=translate_squid_conf_file_section_x_forwarded_for ?
Меня интересует несколько другое - роутер на внешнем IP, качалка на своем внутреннем. Т.е. по факту заголовки должны быть именно переписаны со снятием фактического адреса интернет-интерфейса роутера.
|
|
koctet1
Стаж: 15 лет 4 месяца Сообщений: 80
|
koctet1 ·
23-Мар-17 17:03
(спустя 7 мин., ред. 23-Мар-17 17:03)
Хм, но правил замены ip нет, т.е. если запрос будет с компа с ip 192.168.1.2, то на на анонсер пойдет именно этот адрес, а это не особо хорошо, тут адрес передаваемый в заголовке X-Forwarded-For используется для анонса
А squid на чем установлен?
|
|
OverM
Стаж: 17 лет 7 месяцев Сообщений: 88
|
OverM ·
23-Мар-17 17:13
(спустя 9 мин., ред. 23-Мар-17 17:13)
Squid на Gentoo Linux установлен, но это не особо важно. Я пока только теоретизирую, не могу этим напрямую заняться.
Но меня вопрос передачи верного адреса волнует, чтобы мертвого пира не создать.
|
|
Гуфыч
Стаж: 13 лет 10 месяцев Сообщений: 8912
|
Гуфыч ·
23-Мар-17 17:19
(спустя 6 мин.)
OverM писал(а):
72748742Но меня вопрос передачи верного адреса волнует, чтобы мертвого пира не создать
проверяйте так
Код:
curl bt.t-ru.org/myip
|
|
kx77
Стаж: 12 лет Сообщений: 728
|
kx77 ·
23-Мар-17 19:41
(спустя 2 часа 22 мин., ред. 24-Мар-17 08:33)
OverM писал(а):
72748417Судя по прочтенному оно не умеет прозрачный режим. Т.е. заворачивать все же придется на SQUID.
Умеет как оказывается. Если включить accept-intercepted-requests , то он дестинейшин берет из хедера Host:
Сделал себе такую систему.
кладем в /opt/btproxy get_user.sh,create_ipset.sh,bt-hosts.txt
get_user.sh запускает ресолв bt-hosts.txt в bt-ip.txt, затем создает из этого ipset "btproxy"
Делаем редирект на privoxy :
sysctl -w net.ipv4.conf.all.route_localnet=1
iptables -t nat -I PREROUTING -p tcp -m set --match-set btproxy dst,dst -j DNAT --to 127.0.0.1:8118
Privoxy настраиваем как указано в этом топе
/opt/btproxy/get_user.sh в крон раз в день
/opt/btproxy/create_ipset.sh в init (он автономен, к сети не лезет, использует ранее отресолвленый файл с ip port)
bt-hosts.txt
скрытый текст
bt.nnm-club.me 2710
bt.rutr.life 80
bt2.rutr.life 80
bt3.rutr.life 80
bt4.rutr.life 80
get_user.sh
скрытый текст
Код:
#!/bin/sh SCRIPT=$(readlink -f $0)
EXEDIR=$(dirname $SCRIPT) BTHOSTS=$EXEDIR/bt-hosts.txt
BTIPS=$EXEDIR/bt-ip.txt
BTSET=btproxy getbtp()
{
[ -f "$2" ] && {
while read host port ; do
[ -n "$host" ] && {
dig A %2Bshort %2Btime=8 %2Btries=2 $host | grep -E '^[^;].*[^\.]$' | grep -vE '^192\.168\.[0-9]%2B\.[0-9]%2B$' | grep -vE '^127\.[0-9]%2B\.[0-9]%2B\.[0-9]%2B$' | grep -vE '^10\.[0-9]%2B\.[0-9]%2B\.[0-9]%2B$' |
while read ip ; do echo add $1 $ip,$port ; done.
}
done <$2 | sort -u
}
} getbtp $BTSET $BTHOSTS >$BTIPS "$EXEDIR/create_ipset.sh"
create_ipset.sh
скрытый текст
Код:
#!/bin/sh
# create ipset from previously resolved ips SCRIPT=$(readlink -f $0)
EXEDIR=$(dirname $SCRIPT) BTIPS=$EXEDIR/bt-ip.txt
BTSET=btproxy create_ipset()
{
ipset flush $1 2>/dev/null || ipset create $1 hash:ip,port
echo Adding to ipset $1 : $2
cat $2 | ipset -! restore
}
create_ipset $BTSET $BTIPS
Самый неприятный недостаток, что все завязано на фиксированную пропись внешнего IP.
Если он динамический, то схема не работает, или придется вертеть огород со скриптами
Если вы за NAT без upnp, то достаточно любой прокси, ведь все равно к вам не достучишься
|
|
OverM
Стаж: 17 лет 7 месяцев Сообщений: 88
|
OverM ·
24-Мар-17 09:04
(спустя 13 часов, ред. 24-Мар-17 09:04)
Да, вот тут вопрос. Большинство людей за NAT, и прокинут нужный порт для прямого обмена.
Как в случае каскадирования проксей клиенты найдут друг друга, даже если выдан верный адрес?
Как они вообще находят друг друга по портам, клиенты передают друг другу эту информацию?
И куча народу с динамическими адресами, плюс к тому что эти пляски, они не для всех, а только для энтузиастов.
|
|
koctet1
Стаж: 15 лет 4 месяца Сообщений: 80
|
koctet1 ·
24-Мар-17 12:29
(спустя 3 часа)
OverM писал(а):
72752985И куча народу с динамическими адресами, плюс к тому что эти пляски, они не для всех, а только для энтузиастов.
Вот согласен полностью, не будет обычный юзер, скачивать, настраивать какие то программы, ему это просто не нужно.
|
|
kx77
Стаж: 12 лет Сообщений: 728
|
kx77 ·
24-Мар-17 14:59
(спустя 2 часа 30 мин., ред. 24-Мар-17 14:59)
OverM писал(а):
72752985Да, вот тут вопрос. Большинство людей за NAT, и прокинут нужный порт для прямого обмена.
Как в случае каскадирования проксей клиенты найдут друг друга, даже если выдан верный адрес?
Как они вообще находят друг друга по портам, клиенты передают друг другу эту информацию?
Прокси используется только для анонсеров, все остальное идет напрямую.
Главное чтобы трекер вписывал к себе настоящий ip адрес клиента, у которого открыт или прокинут порт.
Другим адреса пиров сообщит трекер.
на счет PEX не знаю что в этом случае 1 клиент второму будет сообщать
Криво это все, конечно. По хорошему надо чтобы сперва клиент узнавал свой внешний IP (или через пропись руками, или через query внешней службы определения IP), потом его явно подсовывал в параметрах announce и его же сообщал через PEX. Тогда плевать какие хедеры прокси подсовывает или не подсовывает
|
|
yura_nn
Стаж: 16 лет Сообщений: 825
|
yura_nn ·
24-Мар-17 15:13
(спустя 13 мин., ред. 24-Мар-17 15:15)
OverM писал(а):
Как они вообще находят друг друга по портам, клиенты передают друг другу эту информацию?
Насколько я представляю, клиентам этого делать и не надо. Клиент связывается с другими клиентами с определенного порта, другой клиент на этот порт ему отвечает. Сами порты хранятся в заголовках пакета. Если за nat -ом, то на роутере source порты исходящих пакетов могут подменяться, а затем, в соответствии с сохраненными с специальных таблицах данными, подменяются destination порты входящих пакетов. Все это происходит на транспортном уровне модели OSI. HTTP протокол находится выше, на седьмом уровне модели OSI, он добавляет уже свои собственные заголовки, четвертый уровень никак не затрагивающие.
Или я не понял вопроса?
|
|
OverM
Стаж: 17 лет 7 месяцев Сообщений: 88
|
OverM ·
24-Мар-17 15:17
(спустя 4 мин., ред. 24-Мар-17 15:17)
yura_nn
Исходящий порт не обязательно равен входящему при TCP/UDP соединениях. Даже не равен в большинстве случаев.
Потому и вопрос - как входящий клиент узнает что прямое соединение с клиентом за NAT происходит по такому-то порту.
|
|
Гуфыч
Стаж: 13 лет 10 месяцев Сообщений: 8912
|
Гуфыч ·
24-Мар-17 15:30
(спустя 12 мин.)
OverM писал(а):
72755409Потому и вопрос - как входящий клиент узнает что прямое соединение с клиентом за NAT происходит по такому-то порту.
Трекер Хранит ip:порт и выдает это по запросу клиенту.Сейчас выдаётся 30 пиров.Т.е. на популярных раздачах добор сидов/личей происходит с помощью DHT и Pex
|
|
|