3proxy / 3proxy

3proxy - tiny free proxy server
Other
3.93k stars 768 forks source link

Вопросы, комментарии, багрепорты и запросы фич #2 #169

Closed z3APA3A closed 6 years ago

z3APA3A commented 7 years ago

Запросы фич и багрепорты создавайте как issue, по-русски или по-английски. Комментарии и вопросы можно создавать как issue или отправлять на 3proxy@3proxy.ru

Пожалуйста, прочитайте FAQ, How To и руководства прежде, чем задавать вопрос: http://3proxy.ru/doc/ http://3proxy.ru/documents/

начало здесь: https://github.com/z3APA3A/3proxy/issues/12

ValeraPavlov commented 7 years ago

У меня 1 конфиг, с заменами так и делаю. Не понял какой именно тогда файл мониторить можно если не основной конфиг который заменяется

z3APA3A commented 7 years ago

Сделать файлы 3proxy.cfg и 3proxy.version мониторить 3proxy.version. При обновлении конфига, сначала обновить 3proxy.cfg, потом поменять 3proxy.version, мониторьте только 3proxy.version, чтобы прокси перечитывал конфигурацию только когда конфиг полностью обновлен.

ValeraPavlov commented 7 years ago

Сделал монитор на 3proxy.version , эти дни смотрел, все ровно фиксируется подвис который решает только ручной стоп старт. При это процесс 3proxy висит как рабочий и как подвисший совсем не выглядит. Нет больше идей ?

z3APA3A commented 7 years ago

Я же говорил - меняете конфиг два раза в течении одной минуты.

ellementA commented 7 years ago

Здравствуйте интересует правильный пример прокси с двумя типами авторизации. Как это правильно сделать? например так? users testuser:CL:testpassword auth iponly strong allow ele allow * 185.85.85.85 //разрешенный ip для входа без пароля
socks -i82.72.62.62 -e82.72.62.62 -p11137 -n -a flush

Спасибо за ответ

z3APA3A commented 7 years ago

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

ellementA commented 7 years ago

тоесть вот так ? allow * 185.85.85.85 //разрешенный ip для входа без пароля allow ele

z3APA3A commented 7 years ago

да

ellementA commented 7 years ago

при таком варианте пускает всех подряд без пароля

ellementA commented 7 years ago

Что подскажите?

z3APA3A commented 7 years ago

Значит либо конфиг отличается от того, что вы написали, либо все подряд приходят с разрешенного адреса, либо у вас работает сервис со старой конфигурацией, который вы не перезапустили. Включите логгирование, посмотрите что происходит.

ValeraPavlov commented 7 years ago

Добрый день. Вобщем сделал таймаут по заменам в минуту. То есть одновременно или в течении одной минуты только одна замена. Мониторю version. Все ровно периодически процесс встает и приходится стопать и стартовать. Может с файлами что то ? Может сверхдоступы какие принудительно поставить надо на cfg или на version ?

z3APA3A commented 7 years ago

А что при этом в логах?

ValeraPavlov commented 7 years ago

В логе 3proxy пусто. Веду еще лог по падениям процесса 3proxy отдельно , в нем последний краш процесса был 4 июля. А последний раз стоп старт я делал 30 минут назад. При этом сам процесс 3proxy запущен и ведет себя как рабочий, но на деле прокси в этот момент не работают. Точно при замене файла cfg это происходит. Может у меня файлы большие слишком ?

z3APA3A commented 7 years ago

если в логе пусто - значит лог неправильно сконфигурирован. время между обновлениями надо давать не минуту, а минуту + время чтения конфигурации.

z3APA3A commented 7 years ago
ValeraPavlov commented 7 years ago

log /var/log/3proxy/3proxy.log D logformat "G%d-%m-%Y %H:%M:%S | %U | %C | %R:%r | %O | %I |%n"
Верно ?

z3APA3A commented 7 years ago

а чем плох лог по умолчанию? в этом логе текста нет.

ValeraPavlov commented 7 years ago

