Отправляет email-рассылки с помощью сервиса Sendsay

За 2005-01-21

Может кому надо ... (дополнение 2)

Доброго времени суток comp,

Интерфейс для управлениями пользователями Squid из под mustdie'ки

использованы Delphi7, ZEOS lib, RxLib

--
С наилучшими пожеланиями,
Колесник Андрей
mailto:kolesn***@e*****.ua,
ICQ: 208861095

   Колесник Андрей 2005-01-21 22:29:16 (#302167)

Может кому надо ... (дополнение)

Доброго времени суток comp,

Если кому-то надо считать трафик национальный и зарубежный ....
Сори забыл самое главное

"Промышленно" эксплуатирую ~2месяца

Использовались материалы с http://www.uvsw.narod.ru/ (aka vasilisc)


File: squid2mysql
#!/usr/bin/perl
use Net::IPv4Addr qw(:all);
use DBI;
use DBI::DBD;

$mysqluser="имя пользователя"; # MySQL user name
$mysqlpass="пароль пользоватеся"; # MySQL user password
$mysqlserv="localhost"; # MySQL server
$mysqlport="3306"; # MySQL server port
$mysqldbas="kan_squid"; # MySQL database name
$backuplog="/var/log/squid/backup.log"; # Backup log if couldnt connect to MySQL


$dbh=DBI->connect("DBI:mysql:database=$mysqldbas;host=$mysqlserv;port=$mysqlport",$mysqluser,$mysqlpass,{AutoCommit=>1,RaiseError=>0,PrintError=>1})||&errorcon;

$sth=$dbh->prepare("INSERT INTO protocol(datework,time,code,status,bytes,url,userident,host,UA)

$sth=$dbh->VALUES(?,?,?,?,?,?,?,?,?)");

open(FBLOGRET,$backuplog);
close(FBLOGRET);


# Get ALL IP-Address from kan_squid.ipbase

my (@UALIST) = ();
$res=$dbh->prepare("select ipaddr from ipbase");
$res->execute();
while (my $tmp_ip = $res->fetchrow_array()){
push(@UALIST, $tmp_ip);
}
$res->finish();

while(<>) {
@lines=split(' ');

$lines[0]=~tr/./ /;
@_timestamp=split(' ',$lines[0]);

$cts=$_timestamp[0];
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime($cts);
$year=$year+1900;
$mon=$mon+1;
$hour=$hour+2;
if ($hour>=24) {
$hour=$hour-24;
$mday=$mday+1;
}
$cdate="$year-$mon-$mday";

$ctime="$hour:$min:$sec";

$remotehost=$lines[2];

@codestatus=split('/',$lines[3]);
if ($codestatus[0] eq "TCP_HIT") { $_code=0; }
if ($codestatus[0] eq "TCP_MISS") { $_code=1; }
if ($codestatus[0] eq "TCP_REFRESH_HIT") { $_code=2; }
if ($codestatus[0] eq "TCP_REF_FAIL_HIT") { $_code=3; }
if ($codestatus[0] eq "TCP_REFRESH_MISS") { $_code=4; }
if ($codestatus[0] eq "TCP_CLIENT_REFRESH_MISS") { $_code=5; }
if ($codestatus[0] eq "TCP_IMS_HIT") { $_code=6; }
if ($codestatus[0] eq "TCP_SWAPFILE_MISS") { $_code=7; }
if ($codestatus[0] eq "TCP_NEGATIVE_HIT") { $_code=8; }
if ($codestatus[0] eq "TCP_MEM_HIT") { $_code=9; }
if ($codestatus[0] eq "TCP_DENIED") { $_code=10; }
if ($codestatus[0] eq "TCP_OFFLINE_HIT") { $_code=11; }
if ($codestatus[0] eq "UDP_HIT") { $_code=12; }
if ($codestatus[0] eq "UDP_MISS") { $_code=13; }
if ($codestatus[0] eq "UDP_DENIED") { $_code=14; }
if ($codestatus[0] eq "UDP_INVALID") { $_code=15; }
if ($codestatus[0] eq "UDP_MISS_NOFETCH") { $_code=16; }
if ($codestatus[0] eq "NONE") { $_code=17; }

$_status=$codestatus[1];

$objectsize=$lines[4];

$URLlink=$lines[6];

$username=$lines[7];

@peerstatus_host=split('/',$lines[8]);
$peerstatus=$peerstatus_host[0];
$peerhost=$peerstatus_host[1];

if (($_code ne "10")&& #TCP_DENIED
($username ne "-")&& #not register user
($_status ne "404")&& #Not Found
($_status ne "400")&& #Bad Request
($peerhost ne "-")) #uknown host
{

if ( !exists($iplist{$peerhost}) ){
$flag=0;
for (my $i=0; $i <= $#UALIST; $i++)
{
$islocal=ipv4_in_network($UALIST[$i],$peerhost);
if ( $islocal == 1) { $flag = 1 ;last; }
}
$iplist{$peerhost} = $flag;
}
else
{
$flag = $iplist{$peerhost};
}

$sth->execute($cdate,
$ctime,
$_code,
$_status,
$objectsize,
$URLlink,
$username,
$peerhost,
$flag ) || die "cannot transfer data";

$aff="SELECT * FROM download WHERE user='$username' AND dt='$cdate' and
isua=$flag";
$rows_affected=$dbh->do($aff);
if ($rows_affected < 1) {
$stn=$dbh->prepare("INSERT INTO download(user,dt,size,isua) VALUES
(?,?,?,?)");
$stn->execute($username,$cdate,0,$flag);
}
$aff="UPDATE download SET size=size+$objectsize WHERE user='$username'
AND dt='$cdate' AND isua=$flag";
$rows_affected=$dbh->do($aff);
}
}

$dbh->disconnect;
exit 1;

sub errorconn {
while(<>) {
open(FBLOG,">>".$backuplog);
print FBLOG $_;
close(FBLOG);
}
die "cannot log to MySQL -- data buffered";
}
File: sqauth
#!/bin/sh
while read username password; do
status=`/usr/local/bin/mysql -u root -D kan_squid -e "SELECT username FROM
auth WHERE username='$username' AND
password=password('$password')"`
if [ "$status" = "" ]; then
echo "ERR"
else
curmonth=`date '+%Y-%m'`;
bitt=`/usr/local/bin/mysql -u root -D kan_squid -e "SELECT IFNULL((sum(bytes)
< maxmonthly),1) AS Shapka FROM
protocol, auth WHERE userident=username and userident='$username' and datework
like '$curmonth%' and ua=0;"|egrep "[0-2]"`;
if [ $bitt -eq 1 ]; then
echo "OK";
else
echo "ERR";
fi
fi
done
--
С наилучшими пожеланиями,
Колесник Андрей
mailto:kolesn***@e*****.ua,
ICQ: 208861095

   Колесник Андрей 2005-01-21 22:18:03 (#302164)

Может кому надо ...

Доброго времени суток comp,

Если кому-то надо считать трафик национальный и зарубежный ....


Обновление диапазона адресов:
#!/usr/local/bin/php
<?
error_reporting (E_PARSE+E_ERROR+E_WARNING);
#$INFILE="http://www.dg.net.ua/noc/ua-list.txt";
$INFILE="http://noc.ix.net.ua/ua-list.txt";

$dblocation ="localhost";
$dbname ="squid";
$dbuser="имя пользователя";
$dbpasswd="пароль пользователя";


$dbcnx=@mysql_connect($dblocation,$dbuser,$dbpasswd);
if ($dbcnx){
if (@mysql_select_db($dbname,$dbcnx)){
$file = fopen ($INFILE, "r");
if ($file) {
$ix = array();
/* Read from http://noc.ix.net.ua/ua-list.txt and put IP-Addresses
to array $ix */
while (!feof ($file)) {
$line = fgets ($file, 1024);
if (preg_match("/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/i",$line))
{
array_push($ix,trim($line));
}
}
fclose($file);
}else{/* If can't open remote file with IP-List*/
echo "Unable to open remote file ".$INFILE."\n";
exit;
}
}else{/* If can't select database on MySQL-server */
echo "Unable to select databane ".$dbname.".\n";
exit;
}
}else{/* If can't connect to MySQL-server */
echo "Unable connect to MySQL server ".$dblocation."\n";
exit;
}

$ip = mysql_query("select ipaddr from uaix");
if (!$ip){
@mysql_close($dbcnx);
echo "Unable get list of IPADDR. \n";
exit;
}

/* Get IPADDR from uaix */
$ip_db = array();
while($ip_tbl = mysql_fetch_array($ip)){
array_push($ip_db, trim($ip_tbl['ipaddr']));
}

# search for NEW ipaddr
$diff=array_diff($ix,$ip_db);

#search for "NEED DELETE IPADDR"
$diff_old=array_diff($ip_db,$ix);

if (count($ix)>1) {
// Delete "NEED FOR DELETE IPADDR"
foreach($diff_old as $val){
mysql_query("delete from uaix where ipaddr='".trim($val)."'");
echo "DEL ".$val."\n";
}
//Insert NEW IPADDR
foreach($diff as $val){
echo "ADD ".$val."\n";
mysql_query("insert into uaix(ipaddr,flag) values('".trim($val)."',1)");

}
}
mysql_close($dbcnx);
?>
Скрипт для запуска Squid'a
#!/bin/sh
case "$1" in
start)
/usr/local/sbin/squid2mysql < /var/log/squid/access.log &
# rm /var/log/squid/squid.pid
/usr/local/sbin/squid -f /usr/local/etc/squid/squid.conf
echo "Squid starting\n"
;;
stop)
/usr/local/sbin/squid -k shutdown
echo "Squid stoping\n"
sleep 30
;;
*)
;;
esac

exit 0
Скрипт для архивирования БД в конце месяца ...
#!/usr/bin/perl

use DBI;
use DBI::DBD;
my $mysqluser="имя пользователя";
my $mysqlpass="пароль пользователя";
my $mysqlserv="localhost";
my $mysqlport="3306";
my $mysqldbas="kan_squid";
my $from_tbl="protocol";

if (`date -v+1d +%d` == 01 ){
$squidtable=$mysqldbas.`date +"%Y%m"`;
$dbh=DBI->connect("DBI:mysql:database=$mysqldbas;host=$mysqlserv;port=$mysqlport",$mysqluser,$mysqlpass,{AutoCommit=>1,RaiseError=>0,PrintError=>1})||&errorcon;


$dbh->do("CREATE TABLE IF NOT EXISTS $squidtable (datework date default
NULL, time time default NULL, code tinyint(3) unsigned NOT NULL default '0',
status decimal(3,0) default NULL, bytes double default NULL, url char(255) default
NULL, userident char(15) default NULL,host char(15) default NULL, ua tinyint(1)
NOT NULL default '0')");

$dbh->do("INSERT INTO $squidtable SELECT * FROM $from_tbl");

$dbh->do("TRUNCATE TABLE $from_tbl");

$dbh->disconnect;
};
В атаче структура базы...


crontab -l
50 23 * * * /path/to/file/squid_clear_proto # архивирование
10 */1 * * * /path/to/file/parse_ix-ua.php # обновление национального диапазона

--
С наилучшими пожеланиями,
Колесник Андрей
mailto:kolesn***@e*****.ua,
ICQ: 208861095

   Колесник Андрей 2005-01-21 22:07:37 (#302153)

FreeBSD+Informix

Доброго времени суток,


Кто-то видел реально работающее сочетание FreeBSD+Informix ???

Я встречал только:
Linix+Informix
Solaris+Informix
SCO+Informix
windows+Informix

Поделитесь соображениями по этой теме плиз

--
С наилучшими пожеланиями,
Колесник Андрей
mailto:kolesn***@e*****.ua,
ICQ: 208861095

   Колесник Андрей 2005-01-21 21:46:05 (#302142)

Re: moxa

Доброго времени суток yan,

Friday, January 21, 2005, 6:28:17 PM, Вы писали:

y> Доброго времени суток!
y> Есть две pci платы расширения com портов.
y> Одна работает чудесно.
y> Вторая напрочь отказывается. Причем вместе и по отдельности, под операционными

y> системами ASPLinux 7.0, FReeBSD 4.5. Работает только одна.
y> Под WinXP работают обе как вместе, так и по отдельности.

y> lspci говорит для рабочей:
y> 00:0b.0 Serial controller: Moxa Technologies Co Ltd Smartio C168H/PCI (rev
02)

y> для нерабочей:
y> 00:0b.0 Serial controller: Moxa Technologies Co Ltd: Unknown device 1681 (rev

y> 02)

y> Что интересно драйвера на дисках абсолютно идентичны.
y> Резонно было бы отнести ее взад продавцу, но он тутже воткнет ее под виндой
и
y> все заработает.
y> Возникает 2 вопроса:

y> 1. Может кто подскажет как доказать продавцу что плата не рабочая?

y> 2.Или, что было бы более изящно, заставить ее работать под фрей или на худой

y> конец под линухом?

y> Заранее благодарен.


Попробуйте для начала обновится хотя бы до FreeBSD 4.7 (рекомендую
до 4.10 - проверено, или дождитесь 4.11) которая с мохой нормально
дружит (дружила когда стояла на серваке, дето до начала декабря 2004.
Моху воткнули, правда одну, в начале 2004 - проблем НИКАКИХ). Посоветовался

с товарищем (от которого мне FreeBSD досталась) - говорит "make world" для начала.


Не кричите громко на меня но в 5.3 немного разочаровался, откачу 5.3
на 4.11 когда выйдет. У меня два рабочих сервака 1й под 4.10, 2й под 5.3.
Во 2м (5.3) я разочаровуюсь (надеюсь пока), установленные пакеты приходится
обновлять чуть ли не раз в два дня !!!!
С 4.10 такие действия приходится повторять раз в 2 недели (обычно со
Squid-ом)


--
С наилучшими пожеланиями,
Колесник Андрей
mailto:kolesn***@e*****.ua
ICQ: 208861095

   Колесник Андрей 2005-01-21 20:52:25 (#302124)

Re: Настройка ppp для GPRS

On Wed, 19 Jan 2005 15:16:14 +0300, Anton <za@p*****.net> wrote:

>
>> http://www.openbsd.ru/docs/howto-gprs.html
> Это хорошая статья, но у меня всё-равно что-то не получается.
> Я сделал ppp.conf руководствуясь примером из статьи, у меня как раз
> БиЛайн, телефон подключен (это 100%), при наборе команды
>
> ppp -auto gprs
>
> (секция gprs существует в ppp.conf), происходит обращение к телефону,
> там видно что происходит обращение и к gprs, но само соединение не
> устанавливается... :(
> В логах только это:
> ppp[1599]: tun0: Warning: ff02:3::/32: Change route failed: errno:
> Network is
> unreachable
>
> Предложенную программу GPRS Easy Connect (по-моему так), пока
> попробовать не могу.
>

   2005-01-21 19:45:11 (#302102)

moxa

Доброго времени суток!
Есть две pci платы расширения com портов.
Одна работает чудесно.
Вторая напрочь отказывается. Причем вместе и по отдельности, под операционными
системами ASPLinux 7.0, FReeBSD 4.5. Работает только одна.
Под WinXP работают обе как вместе, так и по отдельности.

lspci говорит для рабочей:
00:0b.0 Serial controller: Moxa Technologies Co Ltd Smartio C168H/PCI (rev 02)

для нерабочей:
00:0b.0 Serial controller: Moxa Technologies Co Ltd: Unknown device 1681 (rev
02)

Что интересно драйвера на дисках абсолютно идентичны.
Резонно было бы отнести ее взад продавцу, но он тутже воткнет ее под виндой и
все заработает.
Возникает 2 вопроса:

1. Может кто подскажет как доказать продавцу что плата не рабочая?

2.Или, что было бы более изящно, заставить ее работать под фрей или на худой
конец под линухом?

Заранее благодарен.

   "yan" 2005-01-21 19:26:37 (#302089)

GTK

В прогах на 2-й GTK в диалоге file->open
вместо русских имён файлов текст
\342\301

   andrew 2005-01-21 17:56:06 (#302045)

Re: lantalk

> В сообщении от Вторник 18 Январь 2005 19:20 andrew написал(a):
> > какой-нить аналог lantalk для UNIX?
>
>jabber

Это же сервер. Или я ошибаюсь?

$ cd /usr/ports/net/jabber
$ cat pkg-descr

The Jabber server (jabberd) is a daemon for Jabber clients to connect
and communicate with.

After editing $PREFIX/etc/jabber.xml, the server can be started by
rc.d script.

Complete information about configuration can be found in the Jabber Server
mini-HOWTO at http://www.jabber.org/admin/.

You can learn more about Jabber at
WWW: http://www.jabber.org/

Я тут просто в сети с NT машинами...

Кстати, кто-нить имеет опыт пользования DCgui-qt (DC++4unix)
У меня в списке юзеров все русские ники, комментарии итд зюками.
и файлы в поиске тоже
знаю, что кодировочки, вопрос - где менять

   andrew 2005-01-21 17:23:06 (#302012)

XML

# cd /usr/ports/multimedia/totem/
# make
...
.configure: error: XML::Parser perl module is required for intltool
===> Script "configure" failed unexpectedly.
Please report the problem to hendr***@s*****.net [maintainer] and attach the
"/usr/ports/multimedia/totem/work/totem-0.99.15.1/config.log" including the
output of the failure of your make command. Also, it might be a good idea to
provide an overview of all packages installed on your system (e.g. an `ls
/var/db/pkg`).
*** Error code 1

Stop in /usr/ports/multimedia/totem.

#

XML::Parser установлен (пакетом, переустановлен из портов - результат тот же)

аналогично с gnomeicu2 (аська такая)

   andrew 2005-01-21 17:19:24 (#302010)

Re: requied Perl 5.8 or hier

Суперкоманды:
use.perl port - использовать перл который поставил из порта
use.perl system - использовать перл который родной системный

Rgds, Kuzhelev Alexander


> -----Original Message> From: Artem Batalov [mailto:arch***@l*****.ru]
> Sent: Friday, January 21, 2005 11:53 AM
> To: comp.soft.bsd.all (3812528)
> Subject: Re: requied Perl 5.8 or hier
>
>
> Hello Antonov,
>
> Friday, January 21, 2005, 1:09:48 AM, you wrote:
>
> > Все... нашел...
> > Надо было читать сообщения после установки порта...
>
> Если нашел, то будь добр поделись с общественностью, чтоб
> больше не возникал сей вопрос!
>
>
>
>
> --
> Best regards,
> Artem
> mailto:arch***@l*****.ru
> ICQ UIN:72609515
> JID: arc***@j*****.ru
>
>
>

   "Alexander Kuzhelev" 2005-01-21 09:40:19 (#301711)

Re: requied Perl 5.8 or hier

Hello Antonov,

Friday, January 21, 2005, 1:09:48 AM, you wrote:

> Все... нашел...
> Надо было читать сообщения после установки порта...

Если нашел, то будь добр поделись с общественностью, чтоб больше не возникал
сей
вопрос!

   Artem Batalov 2005-01-21 08:54:08 (#301699)

requied Perl 5.8 or hier

Все... нашел...
Надо было читать сообщения после установки порта...

   2005-01-21 01:22:40 (#301593)