Перейти до

p0int

Сitizens
  • Всього повідомлень

    343
  • Приєднався

  • Останній візит

Все, що було написано p0int

  1. Все это тестировалось на асплинуксе на фре надо будет переделывать скрипты
  2. новая фича для админки кто на связи создаем базу данных в мускуле mysql в нем вводим create database stat; потом вставляем туда DROP TABLE IF EXISTS `online`; CREATE TABLE IF NOT EXISTS `online` ( `id` bigint(20) NOT NULL auto_increment, `login` varchar(10) NOT NULL default '', `status` smallint(6) NOT NULL default '0', `ip` varchar(15) NOT NULL default '', `mac` varchar(17) NOT NULL default '', `date` datetime NOT NULL default '0000-00-00 00:00:00', UNIQUE KEY `login` (`login`), KEY `id` (`id`) ) TYPE=MyISAM AUTO_INCREMENT=5555 ; \q далее в скрипт OnConnect в конец вставляем строки mac="` arp -a | grep "$2" | cut -d " " -f4|cut -d " " -f1`" date=`date +%Y-%m-%d\ %H:%M:%S` mysql stat -uЛОГИН -pПАРОЛЬ -e 'UPDATE `online` SET `status` = "1",`ip`="'$2'",`mac`="'$mac'",`date` ='"'$date'"' WHERE `login` mac="empty" в OnDissconnect mysql stat -uЛОГИН -pПАРОЛЬ -e 'UPDATE `online` SET `status` = "0" WHERE `login` = "'$1'" LIMIT 1' далее создаем файл touch online.php в него пишем echo "<a href=dir.php>Статистика</a><br>\n"; echo "<a href=dir1.php>Статистика день ночь</a><br>\n"; echo "<a href=gencard.php>Сгенерировать партию карточек</a><br>\n"; mysql_connect('localhost',dblogin,dbpass); mysql_select_db('stat'); $res=mysql_query("SELECT `online`.`login` , `online`.`ip` , `online`.`mac`, `group`.`group_id`, `online`.`date` FROM `group` , `online` WHERE `online`.`login` = `group`.`user` and `status` =1 ORDER BY `group`.`group_id`,`online`.`login` ASC "); echo "<table>"; while ($row = mysql_fetch_array($res)) { echo "<tr><td>".$row[0]."</td>"; //login echo "<td>".$row[1]." - ".$row[2]."</td>"; //ip - mac echo "<td>".$row[3]."</td>"; //group echo "<td>".$row[4]."</td>"; //date echo "<td>OnLine</td></tr>\n"; // } echo "</table>"; mysql_free_result($res); ?> перегружаем старгейзер и любуемся кто же у нас работает жду ваших коментариев и предложений да и еще в OnConnect можно еще сделать привязку по маку помоему так --mac $mac
  3. p0int

    Помогите плз.

    зачем такие сложности тебе трафик сравнить надо с провом это делаеться проще да и на одной машине может крутиться 2 старгейзера
  4. права проверь на файл должны быть 644
  5. p0int

    ограничение скорости

    угу но о началу куча гемора
  6. p0int

    ограничение скорости

    cbq + shell - рой в эту сторону
  7. p0int

    команды серверу.

    конечно есть все они в исходниках бери и колупай
  8. p0int

    День/Ночь! а выходной ?

    cron cp /bin/rc.d/stargazer stop /bin/rc.d/stargazer start это тебе поможет просто создаеш 2 тарифа с одинаковыми именами и по времени или дням недели просто их меняешь а потом перегружаеш службу
  9. зачем будешь грузить проц а если не успеет записать то лги будут пустыми
  10. Пользователи онлайн блокировка заморозка олвейс онлайн добовление данных о пользователе
  11. у кого нить есть исходники конфигуратора
  12. что такое виндолвый реестр знаю хорошо в большенстве случаев в винде все делаеться мышкой + он не документируеться производителем програмного обеспичения не отходя от темы ти все хранит не в нем а в текстовом файле или в хмл так что реестр тут не в тему а в линухе всегда можно найти доку в реестре голову свернуть можно
  13. в вине вообще все не требует глубоких знаний типа мыха рулит
  14. старгейзер бесплатный работает на бесплатной ос поддерживает скрипты можно присобачить все что угодно есть исходные тексты жрет меньше ресурсов ----- по юзабилити ти лучше вывод статистики графики уже есть есть статистика впн
  15. а будет ли он корректно считать 3х юзеров одновременно ?
  16. а как из апача (php) посмотреть правила фаервола? что-то я совсем туплю.... ASPLinux 9.2, iptables может проще в скрипты онконнект/ондисконект, добавить строчку которя будет у юзеров в папке создавать файл к примеру connected и туда будет записывать "1" а при дисконекте "0" а в php проветять содержимое этого файла??? так у себя и сделал токашо OnConnect ... login=$1 echo "1" > /var/stargazer/users/$login/connected ... OnDisconnect ... login=$1 echo "0" > /var/stargazer/users/$login/connected ... <? $d=shell_exec("iptables -L -n"); echo $d; ?>
  17. дополнение }elseif($mode=="stat"){ $data=file_get_contents ("/var/stargazer/users/".$logged_user."/detail_stat/".$year."/".$month."/".$day); $keywords = preg_split ("/->[\s]+/", $data); unset($data); $i=0; $in_sum=0; $out_sum=0; $cash_sum=0; while ($i<>sizeof($keywords)){ if (strlen($keywords[$i])>20){ $keywords[$i]=str_replace(" "," ",$keywords[$i]); preg_match_all ("/\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}\s+\d\s+\d{1,10}\s+\d{1,10}\s+\d{1,3}.\d{1,10}/",$keywords[$i], $dw ); $j=0; while ($j<>(sizeof($dw[0]))){ list($ip,$dir,$in,$out,$cash)=preg_split ("/[\s]+/",$dw[0][$j]); $in_sum=$in_sum+$in; $out_sum=$out_sum+$out; $cash_sum=$cash_sum+$cash; switch ($dir) { case 0: $dir="Internet"; break; case 1: $dir="Mail"; break; } $data_out .= "<tr align=\"center\"><th>".substr($keywords[$i],0,19) ."</th><td>".$ip." </td><td>".$dir." </td><td>". $in."</td><td>".$out./*"</td><td>".$cash.*/"</td></tr>"; $j++; } } $i++; } $out=file_get_contents("template/det.tpl"); $data_out .= "<tr align=\"center\"><th>-</th><td>-</td><td>-</td><td><b>".byte2mbyte($in_sum)."</b></td><td><b>".byte2mb yte($out_sum)."</b></td></tr>"; $out = str_replace("% data %", $data_out, $out); $out = str_replace("% exit %", "<a href=\"exit.php\">Exit</a>", $out); echo $out; }elseif ($mode=="log"){ $fileName = ("/var/stargazer/users/".$logged_user."/stat.".$year.".".$month); $fcontents = file_get_contents( $fileName); unset($fileName); $out=file_get_contents("./template/stat.tpl"); preg_match_all ("/[DU].=\(?\d{3,9}\)? /x",$fcontents, $dw); $i=0; while ($i<>4){ $dw[0][$i]=substr(substr($dw[0][$i],3,15)/1024/1024,0,7); $i++; } $out = str_replace("% user %", $logged_user." ".$year."/".$month, $out); $out = str_replace("% down-inet %", $dw[0][0]." Mb", $out); $out = str_replace("% up-inet %", $dw[0][1]." Mb", $out); $out = str_replace("% down-mail %", $dw[0][2]." Mb", $out); $out = str_replace("% up-mail %", $dw[0][3]." Mb", $out); preg_match("/Cash=[\d]+/",$fcontents, $dw); /*(?\d{0,9}.\d{0,9}\)? /x*/ $out = str_replace("% cash %", /*substr($dw[0],5,20)." Grn"*/ "Contact whis admin", $out); $out = str_replace("% exit %", "<a href=\"exit.php\">Exit</a>", $out); echo $out; } http://192.168.6.1/stat/secretplace.php?mo...month=07&day=28 - статистика по дням http://192.168.6.1/stat/secretplace.php?mo...r=2005&month=07 статистика за прошлый мес думаю куда что тулиь и как прикрутить веб морду сами разберетесь
  18. добавить function okrugl($var){ return money_format('%.2n', $var);// number_format($var, 2, ',', ' '); } function byte2mbyte($var){ return number_format($var/1024/1024, 2, ',', ' '); } исправить $out = str_replace("% cash %", substr($dw[0],5,20)." Грн", $out); на $out = str_replace("% cash %", okrugl(substr($dw[0],5,20))." Грн", $out); ------ исправить $out = str_replace("% in_nigth %", $in_sum_nigth, $out); $out = str_replace("% out_nigth %", $out_sum_nigth, $out); $out = str_replace("% cash_nigth %", $cash_sum_nigth, $out); $out = str_replace("% in_day %", $in_sum_day, $out); $out = str_replace("% out_day %", $out_sum_day, $out); $out = str_replace("% cash_day %", $cash_sum_day, $out); на $out = str_replace("% in_nigth %", byte2mbyte($in_sum_nigth), $out); $out = str_replace("% out_nigth %", byte2mbyte($out_sum_nigth), $out); $out = str_replace("% cash_nigth %", okrugl($cash_sum_nigth), $out); $out = str_replace("% in_day %", byte2mbyte($in_sum_day), $out); $out = str_replace("% out_day %", byte2mbyte($out_sum_day), $out); $out = str_replace("% cash_day %", okrugl($cash_sum_day), $out); по поводу паролей да читать не безопасно есть вариант конечно сделать через .htpasswd но забивать всех юзеров гемор или через базу забить пользователей скриптом а потом читать. если есть еще какие то идеи готов выслушать если что пишите в асю 107108905
  19. Спасибо приму к сведению исправления вышлю
  20. p0int

    Бока со старгейзером

    1 2 3 4 5 начинаем телепать хоть бы конфиги и локи выложил тут ведь телепатов нет
  21. сделай так //$SERVER_ROOT = "http://Ваш айпи сервера"; //if(eregi("^$SERVER_ROOT",$HTTP_REFERER)){ ---- код ---- //} ?> и проверь путь там ли у тебя базы лежат и права
  22. файл auhtorize.php $SERVER_ROOT = "http://Ваш айпи сервера"; пример $SERVER_ROOT = "http://192.168.0.1"; и будет тебе счастье и еще права на файлы должны быть 644 в конциге старгейзера их поменять надо
  23. жду ваших коментариев и дополнений
  24. простая клиентская статистика tpl/header.tpl <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-r"> <TITLE>Internet Statistic</TITLE> </HEAD> <style type="text/css"><!-- body {background-color: #ddddff; color: #000000;} body, td, th, h1, h2 {font-family: sans-serif;} pre {margin: 0px; font-family: monospace;} a:link {color: #000099; text-decoration: none; background-color: #ffffff;} a:hover {text-decoration: underline;} table {border-collapse: collapse;} .center {text-align: center;} .center table { margin-left: auto; margin-right: auto; text-align: left;} .center th { text-align: center !important; } td, th { border: 1px solid #000000; font-size: 75%; vertical-align: baseline;} h1 {font-size: 150%;} h2 {font-size: 125%;} .p {text-align: left;} .e {background-color: #ccccff; font-weight: bold; color: #000000;} .h {background-color: #9999cc; font-weight: bold; color: #000000;} .v {background-color: #cccccc; color: #000000;} i {color: #666666; background-color: #cccccc;} img {float: right; border: 0px;} hr {width: 600px; background-color: #cccccc; border: 0px; height: 1px; color: #000000;} //--></style> tpl/userinfo.tpl <center> <FONT SIZE=+2 COLOR=green>Информация о пользователе <FONT COLOR=blue>% User %</FONT> <TABLE > <TR> <TD BGCOLOR="#99dd99">Логин</TD> <TD BGCOLOR="#dddd99">% User %</TD> </TR> <TR> <TD BGCOLOR="#99dd99">Заморожен</TD> <TD BGCOLOR="#dddd99"><INPUT TYPE=checkbox % Passive %> </TD> <TR> <TD BGCOLOR="#99dd99">Отключен</TD> <TD BGCOLOR="#dddd99"><INPUT TYPE=checkbox % Down %> </TD> <TR> <TD BGCOLOR="#99dd99">Всегда включен</TD> <TD BGCOLOR="#dddd99"><INPUT TYPE=checkbox % AlwaysOnline %> </TD> <TR> <TD BGCOLOR="#99dd99">ФИО</TD> <TD BGCOLOR="#dddd99"><INPUT TYPE=text SIZE=40 NAME=fio VALUE="% RealName %"></TD> </TR> <TR> <TD BGCOLOR="#99dd99">Телефон</TD> <TD BGCOLOR="#dddd99"><INPUT TYPE=text SIZE=20 NAME=phone VALUE="% Phone %"></TD> </TR> <TR> <TD BGCOLOR="#99dd99">Адрес</TD> <TD BGCOLOR="#dddd99"><INPUT TYPE=text SIZE=40 NAME=address VALUE="% Address %"></TD> </TR> <TR> <TD BGCOLOR="#99dd99">Почтовый адрес</TD> <TD BGCOLOR="#dddd99"><INPUT TYPE=text SIZE=40 NAME=address VALUE="% Email %"></TD> </TR> <TR> <TD BGCOLOR="#99dd99">Примичание</TD> <TD BGCOLOR="#dddd99"><INPUT TYPE=text SIZE=40 NAME=prim VALUE="% Note %"></TD> </TR> <TR> <TD BGCOLOR="#99dd99">Пакет</TD> <TD BGCOLOR="#dddd99"><INPUT TYPE=text SIZE=40 NAME=tariff VALUE="% Tariff %"> </TD> <TR> <TD BGCOLOR="#99dd99">Кредит</TD> <TD BGCOLOR="#dddd99"><INPUT TYPE=text SIZE=40 NAME=tariff VALUE="% Credit %"> </TD> <TR> <TD BGCOLOR="#99dd99">Время создания акаунта</TD> <TD BGCOLOR="#dddd99">% CreationTime %</TD> </TR> <TR> <TD BGCOLOR="#99dd99">Баланс</TD> <TD BGCOLOR="#dddd99">% cash %</TD> </TR> </TABLE><br> День <table> <tr> <td BGCOLOR="#99dd99">Отправлено</td> <td BGCOLOR="#dddd99">% out_day %</td> </tr> <tr> <td BGCOLOR="#99dd99">Принято</td> <td BGCOLOR="#dddd99">% in_day %</td> </tr> </table><br> Ночь <table> <tr> <td BGCOLOR="#99dd99">Отправлено</td> <td BGCOLOR="#dddd99">% out_nigth %</td> </tr> <tr> <td BGCOLOR="#99dd99">Принято</td> <td BGCOLOR="#dddd99">% in_nigth %</td> </tr> </table><br> <p class="text">% exit %</p> </center> index.php <html> <head> <title>Статитика</title> </head> <body> <form action="authorize.php" method=post1> Login:<input type="text" name="user_name"><br> Password :<input type="password" name="user_pass"><br> <input type="submit" name="Submit" value=".: OK :."> </form> </body> </html> authorize.php <?php session_start(); $SERVER_ROOT = "http://Ваш айпи сервера"; if(eregi("^$SERVER_ROOT",$HTTP_REFERER)){ if($Submit){ $fe=file_exists("/var/stargazer/users/".$user_name."/conf"); if($fe==1){ $fp = file_get_contents("/var/stargazer/users/".$user_name."/conf"); preg_match("/d=[a-z0-9]?.+/",$fp,$pass); $pass[0]=str_replace("d=","",$pass[0]); preg_match("/Credit=[a-z0-9]?.+/",$fp,$credit); $credit[0]=str_replace("Credit=","",$credit[0]); $pass[0]=md5($pass[0]); if(md5($user_pass)==$pass[0]){ unset($pass); $logged_user=$user_name; unset($user_name); session_register("logged_user"); $_SESSION['credit']=$credit[0]; header("Location: secretplace.php"); exit; } }//else header("Location: index.php"); } } ?> <html><body> Password Incorrect </body></html> secretplace.php <?php unset($logged_user); session_start(); session_register($logged_user); if(!isset($logged_user)){ header("Location: index.php"); exit; } if($mode==""){ include('tpl/header.tpl'); $out=file_get_contents('tpl/userinfo.tpl'); $handle = fopen ("/var/stargazer/users/".$logged_user."/conf", "r"); if (!file_exists("/var/stargazer/users/".$logged_user."/conf")){die('Такого пользователя нет'); } while (!feof ($handle)) { $buffer = fgets($handle, 4096); list($text, $param) = split ("=", $buffer, 2); switch ($text) { case "CreationTime": $out = str_replace("% CreationTime %", date("H:i:s d m Y",$param), $out); break; case "Passive": if ($param==1) $out = str_replace("% Passive %", "CHECKED", $out); break; case "Down": if ($param==1) $out = str_replace("% Down %", "CHECKED", $out); break; case "AlwaysOnline": if ($param==1) $out = str_replace("% AlwaysOnline %", "CHECKED", $out); break; case "Tariff": $out = str_replace("% Tariff %", $param, $out); break; case "Address": $out = str_replace("% Address %", $param, $out); break; case "Phone": $out = str_replace("% Phone %", $param, $out); break; case "Email": $out = str_replace("% Email %", $param, $out); break; case "Note": $out = str_replace("% Note %", $param, $out); break; case "RealName": $out = str_replace("% RealName %", $param, $out); break; case "Group": $out = str_replace("% Group %", $param, $out); break; case "Credit": $out = str_replace("% Credit %", $param, $out); break; case "TariffChange": if (!empty($param) and $param==" "){ $out = str_replace("% TariffChange %", date("H:i:s d m Y", $param), $out); } else{ $out = str_replace("% TariffChange %", "", $out);} break; case "Userdata0": $out = str_replace("% Userdata0 %", $param, $out); break; case "Userdata1": $out = str_replace("% Userdata1 %", $param, $out); break; case "IP": break; } } fclose ($handle); $out = str_replace("% User %", $logged_user, $out); //<!-- вычисление дня и ночи --> $d = dir("/var/stargazer/users/".$logged_user."/detail_stat/".date("Y")."/".date("m")); while (false !== ($entry = $d->read())) { if (!eregi($entry,"..")){ $fileName = "/var/stargazer/users/".$logged_user."/detail_stat/".date("Y")."/".date("m")."/".$entry; if (file_exists($fileName)) { $data = file_get_contents($fileName); $keywords = preg_split ("/->[\s]+/", $data); unset($data); $i=1; $in_sum=0; $out_sum=0; $cash_sum=0; while ($i<>sizeof($keywords)){ list($time1,$time2)=split (" - ",substr($keywords[$i],0,19)); if((substr($time1,0,2)<6/*параметр разделения ночного и дневгого трафика*/)){ if (strlen($keywords[$i])>20){ $keywords[$i]=str_replace(" "," ",$keywords[$i]); preg_match_all ("/\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}\s+\d\s+\d{1,10}\s+\d{1,10}\s+\d{1,3}.\d{1,10}/",$keywords[$i], $dw); $j=0; while ($j<>(sizeof($dw[0]))){ list($ip,$dir,$in,$out1,$cash)=preg_split ("/[\s]+/",$dw[0][$j]); $in_sum_nigth=$in_sum_nigth+$in; $out_sum_nigth=$out_sum_nigth+$out1; $cash_sum_nigth=$cash_sum_nigth+$cash; $j++; } $in_sum_nigth=$in_sum_nigth+$in; $out_sum_nigth=$out_sum_nigth+$out1; } }else{ if (strlen($keywords[$i])>20){ $keywords[$i]=str_replace(" "," ",$keywords[$i]); preg_match_all ("/\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}\s+\d\s+\d{1,10}\s+\d{1,10}\s+\d{1,3}.\d{1,10}/",$keywords[$i], $dw); $j=0; while ($j<>(sizeof($dw[0]))){ list($ip,$dir,$in,$out1,$cash)=preg_split ("/[\s]+/",$dw[0][$j]); $in_sum_day=$in_sum_day+$in; $out_sum_day=$out_sum_day+$out1; $cash_sum_day=$cash_sum_day+$cash; $j++; } } } $i++; } } } } $out = str_replace("% in_nigth %", $in_sum_nigth, $out); $out = str_replace("% out_nigth %", $out_sum_nigth, $out); $out = str_replace("% cash_nigth %", $cash_sum_nigth, $out); $out = str_replace("% in_day %", $in_sum_day, $out); $out = str_replace("% out_day %", $out_sum_day, $out); $out = str_replace("% cash_day %", $cash_sum_day, $out); $out = str_replace("% exit %", "<a href=\"exit.php\">Выход</a>", $out); $d->close(); //<!-- вычисление дня и ночи --> $fileName = ("/var/stargazer/users/".$logged_user."/stat"); $fcontents = file_get_contents( $fileName); // unset($fileName); preg_match("/Cash=[\-0-9.]+/",$fcontents, $dw); $out = str_replace("% cash %", substr($dw[0],5,20)." Грн", $out); echo $out; }
  25. p0int

    Укртелеком

    недавно себе решил провести адсл так как качаю много взял макчсимальный пакет тем более что 2 мегабита дают взял вроде все ок начал тестить скорость и тут облом скорость в 2 мбит он не держит каналы в украину намного ниже того же укрсата до этого дома юзал канал укрсата часть сайтов из уаикс вообще не работает так что именно адсл я не доволен
×
×
  • Створити нове...