- Прблемы со SquidNT,
Monster_C, 11:59 , 08-Фев-06 (1)
- Прблемы со SquidNT,
andypap, 18:38 , 08-Фев-06 (2)
- Прблемы со SquidNT,
Monster_C, 21:29 , 08-Фев-06 (3)
- Прблемы со SquidNT,
andypap, 10:06 , 09-Фев-06 (4)
- Прблемы со SquidNT,
NekroMen, 14:28 , 17-Мрт-07 (14)>> >>Спасибо за ответ:) >> >>Это c:/squid/libexec/ncsa_auth.exe c:/squid/etc/htpasswd точно есть htpasswd взял от "индейца" под win. К >>стати не подскажиш где можно почитать каким макаром работает ncsa_auth.exe возможно >>и мне будет проще написть скрипт, а то уже две недели >>долбаюсь с этим. > > >ncsa_auth.exe - все это мутно.. забей на него. >В конфиг ляпаешь такую строку: >auth_param basic program c:/winnt/system32/cscript.exe //B //h:cscript //nologo C:/Squid/libexec/auth.vbs C:/Squid/etc/auth.conf > >auth.vbs: > >Set Arg=WScript.Arguments >Set FSO=CreateObject("Scripting.FileSystemObject") >FileName=Arg(0) >I=0 >While I=0 > StringPass=WScript.StdIn.ReadLine > Reply="ERR" > Set File=FSO.OpenTextFile(FileName,1) > Stoped=0 > While File.AtEndOfStream=False And Stoped=0 > StringFile=File.ReadLine > If MID(StringFile,1,1)<>"#" Then > If StringFile=StringPass Then > Reply="OK" > Stoped=1 > End If > End If > Wend > WScript.StdOut.WriteLine Reply > File.Close >Wend > >-- >auth.conf: > ># test >admin govno >#e-lina >e-lina dura > >-- >и все в шоколаде... Здравствуйте, недавно поставил SquidNT26 на windows server 2003 sp1. Долго промучился и Вот наконец-то заставил его включаться\выключаться когда я захочу... Проблема в авторизации...Посидев на форуме увидел сообщение выше и захотел сделать аналогично в Delphi (потому как Basic скрипты не знаю) получилось вот что: program my_auth; {$APPTYPE CONSOLE} uses SysUtils; var f,g:text; stop:integer; s,Passw,auth:string; begin { TODO -oUser -cConsole Main : Insert code here } //ParamCount() - ÷èñëî ïàðàìåòðîâ. //ParamStr(0) - ïîëíîå èìÿ çàïóùåíîé ïðîãðàììû ñ ïóòåì. //ParamStr(1 - ParamCount()) - ðàñïàðñåíûå ïàðàìåòðû. while 1=1 do begin assign(f,ParamStr(ParamCount())); readln(Passw); stop:=0; auth:='ERR'; reset(f); while not(EOF(f)) and (stop<>1) do begin readln(f,s); if not(s[1]='#') then begin if s=Passw then begin auth:='OK'; stop:=1; end; end; end; close(f); write(auth); end; end. Но, зараза, не как не хочет работать (браузер клиента долго что-то открывает(больше 15 мин больше я не ждал)) может, быть вы сможете мне помочь чем-нибудь? Вот squid.conf: http_port 8081 icp_port 0 htcp_port 0 hierarchy_stoplist cgi-bin ? acl QUERY urlpath_regex cgi-bin \? cache deny QUERY acl apache rep_header Server ^Apache broken_vary_encoding allow apache cache_mem 80 MB cache_dir ufs C:/squid/var/cache 128 16 256 maximum_object_size 1024 KB access_log c:/squid/var/logs/access.log squid unlinkd_program C:\squid\libexec\unlinkd.exe authenticate_ttl 0 hour auth_param basic program C:\\squid\\etc\\conf\\my_auth.exe C:\\squid\\etc\\conf\\psd.conf auth_param basic children 2 refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern . 0 20% 4320 acl allowed_hosts src 192.168.3.0/255.255.255.0 acl all src 0.0.0.0/0.0.0.0 # Users acl allowed_users proxy_auth iliya acl allowed_users proxy_auth admin acl allowed_users proxy_auth lena # zakon4ili delaTb acl pass proxy_auth REQUIRED #Pa3peIILaem http_access allow allowed_users pass acl PorNo url_regex -i c:/squid/etc/conf/porn.txt acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl to_localhost dst 127.0.0.0/8 acl SSL_ports port 443 563 # SSL -- https?? acl Safe_ports port 443 # https acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT http_access allow manager localhost http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access deny all http_reply_access allow all icp_access allow all cache_effective_user Servak visible_hostname serverint unique_hostname serverint NEED HHHEELLPP!!!
- !!!! ПРИМЕЧАНИЕ !!!!!!!,
NekroMen, 18:51 , 22-Мрт-07 (15)Здравствуйте, это опять я... Прога, к сожалению, так и не заработала. Но скрипт работает как часы, за что Огромное Спасибо Monster_C.. Чё я хотел скаазать... а, ну так вот. Не знаю почему, но мой Squid 26, принципиально не хотел работать с любыми прогами авторизации. После ДОЛГИХ и УПОРНЫХ попыток его пустить додумалси таки поменять: auth_param basic program c:/winnt/system32/cscript.exe //B //h:cscript //nologo C:/Squid/libexec/auth.vbs C:/Squid/etc/auth.conf на auth_param basic program c:\\winnt\\system32\\cscript.exe //B //h:cscript //nologo C:\\Squid\\libexec\\auth.vbs C:\\Squid\\etc\\auth.conf Вот после этого Всё и заработало..Ура!!! Надеюсь это кому-нибудь поможет, кстати это относится не только к прогам авторизации, а ко многим указаниям путей к файлам, так что если у кого такая трабла просто вместо прямых слешей(/), попробуйте указать 2 обратных(\\). И будет всем счастье...
- Прблемы со SquidNT,
NekroMen, 17:29 , 31-Мрт-07 (17)УУУУУРРРРРРАААААА!!!!Есть хорошая новость последние несколько дней, были чуть менее напряжёнными чем предыдушие и я, вспомнив про клиента авторизации решил яго по-разрабатывать ещё чуть-чуть( Ну бзик у меня такой -- если кто сделал Яааа тоже ххааааччууууу!! ). В общем тупил я долго( даже изучил Пайпы в Delphi..:)). Но, в конце концов, до меня снизошло вдохновение и понял, что ощибка в способе принимания данных и типах отсылаемых данных.. Итого, смотрите сами: program my_auth; var f:text; stop:boolean; auth,s,Passw:string; begin assign(f,ParamStr(ParamCount())); while TRUE do begin read(Passw); auth:='ERR'; stop:=FALSE; reset(f); while not(EOF(f)) and (stop<>TRUE) do begin //будет продолжаться пока пароли readln(f,s); //не совпадут(stop = TRUE), или файл //с паролями не кончится if not(s[1]='#') then if (s=Passw) then //если пароль с логином совпал, то begin // stop присваевается TRUE auth:='OK'; stop:=TRUE; end; end; close(f); writeln(PAnsiChar(auth)); //Отправляемая строка должна быть PAnsiChar end; end. Сижу сейчас под Squid'ом... Красоотааа...Поисковики после второго захода кажутся локально установленными php...Весчь короче, пора пересаживать пользователей на Squid..Хе-хе... Только вот осталось научиться ограничивать пользователей в количестве скаченной порнографии( наивные, думают я не знаю ^>^)..Но да это другое дело... Monster_C, ещё раз спасибо и мой респект..
- УУРРРАААААААА!!!,
NekroMen, 13:57 , 01-Апр-07 (18)>program my_auth; > >var >f:text; >stop:boolean; >auth,s,Passw:string; > >begin >assign(f,ParamStr(ParamCount())); > >while TRUE do begin >read(Passw); > >auth:='ERR'; >stop:=FALSE; > >reset(f); >while not(EOF(f)) and (stop<>TRUE) do begin //будет продолжаться пока пароли >readln(f,s); > > //не совпадут(stop = TRUE), >или файл > > > > //с паролями не >кончится > if not(s[1]='#') then > if (s=Passw) then > > //если пароль с логином совпал, то > > begin > > > // stop присваевается TRUE > auth:='OK'; > stop:=TRUE; > end; >end; >close(f); > >writeln(PAnsiChar(auth)); > //Отправляемая строка должна быть PAnsiChar >end; >end. Да кстати, Monster_C, замыкать поргу в цикл совсем не обязательно (даже наоборот НЕНУЖНО), иначе она будет жрать ресурсы проца, как у меня, недавно...Здесь получается, имхо, что последний END. не завершение программы, а передача управления squid.. Вот окончательный вариант программки-аналога Monster_C, написанной в Delphi 7 итого: >program my_auth; > >var >f:text; >stop:boolean; >auth,s,Passw:string; >begin >assign(f,ParamStr(ParamCount())); > >read(Passw); >auth:='ERR'; >stop:=FALSE; >reset(f); >while not(EOF(f)) and (stop<>TRUE) do begin >readln(f,s); > if not(s[1]='#') then > if (s=Passw) then > begin > auth:='OK'; > stop:=TRUE; > end; >end; >close(f); >writeln(PAnsiChar(auth));//Отправляемая строка должна быть pAnsiChar(Pchar завершающ >нулём) >end. Всё компилируем, работаем.. проверено мной лично, пользователи с нею юзали весь день загрузки проца нет. Может кому пригодится (кто Паскаль знает лучше, чем Васик)..
- Прблемы со SquidNT,
Monster_C, 19:34 , 01-Апр-07 (19)
- Прблемы со SquidNT,
DmA, 19:10 , 14-Мрт-08 (21)
- Прблемы со SquidNT,
Monster_C, 13:38 , 07-Апр-08 (22)
- Любопытство..,
NekroMen, 14:49 , 22-Сен-08 (23)DmA, я с удовольствием пользуюсь Линуксом и с не меньшим удовольствием Windows'ом.. Программисты обеих систем, действительно молодцы, но лучше не будем об этом, иначе опять будет спор: > Windows лучший! > Linux forever! ^_~Предлагаемый вами способ также довольно прост, но проблема в том, что лично мне достаточно важно, именно понимать суть работы программы и если возникает необходимость доработать её(согласитесь nsca, ведь не заносит данные в mysql и не считывает их от туда). Monster_C, доброго времени суток, давненько я сюда не заходил... Програмку я всёж-таки доделал, принцип такой же -- парсит лог-файл, заносит получившоеся чудо в mysql, где данные о паролях; в конце месяца - бэкап и очищение базы данных, на этот раз код выкладывать не буду место жалко..:-)(кому надо - просите, вышлю на ящик).Полёт уже давненько нормальный...Любопытно как поживает твоя система? Не перешёл ли на что-то другое? P.S. Самое смешное, что я хотел только опробоовать твой скрипт, и вот...:D..В итоге напрограммил целую связку...Ну да ладно, отпишись, как время будет свободное интересно всё же... Смешно и интересно....
- Любопытство..,
Monster_C, 17:44 , 23-Сен-08 (24)
- Любопытство..,
NekroMen, 23:15 , 23-Сен-08 (25) Мдяа..Этот лог.. у меня была аналогичная проблема ( х_х )...Помню, я тогда сильно расстроился (хотел постричься в монахи и уйти в буддисты :В )...Собственно файл в 1,5 гига действительно это было нечто, эта была одна из причин перехода на mysql, но решил эту проблемку относительно быстро: считаю в базу данных - чищу лог, а т.к. у мускула тоже мозг не резиновый столько данных в себе держати, то поле кол-во скаченной инфы сделал типа real (в итоге входные данные делим на сто и записываем в поле; при извлечении умножаем на сто и отдаем программе которая просит). Так что, и база вроде бы не переполняется, и лог-файл остается маленьким по размеру. Вообще, конечно есть способы проще, но меня не устраивает, что кто-то сможет целый час безнаказанно качать, тогда как свои законные он выкачал в первые 30 минут ..;-).. >PS. Да.. И так бывает, прямо как с женщиной -- вроде только время скоротать только собирался, а потом вдруг интерес появляется.. :-))) P.S..Главное, чтобы интерес уходил раньше, чем твоя рука успеет расписаться в ЗАГС'овской бюллетени...:D..Хотя..
|