"-""+_L%C - %U [%d/%o/%Y:%H:%M:%S %z] ""%T"" %E %I"
это стандартный верно ?

z3APA3A commented 7 years ago

нет. Стандартный это не указывать logformat

ValeraPavlov commented 7 years ago

проверил все логи на серваке, нет зафиксированных записей в момент когда проксировать перестает. Память 30% используется (примерно) файловые дискрипторы 3000 из 100000 . На разных выделенных серваках фиксирую данную проблему, от разных поставщиков. На vps ни разу не было.

ValeraPavlov commented 7 years ago

Вот единственная странная запись. Но по срокам в этот момент все работало

Jul 13 15:12:43 server5 kernel: 3proxy[45738]: segfault at 7f3c0b868fd0 ip 000000367510fc1e sp 00007f3c0b868fd0 error 6 in libc-2.12.so[3675000000+18a000] Jul 13 15:12:44 server5 abrt[46081]: Saved core dump of pid 52003 (/usr/local/etc/3proxy/bin/3proxy) to /var/spool/abrt/ccpp-2017-07-13-15:12:43-52003 (105074688 bytes) Jul 13 15:12:44 server5 abrtd: Directory 'ccpp-2017-07-13-15:12:43-52003' creation detected Jul 13 15:12:44 server5 abrtd: Executable '/usr/local/etc/3proxy/bin/3proxy' doesn't belong to any package and ProcessUnpackaged is set to 'no' Jul 13 15:12:44 server5 abrtd: 'post-create' on '/var/spool/abrt/ccpp-2017-07-13-15:12:43-52003' exited with 1 Jul 13 15:12:44 server5 abrtd: Deleting problem directory '/var/spool/abrt/ccpp-2017-07-13-15:12:43-52003'

z3APA3A commented 7 years ago

Если у вас много адресов в одной системе, обязательно используйте nserver / nscache, т.к. во встроенном резолвере glibc есть race condition'ы. Если и это не помогает - используйте команду stacksize.

crokodile commented 7 years ago

помогите с написанием простейшего конфига

прокси сервер установлен на машине в локалке за роутером порт проборошу через портфорвардинг я не знаю что необходимо а что нет записать в конфиг какие ип адреса но перечислю доспустим им машины в локалке 192.168.1.20

внешний ип (динамический в данный момент) 83.90.90.90

если это нужно напишу и ип удаленной машины с которой буду подключятся с прокси серверу допустим 200.200.200.2 ..................................................................

user ADMIN password ADMIN

port 3130

протокол socks 5

задачя выходить с удаленной машины через машину на которой будет установлен прокси

z3APA3A commented 7 years ago

auth strong users ADMIN:CL:ADMIN allow ADMIN 200.200.200.2 socks -p3130

crokodile commented 7 years ago

Спасибо огроменное ....хотел уточнить так как как ип 200.200.200.2 машины с которой я буду подключятся тоже динамический и чтобы его менять в конфиге удаленно придется ставить ещо и radmin на сервер с прокси ...

этот пункт allow ADMIN 200.200.200.2 обязателен ??? ип служит для аутотентификации ? или это типа для бакконекта ?

потому что мне кажется просто логин пассворд достаточно для аутонтефикации

z3APA3A commented 7 years ago

если не надо ограничивать по IP, только по логину/паролю достаточно allow ADMIN

crokodile commented 7 years ago

влазит вот такая ошибка C:\Windows>3proxy.exe Unknown command: '´++auth' line 1

конфиг таков auth strong users ADMIN666:CL:ADMIN333 allow ADMIN666 socks -p31337

z3APA3A commented 7 years ago

Значит перед auth идет какой-то мусор, например маркер Unicode. Никаких посторонних символов быть не должно.

HopiKokopelli commented 7 years ago

День добрый,

вопрос - можно ли поменять сообщение, которое получает пользователь при доступе на ресурс, куда ему запрещено? Например, что бы было - You are not allowed to access this URL, please contact ...... Волде всю документацию облазил - не нашел, если таки пропустил - ссылочку на документацию / параметр, если можно.

