Socks5 с X-Forwarded-For+privoxy

Страницы :  1, 2, 3, 4, 5, 6, 7, 8  След.
Ответить
 

Гуфыч

VIP (Заслуженный)

Стаж: 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
[Профиль]  [ЛС] 

Гуфыч

VIP (Заслуженный)

Стаж: 13 лет 10 месяцев

Сообщений: 8912

Гуфыч · 21-Мар-17 05:07 (спустя 29 мин.)

Зафиксировать выходную ноду Tor можно прописав в конфиг torrc один из ipов выходных нод Tor
Код:
ExitNodes  46.23.72.29
StrictExitNodes 1
[Профиль]  [ЛС] 

monreal77

Top Bonus 04* 3TB

Стаж: 13 лет 1 месяц

Сообщений: 499

monreal77 · 22-Мар-17 09:21 (спустя 1 день 4 часа)

Гуфыч писал(а):
72732079Где XXX.XXX.XXX.XXX - IP-адрес пользователя
А если IP динамический?
[Профиль]  [ЛС] 

adskiy abort

Top Bonus 06* 50TB

Стаж: 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

Top User 01

Стаж: 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

Top User 01

Стаж: 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 проверил работает, а на остальных ?
[Профиль]  [ЛС] 

Гуфыч

VIP (Заслуженный)

Стаж: 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 мин.)

Гуфыч писал(а):
72747796
OverM писал(а):
72747345А через SQUID можно подобное сделать?
squid сам конектится к http прокси и отлично передаёт заголовки
https://rutr.life/forum/viewtopic.php?p=72697451#72697451
OverM писал(а):
72747345заворачивать только 80 порт надо?
Для RTO - Да.
Да, вроде, при работы privoxy с http прокси то же проблем не вижу, все работает, конечно хорошо бы посмотреть, с другой стороны, с моей, судя по tcpdump, все нормально уходит, лишнего ничего не лезет
[Профиль]  [ЛС] 

OverM

Top User 01

Стаж: 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

Top User 01

Стаж: 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

Top User 01

Стаж: 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

Top User 01

Стаж: 17 лет 7 месяцев

Сообщений: 88

OverM · 23-Мар-17 17:13 (спустя 9 мин., ред. 23-Мар-17 17:13)

Squid на Gentoo Linux установлен, но это не особо важно. Я пока только теоретизирую, не могу этим напрямую заняться.
Но меня вопрос передачи верного адреса волнует, чтобы мертвого пира не создать.
[Профиль]  [ЛС] 

Гуфыч

VIP (Заслуженный)

Стаж: 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

Top User 01

Стаж: 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

Top User 01

Стаж: 17 лет 7 месяцев

Сообщений: 88

OverM · 24-Мар-17 15:17 (спустя 4 мин., ред. 24-Мар-17 15:17)

yura_nn
Исходящий порт не обязательно равен входящему при TCP/UDP соединениях. Даже не равен в большинстве случаев.
Потому и вопрос - как входящий клиент узнает что прямое соединение с клиентом за NAT происходит по такому-то порту.
[Профиль]  [ЛС] 

Гуфыч

VIP (Заслуженный)

Стаж: 13 лет 10 месяцев

Сообщений: 8912

Гуфыч · 24-Мар-17 15:30 (спустя 12 мин.)

OverM писал(а):
72755409Потому и вопрос - как входящий клиент узнает что прямое соединение с клиентом за NAT происходит по такому-то порту.
Трекер Хранит ip:порт и выдает это по запросу клиенту.Сейчас выдаётся 30 пиров.Т.е. на популярных раздачах добор сидов/личей происходит с помощью DHT и Pex
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error