Если важно, то интересно для Linux версии, что ставится из EPEL на CentOS 7 (3proxy-0.7-1.el7.x86_64).

Заранее благодарен ... и, конечно, спасибо, за хороший и полезный софт.

z3APA3A commented 7 years ago

Можно, http://3proxy.ru/plugins/StringsPlugin/ rus.3ps есть в дистрибутиве.

HopiKokopelli commented 7 years ago

Спасибо, буду копать как это к EPEL Версии прикрутить. Нашел 3ps файлы в исходниках. В binary опять же такого плагина я не нашел, видимо придется ручками собирать...

CatTailed commented 7 years ago

День добрый а как без авторизации подсчитывать трафик по внутренним IP, что бы не городить countin для каждого айпишника? auth none allow * 192.168.1.50-192.168.1.240 counter "c:\3proxy\3proxy.3cf" D "C:\3proxy\traf\traf"

countin "1/ivanova" M 500 192.168.1.54

???

z3APA3A commented 7 years ago

Если учитывать надо без разделения по IP, то указать можно так же диапазоном. Если нужно учитывать отдельно покаждому IP - надо countin для каждого IP, но никто не заставляет писать вручную каждый countin, что мешает сгенерировать скриптиком?

CatTailed commented 7 years ago

а можно и экселем, быстрей будет, но не отразится ли это на быстродействии анализировать лишние пару сотен строк в конфиге?

z3APA3A commented 7 years ago

нет, не отразится.

crokodile commented 7 years ago

спасибо все заработало ...косяк видимо был в notepad++ в котором я делал конфиг ..... конфиг сделаный в виндовом notepad заработал

ещо один вопрос так как в мануале не слова об этом

в 3proxy конфиге надо указывать что подключение идет по ssl ?? или socks5 протокол автоматом это поддерживает ?

а если нет то что дописать в конфиг для поддержки ssl ?

есть тут у меня связка браузер и программа которую я запускаю через сокскап которые конектятся через ssl к хосту и програма сверяет hwid железа клиента, а браузер использиется для логина в интерфейс когда эту связку запустил через прокси в сокскапе эта связка друг друга не увидела

видимо сокскап изолирует браузер от программы ..наверно проще запустить эту связку на соксифицированной виртуалке но vmware так и не удалось соксифициорвать через сокскап ...

может посоветуете другую програму для соксификации vmware ?

z3APA3A commented 7 years ago

socks5 все равно по какому прикладному протоколу идет подключение.

aroun commented 7 years ago

Приветствую,

Вопрос такой: а как сделать так чтобы каждый порт использовал свой днс? Я пробовал отдельный для каждого прописывать - нифига, берет первое вхождение.

Что посоветуете?

AntonOrnatskyi commented 7 years ago

Подозреваю, что в proxymain.c в строке if(defparam.hostname)newparam->hostname=(unsigned char )strdup((char )defparam.hostname);

Должен быть mystrdup.

z3APA3A commented 7 years ago

Да, спасибо, поправил. Пока это ни на что не влияет.

avilios commented 7 years ago

Подскажите, какое максимальное количество адресов может быть в файле на блокировку deny ФАЙЛ ps при количестве сайтов более 14,000 служба не запускается Прокси поднята на server 2008 r2 Ссылка на файл который я пытаюсь прицепить https://yadi.sk/i/dm9sTpfS3M8LW8

z3APA3A commented 7 years ago

Ограничение на размер файла включаемого через $ ~65KB.

Bralva commented 7 years ago

проверял на версии 0.8.8 и 0.8.10

Cannot allocate memory

25000 прокси ipv6

ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 258059 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 10000000 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 258059 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited

free -m total used free shared buffers cached Mem: 64531 17169 47362 16 205 14177 -/+ buffers/cache: 2786 61745 Swap: 38579 0 38579

daemon

maxconn 1000000 nscache 65536 nscache6 65536 stacksize 8192 nserver 188.120.247.2 timeouts 1 5 30 60 180 1800 15 60 log /var/log/3proxyAll.log D setgid 65535 setuid 65535 flush logformat "- +_L%t.%.%N.%p.%d.%H.%M %E %U %C:%c %R:%r %O %I %h %T" archiver gz /bin/gzip %F rotate 2 auth iponly

include /etc/3proxy/iplists/list.cfg

Валится Cannot Allocate memory

z3APA3A commented 7 years ago

Добавь командочки типа system "ulimit -a >>/tmp/ula.1" system "ulimit -Sa >>/tmp/ulSa.1" system "ulimit -Ha >>/tmp/ulHa.1" в начало и конец конфига и посмотри реальные юлимиты. И скорей всего у тебя недостаточный лимит на stack. setuid 65535 у тебя зачем-то в конце конфига, это означает что часть потоков работает как root а часть - как nobody.

Bralva commented 7 years ago

daemon

system "ulimit -a >>/tmp/ula.1" maxconn 1000000 nscache 65536 nscache6 65536 stacksize 8192 nserver 188.120.247.2 timeouts 1 5 30 60 180 1800 15 60 log /var/log/3proxyAll.log D setgid 65535 setuid 65535 flush logformat "- +_L%t.%.%N.%p.%d.%H.%M %E %U %C:%c %R:%r %O %I %h %T" archiver gz /bin/gzip %F rotate 2 auth iponly

include /etc/3proxy/iplists/list.cfg

system "ulimit -a >>/tmp/ula.2"

Для каждой?

Bralva commented 7 years ago

root@host:/etc/3proxy# cat /tmp/ula.1 time(seconds) unlimited file(blocks) unlimited data(kbytes) unlimited stack(kbytes) 8192 coredump(blocks) 0 memory(kbytes) unlimited locked memory(kbytes) 64 process 258059 nofiles 10000000 vmemory(kbytes) unlimited locks unlimited time(seconds) unlimited file(blocks) unlimited data(kbytes) unlimited stack(kbytes) 8192 coredump(blocks) 0 memory(kbytes) unlimited locked memory(kbytes) 64 process 258059 nofiles 10000000 vmemory(kbytes) unlimited locks unlimited root@host:/etc/3proxy# cat /tmp/ula.2 time(seconds) unlimited file(blocks) unlimited data(kbytes) unlimited stack(kbytes) 8192 coredump(blocks) 0 memory(kbytes) unlimited locked memory(kbytes) 64 process 258059 nofiles 10000000 vmemory(kbytes) unlimited locks unlimited time(seconds) unlimited file(blocks) unlimited data(kbytes) unlimited stack(kbytes) 8192 coredump(blocks) 0 memory(kbytes) unlimited locked memory(kbytes) 64 process 258059 nofiles 10000000 vmemory(kbytes) unlimited locks unlimited

z3APA3A commented 7 years ago

Ну да, чтобы мягкие и жесткие лимиты посмотреть

z3APA3A commented 7 years ago

увеличивай стек, 3proxy практически всю память использует в стеке.

diaskooo commented 7 years ago

Пытаюсь запустить через 3proxy.exe C:\3proxy\3proxy.cfg и все время выдает винда web server 2008 R2

C:\3proxy\bin>3proxy.exe C:\3proxy\3proxy.cfg Usage: C:\3proxy\bin\3proxy.exe [conffile]

    C:\3proxy\bin\3proxy.exe --install [conffile]
    to install as service

    C:\3proxy\bin\3proxy.exe --remove
    to remove service

3proxy tiny proxy server 3proxy-0.9-devel (170512222912) (c)3APA3A, Vladimir Dubrovin & 3proxy.ru Documentation and sources: http://3proxy.ru/ Please read license agreement in 'copying' file. You may not use this program without accepting license agreement

содержимое 3proxy.cfg

auth none log C:\3proxy\logs\3proxy.log D rotate 30 proxyinternal 127.0.0.1 external 10.96.144.163

nserver 8.8.8.8

nscache 65536