This commit is contained in:
Christoph Haas 2012-07-17 19:15:23 +00:00
parent 8d2ab70bdf
commit 163e0d61c2
57 changed files with 78 additions and 4026 deletions

View File

@ -3,28 +3,33 @@ include ($_SERVER["DOCUMENT_ROOT"]."/Site/checkadmin.php");
//include ($_SERVER["DOCUMENT_ROOT"]."/Config/_siteconfig_.php"); //include ($_SERVER["DOCUMENT_ROOT"]."/Config/_siteconfig_.php");
?> ?>
<!-- MAIN CONTENT BEGINN ################################################################################ --> <!-- MAIN CONTENT BEGINN ################################################################################ -->
<h1><b>Administration Center</b></h1> <!-- MAIN -->
<table> <div id="main">
<div class="wrapper">
<tr><td width=60%> <h1><b>Administration Center</b></h1>
<h2>Actions:</h2> <table widht="100%">
<?php <tr>
$moduleid = 0; <td width=60%>
foreach ($SITE_MODULES_ADMIN as $modul) <h2>Actions:</h2>
{ <?php
$moduleid++; $moduleid = 0;
$cut = strpos($modul, "#"); foreach ($SITE_MODULES_ADMIN as $modul)
$modtitle = substr($modul,0,$cut); {
echo "<a href=\"/Admin/index.php?site=".$moduleid."&uebergabe=0&uebergabe2=0&uebergabe3=0&uebergabe4=0\"> $moduleid++;
<p># ".$modtitle."</p> $cut = strpos($modul, "#");
</a>"; $modtitle = substr($modul,0,$cut);
} echo "<a href=\"/Admin/index.php?site=".$moduleid."&uebergabe=0&uebergabe2=0&uebergabe3=0&uebergabe4=0\">
?> <p># ".$modtitle."</p>
<a href ="/sql/"><p># PhpMyAdmin</p></a> </a>";
</td> }
<td> ?>
<img src="/Admin/Modules/Home/img/tux.png"> <a href ="/sql/"><p># PhpMyAdmin</p></a>
</td> </td>
</tr> <td>
</table> <img src="/Admin/Modules/Home/img/tux.png">
</td>
</tr>
</table>
</div>
</div>

View File

@ -18,29 +18,32 @@ include ($_SERVER["DOCUMENT_ROOT"]."/Config/_dbconfig_.php");
?> ?>
<!-- MAIN CONTENT BEGINN ################################################################################ --> <!-- MAIN CONTENT BEGINN ################################################################################ -->
<form action="<?php echo $PHP_SELF; ?>" method="post"> <!-- MAIN -->
<br> <div id="main">
<select name="dirsort" size=1> <div class="wrapper">
<option <?php if($sort=="ASC") echo "selected";?> value="ASC">Up</option> <form action="<?php echo $PHP_SELF; ?>" method="post">
<option <?php if($sort=="DESC") echo "selected";?> value="DESC">Down</option> <br>
</select> <select name="dirsort" size=1>
<option <?php if($sort=="ASC") echo "selected";?> value="ASC">Up</option>
<option <?php if($sort=="DESC") echo "selected";?> value="DESC">Down</option>
</select>
<select name="table" size=1> <select name="table" size=1>
<option <?php if($table=="year") echo "selected";?> value="year">Year</option> <option <?php if($table=="year") echo "selected";?> value="year">Year</option>
<option <?php if($table=="month") echo "selected";?> value="month">Month</option> <option <?php if($table=="month") echo "selected";?> value="month">Month</option>
<option <?php if($table=="connections") echo "selected";?> value="connections">All</option> <option <?php if($table=="connections") echo "selected";?> value="connections">All</option>
</select> </select>
<select name="sortby" size=1> <select name="sortby" size=1>
<option <?php if($by=="id") echo "selected";?> value="id">ID</option> <option <?php if($by=="id") echo "selected";?> value="id">ID</option>
<option <?php if($by=="client") echo "selected";?> value="client">Client</option> <option <?php if($by=="client") echo "selected";?> value="client">Client</option>
<option <?php if($by=="sent") echo "selected";?> value="sent">Sent</option> <option <?php if($by=="sent") echo "selected";?> value="sent">Sent</option>
<option <?php if($by=="received") echo "selected";?> value="received">Received</option> <option <?php if($by=="received") echo "selected";?> value="received">Received</option>
<option <?php if($by=="ip") echo "selected";?> value="ip">IP</option> <option <?php if($by=="ip") echo "selected";?> value="ip">IP</option>
</select> </select>
Search Client:<input type="text" name="client" size="20" <?php if($client !="") echo "value=".$client;?> ></td> Search Client:<input type="text" name="client" size="20" <?php if($client !="") echo "value=".$client;?> ></td>
<input type="submit" value="go!"> <input type="submit" value="go!">
</form> </form>
<!------ Sorting Leiste Start--> <!------ Sorting Leiste Start-->
<? <?
@ -168,4 +171,5 @@ Search Client:<input type="text" name="client" size="20" <?php if($client !="")
echo "</table>"; echo "</table>";
mysql_close(); mysql_close();
?> ?>
</div>
</div>

View File

@ -1,10 +0,0 @@
<?php
include ($_SERVER["DOCUMENT_ROOT"]."/Site/checkadmin.php");
?>
<iframe id="iframe" src="/munin/" width="99%" height=1024
scrolling="auto" marginheight="0" marginwidth="0" frameborder="0">
<p> Ihr Browser kann leider keine eingebetteten Frames anzeigen:
Sie k&ouml;nnen die eingebettete Seite &uuml;ber den folgenden Verweis
aufrufen: <a href="/munin/">SELFHTML</a>
</p>
</iframe>

View File

@ -16,8 +16,11 @@ $url = $moduleurl;
include ($_SERVER["DOCUMENT_ROOT"]."/Site/checkadmin.php"); include ($_SERVER["DOCUMENT_ROOT"]."/Site/checkadmin.php");
$status = $_REQUEST["uebergabe"]; $status = $_REQUEST["uebergabe"];
?> ?>
<!-- MAIN CONTENT BEGINN ################################################################################ --> <!-- MAIN CONTENT BEGINN ################################################################################ -->
<h1><b>Settings</b></h1> <!-- MAIN -->
<div id="main">
<div class="wrapper">
<h1><b>Settings</b></h1>
<?php <?php
switch($status) switch($status)
{ {
@ -240,3 +243,5 @@ echo "
} }
} }
?> ?>
</div>
</div>

View File

@ -1,14 +0,0 @@
<?php
session_start();
include ($_SERVER["DOCUMENT_ROOT"]."/Site/checkadmin.php");
include ($_SERVER["DOCUMENT_ROOT"]."/Config/_siteconfig_.php");
$id = $_REQUEST["id"];
$path = $_REQUEST["path"];
// Write to file vpnid_man
$myFile = db_getconfval("sqddir")."/vpnid_man";
$fh = fopen($myFile, 'w') or die("can't open file");
fwrite($fh, $id);
fclose($fh);
header ("Location: ".$path."&uebergabe=1&uebergabe2=1");
?>

View File

@ -1,9 +0,0 @@
<?php
session_start();
$path = $_REQUEST["path"];
include ($_SERVER["DOCUMENT_ROOT"]."/Site/checkadmin.php");
include ($_SERVER["DOCUMENT_ROOT"]."/Site/mysql.php");
$ret = passthru("echo > ".db_getconfval("sqddir")."/blacklist");
echo $ret;
header ("Location: ".$path."&uebergabe=1&uebergabe2=2");
?>

View File

@ -1,66 +0,0 @@
<?php
//include($_SERVER["DOCUMENT_ROOT"]."/Site/mysql.php");
// Change: your company name
$config['Company_Name'] = 'SchulVPN';
// Change: your company home page
$config['URL_Home_Page'] = 'http://10.10.63.60/index.php';
$config['AUTH_REALM'] = $config['Company_Name'] .' OpenVPN Web GUI v.0.3.2';
// What files to include into ZIP
$config['Download']['ZIP']['.pem'] = true;
$config['Download']['ZIP']['.key'] = true;
$config['Download']['ZIP']['.csr'] = false;
// All the following files should be placed into downloads folder
$config['Download']['ZIP']['Others'] = array ('readme.txt','ca.crt', 'schulvpn.ovpn', 'certinstall.sh');
//$config['Download']['ZIP']['Others'] = array ('readme.txt', 'install.cmd', 'tls-auth.key');
// Use the real absolute path here.
$config['PluginsAbsolutePath'] = $_SERVER["DOCUMENT_ROOT"]."/Admin/Modules/VPNConfig/plugins/";
// If there are no plugins
//$config['Plugins'] = NULL;
// Otherwise, follow this example:
//$config['Plugins']['PLUGINMANE']['Folder'] = 'FOLDERNAME';
// The post-install helper plugin. Shows if PHP5 has the neccessary functions available
$config['Plugins']['systemcheck']['Folder'] = 'systemcheck';
// OPENVPN ________________________________
// Change: the configuration directory
$config['openvpn']['folder'] = db_getconfval("ovpnconfdir")."/";
// Change: configuration and status file names
$config['openvpn']['config'] = $config['openvpn']['folder'].db_getconfval("ovpnconffile");
$config['openvpn']['status'] = $config['openvpn']['folder']."openvpn-status.log";
// OPENSSL ________________________________
// Change: openssl keys directory
$config['openssl']['folder'] = db_getconfval("ovpnkeydir")."/keys/";
// Change: different folders for Public Certificates, Certificate Requests and Private Keys.
// NOTE: openssl somehow respects only newpem folder (for Public Certificates).
$config['openssl']['pubfolder'] = $config['openssl']['folder'];
$config['openssl']['reqfolder'] = $config['openssl']['folder'];
$config['openssl']['prvfolder'] = $config['openssl']['folder'];
// Change: openssl CA private and public keys
$config['openssl']['CA']['priv'] = $config['openssl']['folder'] .'ca.key';
$config['openssl']['CA']['pub'] = $config['openssl']['folder'] .'ca.crt';
// Change: openssl serial file
$config['openssl']['serial'] = $config['openssl']['folder'] .'serial';
// Change: openssl database
$config['openssl']['database'] = $config['openssl']['folder'] .'index.txt';
// Change: openssl configuration
$config['openssl']['config'] = $config['openvpn']['folder'] .'openssl.cnf';
// NEW OPENSSL CERTIFICATE DEFAULTS _________
// Change all of them as it is done in your easy-rsa/vars
$config['openssl']['default']['expiration'] = 3560;
$config['openssl']['default']['countryName'] = 'AT';
$config['openssl']['default']['stateOrProvinceName'] = 'Tirol';
$config['openssl']['default']['localityName'] = 'Innsbruck';
$config['openssl']['default']['organizationName'] = 'HTL';
$config['openssl']['default']['organizationalUnitName'] = '';
$config['openssl']['default']['commonName'] = '';
$config['openssl']['default']['emailAddress'] = 'vpn@students.htlinn.ac.at';
?>

View File

@ -1,251 +0,0 @@
<?php
// ----------------------------------------------
function load_plugins ()
{
global $config;
if (isset ($config['Plugins']))
{
foreach ($config['Plugins'] as $PluginName => $PluginData)
{
// Check if the config.inc for a plugin exists
if (file_exists ($_SERVER["DOCUMENT_ROOT"]."/Admin/Modules/VPNconfig/plugins/". $PluginData['Folder'] ."/config.inc"))
{
include ($_SERVER["DOCUMENT_ROOT"]."/Admin/Modules/VPNconfig/plugins/". $PluginData['Folder'] ."/config.inc");
// Check if claimed inc files do exist
if (isset ($config['Plugins'][$PluginName]['Action']['Include']) &&
!file_exists ($_SERVER["DOCUMENT_ROOT"]."/Admin/Modules/VPNconfig/plugins/". $PluginData['Folder'] ."/".
$config['Plugins'][$PluginName]['Action']['Include']))
$config['Plugins'][$PluginName]['Action']['Include'] = NULL;
if (isset ($config['Plugins'][$PluginName]['Left']['Menu']) &&
!file_exists ($_SERVER["DOCUMENT_ROOT"]."/Admin/Modules/VPNconfig/plugins/". $PluginData['Folder'] ."/".
$config['Plugins'][$PluginName]['Left']['Menu']))
$config['Plugins'][$PluginName]['Left']['Menu'] = NULL;
if (isset ($config['Plugins'][$PluginName]['Left']['Status']) &&
!file_exists ($_SERVER["DOCUMENT_ROOT"]."/Admin/Modules/VPNconfig/plugins/". $PluginData['Folder'] ."/".
$config['Plugins'][$PluginName]['Left']['Status']))
$config['Plugins'][$PluginName]['Left']['Status'] = NULL;
}
}
}
}
// ----------------------------------------------
function seconds_string ($seconds, $periods = null)
{
$Wanted = '';
// Define time periods
if (!is_array ($periods))
{
$periods = array (
'years' => 31556926,
'months' => 2629743,
'weeks' => 604800,
'days' => 86400,
'hours' => 3600,
'minutes' => 60,
'seconds' => 1
);
}
// Wanted
if (empty ($seconds))
{ $Wanted = ''; }
else
{
// Loop
$seconds = (int) $seconds;
foreach ($periods as $period => $value)
{
$count = floor ($seconds / $value);
if ($count == 0)
continue;
elseif ($count == 1)
$Wanted .= ($count . ' ' . substr ($period, 0, strlen ($period) - 1) . ' ');
else
$Wanted .= ($count . ' ' . $period . ' ');
$seconds = $seconds % $value;
}
}
return rtrim ($Wanted);
}
// ----------------------------------------------
function chomp (&$string)
{
if (is_array ($string))
{
foreach ($string as $i => $val)
{ $endchar = chomp ($string[$i]); }
}
else
{
$endchar = substr ("$string", strlen("$string") - 1, 1);
if ($endchar == "\n")
{ $string = substr ("$string", 0, -1); }
}
return $endchar;
}
// ----------------------------------------------
function str_strip_spaces ($aline)
{
while (strpos ($aline, "\t") != FALSE) $aline = str_replace ("\t", ' ', $aline);
while (strpos ($aline, ' ') != FALSE) $aline = str_replace (' ', ' ', $aline);
return $aline;
}
// ----------------------------------------------
// Returns $afile only if it is the full name, or prefixed by $apath
function str_file_fullname ($apath, $afile)
{
if (substr ($afile, 0, 1) != '/')
$afile = ($apath . $afile);
return $afile;
}
// ----------------------------------------------
// Returns $afile only if it is the full name, or prefixed by $apath
function str_openssldata_to_string ($adata)
{
$Return = '';
$amonth = array ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
if (substr ($adata, -1, 1) == 'Z')
{
$Return = sprintf ("%s %d %s%02d, %02d:%02d:%02d",
$amonth [substr ($adata, 2, 2) - 1],
substr ($adata, 4, 2),
(substr ($adata, 0, 2) > 50 ? '19' : '20'),
substr ($adata, 0, 2),
substr ($adata, 6, 2),
substr ($adata, 8, 2),
substr ($adata, 10, 2));
}
return $Return;
}
// ----------------------------------------------
function str_get_sometag ($aline, $sometag)
{
if (eregi ($sometag, $aline, $anarray))
return $anarray[1];
else
return '';
}
// ----------------------------------------------
// Writes content into file
// Optionally sames old file into backup file.
// The Backup File has to reside on the same partition!
function writefile ($afile, $adata, $abackup = NULL)
{
// Move the old file into Backup one
if ($abackup != NULL)
{
if (file_exists ($afile))
{
if (file_exists ($abackup))
if (!unlink ($abackup))
exit;
if (!rename ($afile, $abackup))
exit;
}
}
$fp = fopen ($afile, "w", 0);
if (!$fp)
exit;
fputs ($fp, $adata);
fclose ($fp);
}
// ----------------------------------------------
// Guess the full file name
function if_file_exists (&$sFileName, $bFix = FALSE)
{
global $config;
if (strpos ($sFileName, '/') == FALSE)
{
$sLongFileName = $config['openvpn']['folder'] . $sFileName;
if (file_exists ($sLongFileName) && $bFix)
$sFileName = $sLongFileName;
}
return file_exists ($sFileName);
}
// ----------------------------------------------
function zlib_check_functions ()
{
$Result = '';
$ZLibs = array
(
'gzcompress'
);
foreach ($ZLibs as $Function)
{
$Result .= $Function . '<font color="black">:</font> ' . (function_exists ($Function) ?
'<font color="black">OK</font>' :
'<font color="red">DOES NOT EXIST</font>') . '<br>';
}
return $Result;
}
// ----------------------------------------------
function html_dump ($aname, $athing)
{
echo '<pre><b><font color="darkgreen">'. $aname .'</font></b>: ';
print_r ($athing);
echo "</pre><br>\n";
}
// ----------------------------------------------
function html_error ($amessage, $ifexit = true)
{
global $config;
echo $amessage;
if ($ifexit)
exit;
}
// ----------------------------------------------
function html_postredir ($url)
{
header ('HTTP/1.1 303 REDIRECT');
header ('Location: '. $url);
#header ('Status: 303'); // if 1st header generates 500, then commend it out and use this one as 2nd
}
// ----------------------------------------------
// ----------------------------------------------
function html_download ($sFile, $sName)
{
header ('Content-type: application/octet-stream');
header ('Content-Disposition: attachment; filename="'. $sName . '"');
readfile ($sFile);
}
// ----------------------------------------------
function html_download_data ($sData, $sName)
{
header ('Content-type: application/octet-stream');
header ('Content-Disposition: attachment; filename="'. $sName . '"');
echo $sData;
}
?>

View File

@ -1,377 +0,0 @@
<?php
// ----------------------------------------------
function openssl_check_functions ()
{
$Result = '';
$OpenSSLs = array
(
'openssl_csr_new',
'openssl_csr_sign',
'openssl_csr_export_to_file',
'openssl_pkey_new',
'openssl_pkey_get_private',
'openssl_pkey_export_to_file',
'openssl_x509_export_to_file'
);
foreach ($OpenSSLs as $Function)
{
$Result .= $Function . '<font color="black">:</font> ' . (function_exists ($Function) ?
'<font color="black">OK</font>' :
'<font color="red">DOES NOT EXIST</font>') . '<br>';
}
return $Result;
}
// ----------------------------------------------
function openssl_load_database ($afile = '')
{
global $config;
global $openssl;
$afile = ($afile == '' ? $config['openssl']['database'] : $afile);
$lines = file ($afile);
if (!is_array ($lines))
exit;
foreach ($lines as $line_num => $line)
{
chomp ($line);
$linetokens = explode ("\t", $line);
// Ensure that all the fields are set
if (count ($linetokens) == 6)
{
// Decode the openssl's database. See apps/apps.h
$openssl['Database'][] = array ('Status' => $linetokens[0],
'ExpDate' => $linetokens[1],
'RevDate' => $linetokens[2],
'Serial' => $linetokens[3],
'File' => $linetokens[4],
'Name' => $linetokens[5],
'Country' => openssl_get_country ($linetokens[5]),
'State' => openssl_get_state ($linetokens[5]),
'City' => openssl_get_city ($linetokens[5]),
'Company' => openssl_get_company ($linetokens[5]),
'Department' => openssl_get_department ($linetokens[5]),
'CN' => openssl_get_CN ($linetokens[5]),
'Email' => openssl_get_email ($linetokens[5])
);
}
}
}
// ----------------------------------------------
function openssl_write_database ($afile = '')
{
global $config;
global $openssl;
$afile = ($afile == '' ? $config['openssl']['database'] : $afile);
$atext = '';
for ($i = 0; $i < count ($openssl['Database']); $i++)
{
$atext .= ($atext == '' ? '' : "\n");
$atext .= $openssl['Database'][$i]['Status'] ."\t".
$openssl['Database'][$i]['ExpDate'] ."\t".
$openssl['Database'][$i]['RevDate'] ."\t".
$openssl['Database'][$i]['Serial'] ."\t".
$openssl['Database'][$i]['File'] ."\t".
$openssl['Database'][$i]['Name'];
}
writefile ($afile, $atext, $afile .'.old');
}
// ----------------------------------------------
function openssl_write_database_attr ($atext = '', $afile = '')
{
global $config;
global $openssl;
$afile = ($afile == '' ? $config['openssl']['database'] : $afile) .'.attr';
$atext = ($atext == '' ? "unique_subject = yes\n" : $atext);
if (file_exists ($afile))
{
ob_start ();
readfile ($afile);
$atext = ob_get_contents ();
ob_end_clean ();
}
writefile ($afile, $atext, $afile .'.old');
}
// ----------------------------------------------
// Returns the PEM file with spaces reduced and replaced to &nbsp;
function openssl_load_cert ($anid)
{
global $config;
do
{
$lines = file ($config['openssl']['pubfolder'] . $anid . '.pem');
if (!is_array ($lines))
{
$Return = '';
break;
}
foreach ($lines as $line_num => $line)
{
chomp ($line);
$Return[] = str_replace (' ', '&nbsp;', htmlspecialchars (str_replace (' ', ' ', $line)));
}
} while (FALSE);
return $Return;
}
// ----------------------------------------------
function openssl_load_serial ($afile = '')
{
global $config;
$afile = ($afile == '' ? $config['openssl']['serial'] : $afile);
$lines = file ($afile);
if (!is_array ($lines))
exit;
$Return = sscanf ($lines[0], "%X");
return $Return[0];
}
// ----------------------------------------------
function openssl_write_serial ($iNumber, $afile = '')
{
global $config;
$afile = ($afile == '' ? $config['openssl']['serial'] : $afile);
writefile ($afile, openssl_hex_serial ($iNumber) . "\n", $afile .'.old');
}
// ----------------------------------------------
// Supports up to 999,999 serials
function openssl_hex_serial ($iNumber)
{
if ($iNumber < 100)
$sString = sprintf ("%02X", $iNumber);
elseif ($iNumber < 10000)
$sString = sprintf ("%04X", $iNumber);
else
$sString = sprintf ("%06X", $iNumber);
return $sString;
}
// ----------------------------------------------
// Builds User Private Key, CSR and Public Certificate
function openssl_build_key (&$anoutput, $adn, $validdays = NULL)
{
global $config;
global $openssl;
$anoutput = '';
$Return = FALSE;
// Allow to override default value
$validdays = ($validdays == NULL ? $config['openssl']['default']['expiration'] : $validdays);
do
{
if (!isset ($adn) ||
!isset ($adn['countryName']) ||
!isset ($adn['stateOrProvinceName']) ||
!isset ($adn['localityName']) ||
!isset ($adn['organizationName']) ||
!isset ($adn['organizationalUnitName']) ||
!isset ($adn['commonName']) ||
!isset ($adn['emailAddress'])
)
{ $anoutput .= "- ERROR on ". __LINE__ ." line: incomplete DN information\n"; break; }
$anoutput .= "+ OK got the valid input\n";
// Get the new User Private Key
$UserPrivKey = openssl_pkey_new (array($config['openssl']['config'],0));
if ($UserPrivKey == FALSE)
{ $anoutput .= "- ERROR on ". (__LINE__ - 2) ." line (openssl_pkey_new):\n ". openssl_error_strings () ." (that might usually mean that the openssl.cnf file is unavailable)"; break; }
$anoutput .= "+ OK got the User Private Key\n";
// Generate the User Certificate Request
$UserReq = openssl_csr_new ($adn,
$UserPrivKey,
$config['openssl']['config']);
if ($UserReq == FALSE)
{ $anoutput .= "- ERROR on ". (__LINE__ - 4) ." line (openssl_csr_new):\n ". openssl_error_strings (); break; }
$anoutput .= "+ OK generated the User Certificate Request\n";
// Read the openssl serial
$CAserial = openssl_load_serial ($config['openssl']['serial']);
$anoutput .= "+ OK read current openssl serial (". openssl_hex_serial ($CAserial) .")\n";
$UserPubCertFile = $config['openssl']['pubfolder'] . openssl_hex_serial ($CAserial) .'.pem';
$UserCertReqFile = $config['openssl']['reqfolder'] . openssl_hex_serial ($CAserial) .'.csr';
$UserPrivKeyFile = $config['openssl']['prvfolder'] . openssl_hex_serial ($CAserial) .'.key';
// Read the openssl database
openssl_load_database ($config['openssl']['database']);
$anoutput .= "+ OK read the openssl database (". count ($openssl['Database']) ." items)\n";
// Get CA's Private Key
$CAPrivKey = openssl_pkey_get_private ($config['openssl']['CA']['priv']);
if ($CAPrivKey == FALSE)
{ $anoutput .= "- ERROR on ". (__LINE__ - 2) ." line (openssl_pkey_get_private)\n ". openssl_error_strings (); break; }
$anoutput .= "+ OK read the CA Private Key\n";
// Get a CA-signed cert that lasts for 1 year
$UserPubCert = openssl_csr_sign ($UserReq,
$config['openssl']['CA']['pub'],
$CAPrivKey,
$validdays,
$config['openssl']['config'],
$CAserial);
if ($UserPubCert == FALSE)
{ $anoutput .= "- ERROR on ". (__LINE__ - 7) ." line (openssl_csr_sign)\n ". openssl_error_strings (); break; }
$anoutput .= "+ OK signed the User Certificate Request with CA Private Key\n";
// Add the new row into openssl database
$openssl['Database'][] = array ('Status' => 'V',
'ExpDate' => date ('ymdHis',
time() +
date ('Z') +
($validdays * 24 * 60 * 60)) .'Z',
'RevDate' => '',
'Serial' => openssl_hex_serial ($CAserial),
'File' => openssl_hex_serial ($CAserial) .'.crt',
'Name' => openssl_make_name ($adn)
);
// Create files
$OldUMask = umask (0007);
// Write User Private Key
if (!openssl_pkey_export_to_file ($UserPrivKey, $UserPrivKeyFile, NULL, $config['openssl']['config']))
{ $anoutput .= "- ERROR on ". (__LINE__ - 1) ." line (openssl_pkey_export_to_file)\n ". openssl_error_strings () ." (That might mean that the key folder is not write enabled for www user)"; break; }
$anoutput .= "+ OK wrote User Private Key into file $UserPrivKeyFile\n";
// Write User Public Certificate
if (!openssl_x509_export_to_file ($UserPubCert, $UserPubCertFile, FALSE))
{ $anoutput .= "- ERROR on ". (__LINE__ - 1) ." line (openssl_x509_export_to_file)\n ". openssl_error_strings (); break; }
$anoutput .= "+ OK wrote User Public Certificate into file $UserPubCertFile\n";
// Write User Certificate Request
if (!openssl_csr_export_to_file ($UserReq, $UserCertReqFile))
{ $anoutput .= "- ERROR on ". (__LINE__ - 1) ." line (openssl_csr_export_to_file)\n ". openssl_error_strings (); break; }
$anoutput .= "+ OK wrote User Certificate Request into file $UserCertReqFile\n";
// Write new openssl database
openssl_write_database ($config['openssl']['database']);
openssl_write_database_attr ('', $config['openssl']['database']);
$anoutput .= "+ OK wrote new openssl database\n";
// Write new openssl serial
openssl_write_serial ($CAserial + 1, $config['openssl']['serial']);
$anoutput .= "+ OK wrote new openssl serial\n";
umask ($OldUMask);
$Return = openssl_hex_serial ($CAserial);
} while (FALSE);
return $Return;
}
// ----------------------------------------------
function openssl_error_strings ()
{
$sString = '';
while ($msg = openssl_error_string ())
$sString .= $msg ."\n";
return $sString;
}
// ----------------------------------------------
function openssl_make_name ($adn)
{
$sString = '';
if (strlen ($adn['countryName']) > 0) $sString .= '/C=' . $adn['countryName'];
if (strlen ($adn['stateOrProvinceName']) > 0) $sString .= '/ST=' . $adn['stateOrProvinceName'];
if (strlen ($adn['localityName']) > 0) $sString .= '/L=' . $adn['localityName'];
if (strlen ($adn['organizationName']) > 0) $sString .= '/O=' . $adn['organizationName'];
if (strlen ($adn['organizationalUnitName']) > 0) $sString .= '/OU=' . $adn['organizationalUnitName'];
if (strlen ($adn['commonName']) > 0) $sString .= '/CN=' . $adn['commonName'];
if (strlen ($adn['emailAddress']) > 0) $sString .= '/emailAddress='. $adn['emailAddress'];
return $sString;
}
// ----------------------------------------------
function openssl_get_country ($aline)
{ return str_get_sometag ($aline . '/', '\/C=([^/]*)\/'); }
// ----------------------------------------------
function openssl_get_state ($aline)
{ return str_get_sometag ($aline . '/', '\/ST=([^/]*)\/'); }
// ----------------------------------------------
function openssl_get_city ($aline)
{ return str_get_sometag ($aline . '/', '\/L=([^/]*)\/'); }
// ----------------------------------------------
function openssl_get_company ($aline)
{ return str_get_sometag ($aline . '/', '\/O=([^/]*)\/'); }
// ----------------------------------------------
function openssl_get_department ($aline)
{ return str_get_sometag ($aline . '/', '\/OU=([^/]*)\/'); }
// ----------------------------------------------
function openssl_get_CN ($aline)
{ return str_get_sometag ($aline . '/', '\/CN=([^/]*)\/'); }
// ----------------------------------------------
function openssl_get_email ($aline)
{ return str_get_sometag ($aline . '/', '\/emailAddress=([^/]*)\/'); }
// ----------------------------------------------
// Guess the full file name
function openssl_get_filename ($iSerial, $sExt)
{
global $config;
$sReturn = $config['openssl']['folder'] . openssl_hex_serial ($iSerial) . $sExt;
if (!file_exists ($sReturn))
{
$sReturn = $config['openssl']['pubfolder'] . openssl_hex_serial ($iSerial) . $sExt;
if (!file_exists ($sReturn))
{
$sReturn = $config['openssl']['reqfolder'] . openssl_hex_serial ($iSerial) . $sExt;
if (!file_exists ($sReturn))
{
$sReturn = $config['openssl']['prvfolder'] . openssl_hex_serial ($iSerial) . $sExt;
if (!file_exists ($sReturn))
{
$sReturn = '';
}
}
}
}
return $sReturn;
}
?>

View File

@ -1,11 +0,0 @@
<?php
session_start();
include ($_SERVER["DOCUMENT_ROOT"]."/Site/checkadmin.php");
include ($_SERVER["DOCUMENT_ROOT"]."/Config/_siteconfig_.php");
$path = $_REQUEST["path"];
// Write to file vpnid_man
exec("touch /var/vpn/squid_restart");
header ("Location: ".$path."&uebergabe=1&uebergabe2=3");
?>

View File

@ -1,11 +0,0 @@
<?php
session_start();
include ($_SERVER["DOCUMENT_ROOT"]."/Site/checkadmin.php");
include ($_SERVER["DOCUMENT_ROOT"]."/Config/_siteconfig_.php");
$path = $_REQUEST["path"];
// Write to file vpnid_man
exec("touch /var/vpn/squid_start");
header ("Location: ".$path."&uebergabe=1&uebergabe2=4");
?>

View File

@ -1,11 +0,0 @@
<?php
session_start();
include ($_SERVER["DOCUMENT_ROOT"]."/Site/checkadmin.php");
include ($_SERVER["DOCUMENT_ROOT"]."/Config/_siteconfig_.php");
$path = $_REQUEST["path"];
// Write to file vpnid_man
exec("touch /var/vpn/squid_stop");
header ("Location: ".$path."&uebergabe=1&uebergabe2=5");
?>

View File

@ -1,45 +0,0 @@
<?php
include ($_SERVER["DOCUMENT_ROOT"]."/Site/checkadmin.php");
$moduleurl = $_SERVER["REQUEST_URI"];
$urlcut = strpos($moduleurl, "&");
if($urlcut > 0)
{
$moduleurl = substr($moduleurl,0,$urlcut);
}
else
{
if(strpos($moduleurl, "?") == 0)
{
$moduleurl = $_SERVER["REQUEST_URI"]."?site=1";
}
}
$mode = $_REQUEST["uebergabe"];
$status = $_REQUEST["uebergabe2"];
echo" <p><a href=\"".$moduleurl."&uebergabe=0\">Home</a>
| <a href=\"".$moduleurl."&uebergabe=1\">Config</a>
| <a href=\"".$moduleurl."&uebergabe=2\">Logviewer</a></p><hr><br>";
switch($status)
{
default:
break;
}
switch($mode)
{
case 1:
include ($_SERVER["DOCUMENT_ROOT"]."/Admin/Modules/Squid/index_config.php");
break;
case 2:
include ($_SERVER["DOCUMENT_ROOT"]."/Admin/Modules/Squid/index_log.php");
break;
default:
echo"<h1><b>Squid Management</b></h1>
<h2>Choose an action:</h2>
<p># <a href=\"".$moduleurl."&uebergabe=1\">Config</a></p>
<p># <a href=\"".$moduleurl."&uebergabe=2\">Logviewer</a></p><br>";
break;
}
?>

View File

@ -1,297 +0,0 @@
<?php
include ($_SERVER["DOCUMENT_ROOT"]."/Site/checkadmin.php");
//include($_SERVER["DOCUMENT_ROOT"]."/Site/mysql.php");
include($_SERVER["DOCUMENT_ROOT"]."/Config/_dbconfig_.php");
include ($_SERVER["DOCUMENT_ROOT"]."/Admin/Modules/Squid/include/config.inc");
include ($_SERVER["DOCUMENT_ROOT"]."/Admin/Modules/Squid/include/functions.inc");
include ($_SERVER["DOCUMENT_ROOT"]."/Admin/Modules/Squid/include/openssl-functions.inc");
openssl_load_database ();
@$y = mysql_connect($MYSQL_HOST,$MYSQL_USER,$MYSQL_PASS);
@$x = mysql_select_db($MYSQL_DATABASE);
if (empty($x))
{
echo "ERROR 0x01, Failed to connect to database!<br>";
exit;
}
$sort = mysql_real_escape_string($_POST["dirsort"]); //$_GET["sort"];
$by = mysql_real_escape_string($_POST["sortby"]); //$_GET["by"];
$userid = mysql_real_escape_string($_POST["userid"]); //$_GET["userid"];
$search = mysql_real_escape_string($_POST["search"]); //$_GET["search"];
$moduleurl = $_SERVER["REQUEST_URI"];
$urlcut = strpos($moduleurl, "&");
$moduleurl = substr($moduleurl,0,$urlcut);
?>
<!-- MAIN CONTENT BEGINN ################################################################################ -->
<h1><b>Squid Config</b></h1>
<?php
if(is_file("/var/run/squid.pid"))
{
echo "<b>Squid is currently: <font color=green>running</font></b><br />";
}
else
{
echo "<b>Squid is currently: <font color=red>stopped</font></b><br />";
}
if ($_REQUEST["uebergabe2"]=="3")
{
echo "<b>Squid restarted successfully!</b>";
echo "<meta http-equiv=\"Refresh\" content=\"1; url=".$moduleurl."&uebergabe=1&uebergabe2=0\">";
}
if ($_REQUEST["uebergabe2"]=="4")
{
echo "<b>Squid started successfully!</b>";
echo "<meta http-equiv=\"Refresh\" content=\"1; url=".$moduleurl."&uebergabe=1&uebergabe2=0\">";
}
if ($_REQUEST["uebergabe2"]=="5")
{
echo "<b>Squid stopped successfully!</b>";
echo "<meta http-equiv=\"Refresh\" content=\"3; url=".$moduleurl."&uebergabe=1&uebergabe2=0\">";
}
?>
<table>
<tr>
<td>
<form action="/Admin/Modules/Squid/include/restartsquid.php" method="post" >
<input type="hidden" name="path" size="50" value="<?php echo $moduleurl;?>" />
<input type="submit" value="Restart Squid" />
</form>
</td>
<?php
if(!is_file("/var/run/squid.pid"))
{
echo "
<td>
<form action=\"/Admin/Modules/Squid/include/startsquid.php\" method=\"post\" >
<input type=\"hidden\" name=\"path\" size=\"50\" value=\"".$moduleurl."\" />
<input type=\"submit\" value=\"Start Squid\" />
</form>
</td>";
}
?>
<?php
if(is_file("/var/run/squid.pid"))
{
echo "
<td>
<form action=\"/Admin/Modules/Squid/include/stopsquid.php\" method=\"post\" >
<input type=\"hidden\" name=\"path\" size=\"50\" value=\"".$moduleurl."\" />
<input type=\"submit\" value=\"Stop Squid\" />
</form>
</td>";
}
?>
</tr>
</table>
<br />
<h2>Change Proxy Account:</h2>
<?php
if ($_REQUEST["uebergabe2"]=="1")
{
echo "<b>Changed Squid Account successfully!</b>";
}
?>
<br>
<p>
<form action="/Admin/Modules/Squid/changesquid.php" method="post" >
Squid ID (HEX):
<input type="text" name="id" size="3">
<input type="hidden" name="path" size="50" value="<?php echo $moduleurl;?>">
<input type="submit" value="Change Squid User">
</form>
</p>
<p>
Current Squid User:
<?php
function dec_to_hex($dec)
{
$sign = ""; // suppress errors
if( $dec < 0){ $sign = "-"; $dec = abs($dec); }
$hex = Array( 0 => 0, 1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5,
6 => 6, 7 => 7, 8 => 8, 9 => 9, 10 => 'A',
11 => 'B', 12 => 'C', 13 => 'D', 14 => 'E',
15 => 'F' );
do
{
$h = $hex[($dec%16)] . $h;
$dec /= 16;
}
while( $dec >= 1 );
return $sign . $h;
}
$zeile = exec(escapeshellcmd("cat ".db_getconfval("sqddir")."/vpnid"));
$zeile = dec_to_hex($zeile);
//echo $zeile;
if(strlen ($zeile) <2)
{
$zeile = "0".$zeile;
}
if(strlen ($zeile) >2)
{
$zeile=substr($zeile, 0, -1);
}
@$y = mysql_connect($MYSQL_HOST,$MYSQL_USER,$MYSQL_PASS);
@$x = mysql_select_db($MYSQL_DATABASE);
if (empty($x))
{
echo "ERROR 0x01, Failed to connect to database!<br>";
exit;
}
$sql4 = "SELECT * FROM userdata WHERE VPNId = '".$zeile."';";
$result4 = mysql_query($sql4);
//echo $sql4;
$ar4=mysql_fetch_array($result4,MYSQL_ASSOC);
echo "<b>" . $ar4["Vorname"] . " " . $ar4["Nachname"] . "</b> VPNId: <b>" . $ar4["VPNId"]."</b>";
mysql_close();
?>
</p>
<br>
<h2>Blacklisted Accounts:</h2>
<?php
if ($_REQUEST["uebergabe2"]=="2")
{
echo "<b>Blacklist cleared successfully!</b>";
}
?>
<table border=1>
<tr><td><b>Squid ID</b></td><td><b>Nickname</b></td><td><b>Vorname</b></td><td><b>Nachname</b></td></tr>
<?php
$thisFileContent = file(db_getconfval("sqddir")."/blacklist");
//echo db_getconfval("sqddir")."/blacklist";
$blindex = 0;
foreach ($thisFileContent as $zeile)
{
@$y = mysql_connect($MYSQL_HOST,$MYSQL_USER,$MYSQL_PASS);
@$x = mysql_select_db($MYSQL_DATABASE);
if (empty($x))
{
echo "ERROR 0x01, Failed to connect to database!<br>";
exit;
}
$hascontent = true;
if (strlen($zeile) >2)
{
$zeile=substr($zeile, 0, -1);
}
$sql3 = "SELECT * FROM userdata WHERE VPNId = '".$zeile."';";
$result3 = mysql_query($sql3);
$ar3=mysql_fetch_array($result3,MYSQL_ASSOC);
$nick = $ar3["Nickname"];
if($nick == "")
$hascontent=false;
$vor = $ar3["Vorname"];
if($vor == "")
$hascontent=false;
$nach = $ar3["Nachname"];
if($nach == "")
$hascontent=false;
if($hascontent == true)
{
$blindex = $blindex+1;
echo "<tr><td>".$zeile."</td><td>".$nick."</td><td>".$vor."</td><td>".$nach."</td></tr>";
}
mysql_close();
}
?>
</table>
<p> Blacklisted accounts:
<b>
<?php echo $blindex; ?></b> out of: <b>
<?php
if (count($openssl['Database']) == 0)
echo 'no certificates</b>';
elseif (count($openssl['Database'])-1 == 1)
{
echo '1</b> certificate';
}
elseif (count($openssl['Database'])-1 > 1)
{
echo '';
echo count($openssl['Database'])-1;
echo '</b> certificates';
}?>
</p>
<p>
<form action="/Admin/Modules/Squid/delbl.php" method="post" >
<input type="hidden" name="path" size="50" value="<?php echo $moduleurl;?>">
<input type="submit" value="Clear Blacklist">
</form>
</p>
<br>
<h2>User changed Proxy Accounts:</h2>
<form action="<?php echo $PHP_SELF; ?>" method="post">
<select name="dirsort" size=1>
<option <?php if($sort=="ASC") echo "selected";?> value="ASC">Up</option>
<option <?php if($sort=="DESC") echo "selected";?> value="DESC">Down</option>
</select>
<select name="sortby" size=1>
<option <?php if($by=="Id") echo "selected";?> value="Id">ID</option>
<option <?php if($by=="VPNId") echo "selected";?> value="VPNId">VPNId</option>
<option <?php if($by=="Time") echo "selected";?> value="Time">Time</option>
<option <?php if($by=="IP") echo "selected";?> value="IP">IP</option>
<option <?php if($by=="Nickname") echo "selected";?> value="Nickname">Nickname</option>
</select>
Search User:<input type="text" name="search" size="20" <?php if($search !="") echo "value=".$search;?> ></td>
<input type="submit" value="go!">
</form>
<!------ Sorting Leiste Start-->
<?php
@$y = mysql_connect($MYSQL_HOST,$MYSQL_USER,$MYSQL_PASS);
@$x = mysql_select_db($MYSQL_DATABASE);
if (empty($x))
{
echo "ERROR 0x01, Failed to connect to database!<br>";
exit;
}
// MYsql befehl basteln
if($by == "Nickname")
{
$sql = "SELECT * FROM proxyrepair;";
}
else
{
$sql = "SELECT * FROM proxyrepair ORDER BY $by $sort;";
}
$result = mysql_query($sql);
echo "<br><table border=1>";
echo "<tr><td><b>User ID</b></td><td><b>VPN Id</b></td><td><b>Nickname</b></td><td><b>Vorname</b></td><td><b>Nachname</b></td><td><b>Client IP</b></td><td><b>Time</b></td><td><b>Dead VPN ID</b></td></tr>\n";
// ------------------------------------------------ Mysql lesen
if ($result)
{
while ($ar=mysql_fetch_array($result,MYSQL_ASSOC))
{
$sql = "SELECT * FROM userdata WHERE Id = '".$ar["Id"]."' AND (Nickname LIKE '%".$search."%' OR Vorname LIKE '%".$search."%' OR Id LIKE '%".$search."%' OR VPNId LIKE '%".$search."%');";
$result2 = mysql_query($sql);
$ar2=mysql_fetch_array($result2,MYSQL_ASSOC);
if($ar2["Nickname"] != "")
echo "<tr><td>",$ar["Id"],"</td><td>",$ar["VPNId"],"</td><td>",$ar2["Nickname"],"</td><td>",$ar2["Vorname"],"</td><td>",$ar2["Nachname"],
"</td><td>", $ar["IP"],"</td><td>",$ar["Time"],"</td><td>",$ar["RepID"],"</td></tr>\n";
}
}
else
{
echo "<br>";
}
echo "</table>";
mysql_close();
?>

View File

@ -1,30 +0,0 @@
<?php
include ($_SERVER["DOCUMENT_ROOT"]."/Site/checkadmin.php");
//include($_SERVER["DOCUMENT_ROOT"]."/Site/mysql.php");
include($_SERVER["DOCUMENT_ROOT"]."/Config/_dbconfig_.php");
include ($_SERVER["DOCUMENT_ROOT"]."/Admin/Modules/Squid/include/config.inc");
include ($_SERVER["DOCUMENT_ROOT"]."/Admin/Modules/Squid/include/functions.inc");
include ($_SERVER["DOCUMENT_ROOT"]."/Admin/Modules/Squid/include/openssl-functions.inc");
openssl_load_database ();
@$y = mysql_connect($MYSQL_HOST,$MYSQL_USER,$MYSQL_PASS);
@$x = mysql_select_db($MYSQL_DATABASE);
if (empty($x))
{
echo "ERROR 0x01, Failed to connect to database!<br>";
exit;
}
$sort = mysql_real_escape_string($_POST["dirsort"]); //$_GET["sort"];
$by = mysql_real_escape_string($_POST["sortby"]); //$_GET["by"];
$userid = mysql_real_escape_string($_POST["userid"]); //$_GET["userid"];
$search = mysql_real_escape_string($_POST["search"]); //$_GET["search"];
$moduleurl = $_SERVER["REQUEST_URI"];
$urlcut = strpos($moduleurl, "&");
$moduleurl = substr($moduleurl,0,$urlcut);
?>
<!-- MAIN CONTENT BEGINN ################################################################################ -->
<h1><b>Squid Logs</b></h1>
<?php
require "/usr/local/mysar/www/index.php"; ?>

View File

@ -1,3 +0,0 @@
export CPATH=..:$HOME/include:/usr/local/include:/usr/include:/usr/include/mysql
needed: libmysqlclient-dev
gcc -l mysqlclient -o traffic Traffic.c

View File

@ -1,4 +0,0 @@
user: openvpn
passwd: openvpnlog
database: openvpn
host: localhost

View File

@ -1,7 +0,0 @@
#!/bin/bash
let x=0x3f
echo $x
let x=0xfffe
echo $x

View File

@ -1,134 +0,0 @@
/* OpenVPN - Squid Load Balancer*
*------------------------------*
* Version 1.0 *
* Written by Christoph Haas *
* License: LGPL *
* 12.10.2010 *
*/
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <mysql/mysql.h>
#include <regex.h>
#include <string.h>
#define __MAX_LINE__ 100
#define __MAX_FIELD__ 255
#define false 0
#define true 1
MYSQL mysql;
int connect_db(char *config)
{
FILE *db_data = NULL;
regex_t reg;
char user[__MAX_LINE__] = "";
char passwd[__MAX_LINE__] = "";
char database[__MAX_LINE__] = "";
char host[__MAX_LINE__] = "";
int port = 0;
char tmp[__MAX_LINE__];
char buf[__MAX_LINE__];
int a, b;
int length;
if((db_data = fopen(config, "r")) == NULL)
{
fprintf(stderr, "Can't open %s for reading.\n", config);
return false;
}
regcomp(&reg, "^([a-zA-Z0-9:]+)[ ][a-zA-Z0-9]+$", REG_EXTENDED | REG_NEWLINE);
while(fgets(buf, __MAX_LINE__, db_data))
{
length = strlen(buf);
if(length < 3)continue;
if(length >= __MAX_LINE__)
{
fclose(db_data);
regfree(&reg);
fprintf(stderr, "To long line in config file.\n");
return false;
}
if(buf[0] == '#')continue;
if(regexec(&reg, buf, 0, 0, 0))
{
fclose(db_data);
regfree(&reg);
fprintf(stderr, "Syntax error in config file.\n");
return false;
}
for(a = 0, b = 0; a < strlen(buf); a++)
{
if(buf[a] == ' ')b++;
}
if(b != 1)
{
fclose(db_data);
regfree(&reg);
fprintf(stderr, "Syntax error in config file.\n");
return false;
}
if((strncmp(buf, "user: ", 6)) == 0)sscanf(buf, "%s %s", tmp, user);
if((strncmp(buf, "passwd: ", 8)) == 0)sscanf(buf, "%s %s", tmp, passwd);
if((strncmp(buf, "database: ", 10)) == 0)sscanf(buf, "%s %s", tmp, database);
if((strncmp(buf, "host: ", 6)) == 0)sscanf(buf, "%s %s", tmp, host);
if((strncmp(buf, "port: ", 6)) == 0)sscanf(buf, "%s %d", tmp, &port);
}
fclose(db_data);
regfree(&reg);
if((strlen(user) < 1) || (strlen(passwd) < 1) ||
(strlen(database) < 1) || (strlen(host) < 1))
{
fprintf(stderr, "One value for MySQL connection isn't set. \
Please set user, passwd, database and host.\n");
return false;
}
mysql_init(&mysql);
if((mysql_real_connect(&mysql, host, user, passwd, database, port, NULL, 0)) == NULL)
{
fprintf(stderr, "%s\n", mysql_error(&mysql));
return false;
}
return true;
}
int main(int argc, char **argv)
{
MYSQL_RES *result;
MYSQL_ROW row;
char Query[200]= "SELECT * FROM userdata WHERE VPNId = '\0";
if(argc == 2)
{
/*iID = atoi(argv[1]);
printf("Int:%d\n", iID);
sprintf(ID,"%-#10x",iID);
printf("String:%s\n", ID);*/
connect_db("/home/christoph/squid_dynamic/db.conf"); // Datenbank Verbindung aufbauen
strcat(Query, argv[1]); // Query builden
strcat(Query,"'"); //
mysql_query(&mysql, Query); // Query abschicken
result = mysql_store_result(&mysql); // Result speichern
while ((row = mysql_fetch_row(result))) // Alle Datensätze auslesen (in dem Fall eh nur einer)
{
printf("%s:%s\n", row[9], row[10]); // Feld 9 und 10 (login/pass) aus dem datensatz ausgeben
}
mysql_free_result(result); // Result wieder löschen
mysql_close(&mysql); // Datenbank Verbindung schliesen
}
else
{
printf("USAGE: sqidy xx | xx = VPNId\n"); // bei flascheingabe der Parameter
}
}

View File

@ -1 +0,0 @@
00

View File

@ -1,115 +0,0 @@
#!/bin/bash
# Zaehlvariable einlesen
id=$ID_VPN
# Abfrage ob Stringlaenge von id NULL ist
if [ ${#ID_VPN} == 0 ];
then id=0
fi
# id inkrementieren
let id=$id+1
# 255 Overflow verhindern
if [ $id -gt 254 ]
then id=0
fi
# Variable id fuer naechsten Durchlauf speichern
export ID_VPN=$id
# id HEX wandeln
hex=$(echo "obase=16; $id" |bc)
# Abfrage ob Strinlaenge von hex kleiner als 2
if [ ${#hex} -lt 2 ];
then hex=0$hex
fi
# Login-Daten aus Datenbank holen
credentials=$(./squidy $hex)
# Abfrage ob Datensatz leer :
zero="0"
if [ "$credentials" == ":" ];
then
. write_conf &
zero="1"
fi
if [ ${#credentials} == 0 ];
then
. write_conf &
zero="1"
fi
######################################################################################
# Config- Datei schreiben.
if [ $zero == "0" ]
then
echo "
# Squid config by h44z
# TAG: http_port
# Usage: port
# hostname:port
# 1.2.3.4:port
http_port 10.8.0.1:3128 transparent
http_port 10.8.0.1:8080
#https_port 10.8.0.1:8181 key=/etc/apache2/ssl/apache.pem
visible_hostname vpnrack
# TAG: icp_port
icp_port 0
# TAG: no_cache
acl QUERY urlpath_regex cgi-bin \\?
no_cache deny QUERY
# TAG: cache_mem (bytes)
cache_mem 32 MB
# TAG: cache_dir
cache_dir ufs /var/cache/squid 100 16 256
# TAG: cache_access_log
cache_access_log /var/log/squid/access.log
# TAG: cache_log
cache_log /var/log/squid/cache.log
# TAG: cache_store_log
cache_store_log /var/log/squid/store.log
# TAG: emulate_httpd_log on|off
emulate_httpd_log on
# TAG: pid_filename
pid_filename /var/run/squid.pid
# TAG: cache_mgr
cache_mgr christoph.haas2@students.htlinn.ac.at
http_access allow all
acl https port 443
http_access allow https
# TAG: http_reply_access
# Allow replies to client requests. This is complementary to http_access.
#http_reply_access allow all
cache_peer 192.168.195.101 parent 8080 7 no-query default no-digest login=$credentials
never_direct allow all
" > /etc/squid3/squid.conf
######################################################################################
#restart squid
killall -9 squid
squid -D -YC -f /etc/squid3/squid.conf
fi

View File

@ -1,132 +0,0 @@
#!/bin/bash
# Script um die cache_peer funktion von Squid upzudaten.
# V1.0
# 13.10.2010
# Stoeckholzer, Haas
if [ ${#1} == 0 ];
then
echo "USAGE: write_conf_file updatetime"
exit 0
fi
while [ "1" == "1" ] ;
do
sleep $1
zero="1"
while [ $zero == "1" ] ;
do
# Zaehlvariable einlesen
id=$(cat /var/vpn/vpnid)
# id inkrementieren
let id=$id+1
# 255 Overflow verhindern
if [ $id -gt 254 ]
then
id=0
fi
# Variable id fuer naechsten Durchlauf speichern
echo $id > /var/vpn/vpnid
# id HEX wandeln
hex=$(echo "obase=16; $id" |bc)
# Abfrage ob Strinlaenge von hex kleiner als 2
if [ ${#hex} -lt 2 ];
then
hex=0$hex
fi
black=$(cat /var/vpn/blacklist | grep $hex)
if [ ${#black} -lt 2 ];
then
# Login-Daten aus Datenbank holen
credentials=$(/home/christoph/squid_dynamic/squidy $hex)
# Abfrage ob Datensatz leer :
if [ ${#credentials} -gt 10 ];
then
zero="0"
fi
fi
done
echo "USING credentials: $credentials"
sudo killall -9 unlinkd
sudo killall -9 squid
sudo rm /etc/squid3/squid.conf
######################################################################################
# Config- Datei schreiben.
sudo echo -e -n "
# Squid config by h44z
# TAG: http_port
# Usage: port
# hostname:port
# 1.2.3.4:port
http_port 10.8.0.1:3128 transparent
http_port 10.8.0.1:8080
#https_port 10.8.0.1:8181 key=/etc/apache2/ssl/apache.pem
visible_hostname vpnrack
# TAG: icp_port
icp_port 0
# TAG: no_cache
acl QUERY urlpath_regex cgi-bin \\?
no_cache deny QUERY
# TAG: cache_mem (bytes)
cache_mem 32 MB
# TAG: cache_dir
cache_dir ufs /var/cache/squid 100 16 256
# TAG: cache_access_log
cache_access_log /var/log/squid/access.log
# TAG: cache_log
cache_log /var/log/squid/cache.log
# TAG: cache_store_log
cache_store_log /var/log/squid/store.log
# TAG: emulate_httpd_log on|off
emulate_httpd_log on
# TAG: pid_filename
pid_filename /var/run/squid.pid
# TAG: cache_mgr
cache_mgr christoph.haas2@students.htlinn.ac.at
#blubber
http_access allow all
acl https port 443
http_access allow https
# TAG: http_reply_access
# Allow replies to client requests. This is complementary to http_access.
#http_reply_access allow all
cache_peer 192.168.195.101 parent 8080 7 no-query default no-digest login=$credentials
never_direct allow all
" > /etc/squid3/squid.conf
echo "Written credentials: $credentials"
######################################################################################
#restart squid
sudo squid -D -YC -f /etc/squid3/squid.conf
done

View File

@ -1,130 +0,0 @@
#!/bin/bash
# Script um die cache_peer funktion von Squid upzudaten.
# V1.0
# 13.10.2010
# Stoeckholzer, Haas
if [ ${#1} == 0 ];
then
echo "USAGE: write_conf_file updatetime"
exit 0
fi
while [ "1" == "1" ] ; do
sleep $1
zero="1"
while [ $zero == "1" ] ; do
# Zaehlvariable einlesen
id=$(cat /var/vpn/vpnid)
# id inkrementieren
let id=$id+1
# 255 Overflow verhindern
if [ $id -gt 254 ]
then id=0
fi
# Variable id fuer naechsten Durchlauf speichern
echo $id > /var/vpn/vpnid
# id HEX wandeln
hex=$(echo "obase=16; $id" |bc)
# Abfrage ob Strinlaenge von hex kleiner als 2
if [ ${#hex} -lt 2 ];
then hex=0$hex
fi
# Login-Daten aus Datenbank holen
credentials=$(/home/christoph/squid_dynamic/squidy $hex)
# Abfrage ob Datensatz leer :
if [ ${#credentials} -gt 10 ];
then
zero="0"
fi
echo "Schleife zero: $zero"
echo "Schleife id: $id"
echo "Schleife hex: $hex"
done
echo "USING zero: $zero"
echo "USING id: $id"
echo "USING hex: $hex"
echo "USING credentials: $credentials"
sudo killall -9 unlinkd
sudo killall -9 squid
sudo rm /etc/squid3/squid.conf
######################################################################################
# Config- Datei schreiben.
sudo echo -e -n "
# Squid config by h44z
# TAG: http_port
# Usage: port
# hostname:port
# 1.2.3.4:port
http_port 10.8.0.1:3128 transparent
http_port 10.8.0.1:8080
#https_port 10.8.0.1:8181 key=/etc/apache2/ssl/apache.pem
visible_hostname vpnrack
# TAG: icp_port
icp_port 0
# TAG: no_cache
acl QUERY urlpath_regex cgi-bin \\?
no_cache deny QUERY
# TAG: cache_mem (bytes)
cache_mem 32 MB
# TAG: cache_dir
cache_dir ufs /var/cache/squid 100 16 256
# TAG: cache_access_log
cache_access_log /var/log/squid/access.log
# TAG: cache_log
cache_log /var/log/squid/cache.log
# TAG: cache_store_log
cache_store_log /var/log/squid/store.log
# TAG: emulate_httpd_log on|off
emulate_httpd_log on
# TAG: pid_filename
pid_filename /var/run/squid.pid
# TAG: cache_mgr
cache_mgr christoph.haas2@students.htlinn.ac.at
#blubber
http_access allow all
acl https port 443
http_access allow https
# TAG: http_reply_access
# Allow replies to client requests. This is complementary to http_access.
#http_reply_access allow all
cache_peer 192.168.195.101 parent 8080 7 no-query default no-digest login=$credentials
never_direct allow all
" > /etc/squid3/squid.conf
echo "Written credentials: $credentials"
######################################################################################
#restart squid
sudo squid -D -YC -f /etc/squid3/squid.conf
done

View File

@ -1,183 +0,0 @@
#!/bin/bash
# Script um die cache_peer funktion von Squid manuell von der Website aus upzudaten.
# V1.0
# 13.10.2010
# Stoeckholzer, Haas
while [ "1" == "1" ];
do
write=1
zero=0
# ueberpruefen ob file vpnid_man vorhanden
if [ -e /var/vpn/vpnid_man ];
then
echo 1
zero=1
fi
# ueberpruefen ob file vpnid_next vorhanden
if [ -e /var/vpn/vpnid_next ];
then
echo 2
zero=2
fi
if [ "$zero" == "1" ];
then
# Manuelle ID als hex einlesen einlesen
hex=$(cat /var/vpn/vpnid_man)
id=$(printf "%d\n" 0x$hex)
echo $id > /var/vpn/vpnid
rm /var/vpn/vpnid_man
echo $hex
# Login-Daten aus Datenbank holen
credentials=$(/home/christoph/squid_dynamic/squidy $hex)
fi
if [ "$zero" == "2" ];
then
schleife="1"
rm /var/vpn/vpnid_next
while [ $schleife == "1" ] ;
do
# Zaehlvariable einlesen
id_alt=$(cat /var/vpn/vpnid)
# alte id HEX wandeln zum BLacklisten
hex_alt=$(echo "obase=16; $id_alt" |bc)
# Abfrage ob Strinlaenge von hex kleiner als 2
if [ ${#hex_alt} -lt 2 ];
then
hex_alt=0$hex_alt
fi
# alte id BLacklisten
if [ $write == 1 ];
then
echo $hex_alt >> /var/vpn/blacklist
fi
# id inkrementieren
let id=$id_alt+1
# 255 Overflow verhindern
if [ $id -gt 254 ]
then
id=0
fi
# Variable id fuer naechsten Durchlauf speichern
echo $id > /var/vpn/vpnid
# id HEX wandeln
hex=$(echo "obase=16; $id" |bc)
# Abfrage ob Strinlaenge von hex kleiner als 2
if [ ${#hex} -lt 2 ];
then
hex=0$hex
fi
# hole id_hex aus BLacklist?
black=$(cat /var/vpn/blacklist|grep $hex)
# Abfrage ob id_hex in BLacklist
if [ ${#black} -lt 2 ];
then
# Login-Daten aus Datenbank holen
credentials=$(/home/christoph/squid_dynamic/squidy $hex)
# Abfrage ob Datensatz leer :
if [ ${#credentials} -gt 10 ];
then
schleife="0"
fi
else write=0
fi
done
fi
# Abfrage ob Datensatz leer (zur Sicherheit):
if [ ${#credentials} -gt 10 ] && [ $zero != "0" ];
then
# stop squid
sudo killall -9 unlinkd
sudo killall -9 squid
sudo rm /etc/squid3/squid.conf
######################################################################################
# Config- Datei schreiben.
sudo echo -e -n "
# Squid config by h44z
# TAG: http_port
# Usage: port
# hostname:port
# 1.2.3.4:port
http_port 10.8.0.1:3128 transparent
http_port 10.8.0.1:8080
#https_port 10.8.0.1:8181 key=/etc/apache2/ssl/apache.pem
visible_hostname vpnrack
# TAG: icp_port
icp_port 0
# TAG: no_cache
acl QUERY urlpath_regex cgi-bin \\?
no_cache deny QUERY
# TAG: cache_mem (bytes)
cache_mem 32 MB
# TAG: cache_dir
cache_dir ufs /var/cache/squid 100 16 256
# TAG: cache_access_log
cache_access_log /var/log/squid/access.log
# TAG: cache_log
cache_log /var/log/squid/cache.log
# TAG: cache_store_log
cache_store_log /var/log/squid/store.log
# TAG: emulate_httpd_log on|off
emulate_httpd_log on
# TAG: pid_filename
pid_filename /var/run/squid.pid
# TAG: cache_mgr
cache_mgr christoph.haas2@students.htlinn.ac.at
http_access allow all
acl https port 443
http_access allow https
# TAG: http_reply_access
# Allow replies to client requests. This is complementary to http_access.
#http_reply_access allow all
cache_peer 192.168.195.101 parent 8080 7 no-query default no-digest login=$credentials
never_direct allow all
" > /etc/squid3/squid.conf
######################################################################################
echo "Written: $credentials"
#start squid
squid -D -YC -f /etc/squid3/squid.conf
fi
sleep 2
done

View File

@ -1,158 +0,0 @@
#!/bin/bash
# Script um die cache_peer funktion von Squid manuell von der Website aus upzudaten.
# V1.0
# 13.10.2010
# Stoeckholzer, Haas
while [ "1" == "1" ];
do
zero=0
# ueberpruefen ob file vpnid_man vorhanden
if [ -e /var/vpn/vpnid_man ];
then
echo 1
zero=1
fi
# ueberpruefen ob file vpnid_next vorhanden
if [ -e /var/vpn/vpnid_next ];
then
echo 2
zero=2
fi
if [ "$zero" == "1" ];
then
# Manuelle ID als hex einlesen einlesen
hex=$(cat /var/vpn/vpnid_man)
id=$(printf "%d\n" $hex)
echo $id > /var/vpn/vpnid
rm /var/vpn/vpnid_man
echo $hex
# Login-Daten aus Datenbank holen
credentials=$(/home/christoph/squid_dynamic/squidy $hex)
fi
if [ "$zero" == "2" ];
then
schleife="1"
rm /var/vpn/vpnid_next
while [ $schleife == "1" ] ;
do
# Zaehlvariable einlesen
id=$(cat /var/vpn/vpnid)
# id inkrementieren
let id=$id+1
# 255 Overflow verhindern
if [ $id -gt 254 ]
then
id=0
fi
# Variable id fuer naechsten Durchlauf speichern
echo $id > /var/vpn/vpnid
# id HEX wandeln
hex=$(echo "obase=16; $id" |bc)
# Abfrage ob Strinlaenge von hex kleiner als 2
if [ ${#hex} -lt 2 ];
then
hex=0$hex
fi
# Login-Daten aus Datenbank holen
credentials=$(/home/christoph/squid_dynamic/squidy $hex)
# Abfrage ob Datensatz leer :
if [ ${#credentials} -gt 10 ];
then
schleife="0"
fi
done
fi
# Abfrage ob Datensatz leer (zur Sicherheit):
if [ ${#credentials} -gt 10 ] && [ $zero != "0" ];
then
# stop squid
sudo killall -9 unlinkd
sudo killall -9 squid
sudo rm /etc/squid3/squid.conf
######################################################################################
# Config- Datei schreiben.
sudo echo -e -n "
# Squid config by h44z
# TAG: http_port
# Usage: port
# hostname:port
# 1.2.3.4:port
http_port 10.8.0.1:3128 transparent
http_port 10.8.0.1:8080
#https_port 10.8.0.1:8181 key=/etc/apache2/ssl/apache.pem
visible_hostname vpnrack
# TAG: icp_port
icp_port 0
# TAG: no_cache
acl QUERY urlpath_regex cgi-bin \\?
no_cache deny QUERY
# TAG: cache_mem (bytes)
cache_mem 32 MB
# TAG: cache_dir
cache_dir ufs /var/cache/squid 100 16 256
# TAG: cache_access_log
cache_access_log /var/log/squid/access.log
# TAG: cache_log
cache_log /var/log/squid/cache.log
# TAG: cache_store_log
cache_store_log /var/log/squid/store.log
# TAG: emulate_httpd_log on|off
emulate_httpd_log on
# TAG: pid_filename
pid_filename /var/run/squid.pid
# TAG: cache_mgr
cache_mgr christoph.haas2@students.htlinn.ac.at
http_access allow all
acl https port 443
http_access allow https
# TAG: http_reply_access
# Allow replies to client requests. This is complementary to http_access.
#http_reply_access allow all
cache_peer 192.168.195.101 parent 8080 7 no-query default no-digest login=$credentials
never_direct allow all
" > /etc/squid3/squid.conf
######################################################################################
echo "Written: $credentials"
#start squid
squid -D -YC -f /etc/squid3/squid.conf
fi
sleep 2
done

View File

@ -1,5 +0,0 @@
/home/christoph/stopsquid
#iptables -t nat -A PREROUTING -i tap0 -p tcp --dport 80 -j REDIRECT --to-ports 3128
#iptables -t nat -A PREROUTING -i tap0 -p tcp --dport 443 -j REDIRECT --to-ports 3128
squid -D -YC -f /etc/squid3/squid.conf

View File

@ -1,6 +0,0 @@
#iptables -t nat -D PREROUTING -i tap0 -p tcp --dport 80 -j REDIRECT --to-ports 3128
#iptables -t nat -D PREROUTING -i tap0 -p tcp --dport 443 -j REDIRECT --to-ports 3128
killall squid
killall squid
killall squid

View File

@ -1,14 +0,0 @@
<?php
session_start();
include ($_SERVER["DOCUMENT_ROOT"]."/Site/checkadmin.php");
include ($_SERVER["DOCUMENT_ROOT"]."/Config/_siteconfig_.php");
$id = $_REQUEST["id"];
$path = $_REQUEST["path"];
// Write to file vpnid_man
$myFile = db_getconfval("sqddir")."/vpnid_man";
$fh = fopen($myFile, 'w') or die("can't open file");
fwrite($fh, $id);
fclose($fh);
header ("Location: ".$path."&uebergabe=1");
?>

View File

@ -1,9 +0,0 @@
<?php
session_start();
$path = $_REQUEST["path"];
include ($_SERVER["DOCUMENT_ROOT"]."/Site/checkadmin.php");
include ($_SERVER["DOCUMENT_ROOT"]."/Site/mysql.php");
$ret = passthru("echo > ".db_getconfval("sqddir")."/blacklist");
echo $ret;
header ("Location: ".$path."&uebergabe=2");
?>

View File

@ -1,66 +0,0 @@
<?php
//include($_SERVER["DOCUMENT_ROOT"]."/Site/mysql.php");
// Change: your company name
$config['Company_Name'] = 'SchulVPN';
// Change: your company home page
$config['URL_Home_Page'] = 'http://10.10.63.60/index.php';
$config['AUTH_REALM'] = $config['Company_Name'] .' OpenVPN Web GUI v.0.3.2';
// What files to include into ZIP
$config['Download']['ZIP']['.pem'] = true;
$config['Download']['ZIP']['.key'] = true;
$config['Download']['ZIP']['.csr'] = false;
// All the following files should be placed into downloads folder
$config['Download']['ZIP']['Others'] = array ('readme.txt','ca.crt', 'schulvpn.ovpn', 'certinstall.sh');
//$config['Download']['ZIP']['Others'] = array ('readme.txt', 'install.cmd', 'tls-auth.key');
// Use the real absolute path here.
$config['PluginsAbsolutePath'] = $_SERVER["DOCUMENT_ROOT"]."/Admin/Modules/VPNConfig/plugins/";
// If there are no plugins
//$config['Plugins'] = NULL;
// Otherwise, follow this example:
//$config['Plugins']['PLUGINMANE']['Folder'] = 'FOLDERNAME';
// The post-install helper plugin. Shows if PHP5 has the neccessary functions available
$config['Plugins']['systemcheck']['Folder'] = 'systemcheck';
// OPENVPN ________________________________
// Change: the configuration directory
$config['openvpn']['folder'] = db_getconfval("ovpnconfdir")."/";
// Change: configuration and status file names
$config['openvpn']['config'] = $config['openvpn']['folder'].db_getconfval("ovpnconffile");
$config['openvpn']['status'] = $config['openvpn']['folder']."openvpn-status.log";
// OPENSSL ________________________________
// Change: openssl keys directory
$config['openssl']['folder'] = db_getconfval("ovpnkeydir")."/keys/";
// Change: different folders for Public Certificates, Certificate Requests and Private Keys.
// NOTE: openssl somehow respects only newpem folder (for Public Certificates).
$config['openssl']['pubfolder'] = $config['openssl']['folder'];
$config['openssl']['reqfolder'] = $config['openssl']['folder'];
$config['openssl']['prvfolder'] = $config['openssl']['folder'];
// Change: openssl CA private and public keys
$config['openssl']['CA']['priv'] = $config['openssl']['folder'] .'ca.key';
$config['openssl']['CA']['pub'] = $config['openssl']['folder'] .'ca.crt';
// Change: openssl serial file
$config['openssl']['serial'] = $config['openssl']['folder'] .'serial';
// Change: openssl database
$config['openssl']['database'] = $config['openssl']['folder'] .'index.txt';
// Change: openssl configuration
$config['openssl']['config'] = $config['openvpn']['folder'] .'openssl.cnf';
// NEW OPENSSL CERTIFICATE DEFAULTS _________
// Change all of them as it is done in your easy-rsa/vars
$config['openssl']['default']['expiration'] = 3560;
$config['openssl']['default']['countryName'] = 'AT';
$config['openssl']['default']['stateOrProvinceName'] = 'Tirol';
$config['openssl']['default']['localityName'] = 'Innsbruck';
$config['openssl']['default']['organizationName'] = 'HTL';
$config['openssl']['default']['organizationalUnitName'] = '';
$config['openssl']['default']['commonName'] = '';
$config['openssl']['default']['emailAddress'] = 'vpn@students.htlinn.ac.at';
?>

View File

@ -1,251 +0,0 @@
<?php
// ----------------------------------------------
function load_plugins ()
{
global $config;
if (isset ($config['Plugins']))
{
foreach ($config['Plugins'] as $PluginName => $PluginData)
{
// Check if the config.inc for a plugin exists
if (file_exists ($_SERVER["DOCUMENT_ROOT"]."/Admin/Modules/VPNconfig/plugins/". $PluginData['Folder'] ."/config.inc"))
{
include ($_SERVER["DOCUMENT_ROOT"]."/Admin/Modules/VPNconfig/plugins/". $PluginData['Folder'] ."/config.inc");
// Check if claimed inc files do exist
if (isset ($config['Plugins'][$PluginName]['Action']['Include']) &&
!file_exists ($_SERVER["DOCUMENT_ROOT"]."/Admin/Modules/VPNconfig/plugins/". $PluginData['Folder'] ."/".
$config['Plugins'][$PluginName]['Action']['Include']))
$config['Plugins'][$PluginName]['Action']['Include'] = NULL;
if (isset ($config['Plugins'][$PluginName]['Left']['Menu']) &&
!file_exists ($_SERVER["DOCUMENT_ROOT"]."/Admin/Modules/VPNconfig/plugins/". $PluginData['Folder'] ."/".
$config['Plugins'][$PluginName]['Left']['Menu']))
$config['Plugins'][$PluginName]['Left']['Menu'] = NULL;
if (isset ($config['Plugins'][$PluginName]['Left']['Status']) &&
!file_exists ($_SERVER["DOCUMENT_ROOT"]."/Admin/Modules/VPNconfig/plugins/". $PluginData['Folder'] ."/".
$config['Plugins'][$PluginName]['Left']['Status']))
$config['Plugins'][$PluginName]['Left']['Status'] = NULL;
}
}
}
}
// ----------------------------------------------
function seconds_string ($seconds, $periods = null)
{
$Wanted = '';
// Define time periods
if (!is_array ($periods))
{
$periods = array (
'years' => 31556926,
'months' => 2629743,
'weeks' => 604800,
'days' => 86400,
'hours' => 3600,
'minutes' => 60,
'seconds' => 1
);
}
// Wanted
if (empty ($seconds))
{ $Wanted = ''; }
else
{
// Loop
$seconds = (int) $seconds;
foreach ($periods as $period => $value)
{
$count = floor ($seconds / $value);
if ($count == 0)
continue;
elseif ($count == 1)
$Wanted .= ($count . ' ' . substr ($period, 0, strlen ($period) - 1) . ' ');
else
$Wanted .= ($count . ' ' . $period . ' ');
$seconds = $seconds % $value;
}
}
return rtrim ($Wanted);
}
// ----------------------------------------------
function chomp (&$string)
{
if (is_array ($string))
{
foreach ($string as $i => $val)
{ $endchar = chomp ($string[$i]); }
}
else
{
$endchar = substr ("$string", strlen("$string") - 1, 1);
if ($endchar == "\n")
{ $string = substr ("$string", 0, -1); }
}
return $endchar;
}
// ----------------------------------------------
function str_strip_spaces ($aline)
{
while (strpos ($aline, "\t") != FALSE) $aline = str_replace ("\t", ' ', $aline);
while (strpos ($aline, ' ') != FALSE) $aline = str_replace (' ', ' ', $aline);
return $aline;
}
// ----------------------------------------------
// Returns $afile only if it is the full name, or prefixed by $apath
function str_file_fullname ($apath, $afile)
{
if (substr ($afile, 0, 1) != '/')
$afile = ($apath . $afile);
return $afile;
}
// ----------------------------------------------
// Returns $afile only if it is the full name, or prefixed by $apath
function str_openssldata_to_string ($adata)
{
$Return = '';
$amonth = array ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
if (substr ($adata, -1, 1) == 'Z')
{
$Return = sprintf ("%s %d %s%02d, %02d:%02d:%02d",
$amonth [substr ($adata, 2, 2) - 1],
substr ($adata, 4, 2),
(substr ($adata, 0, 2) > 50 ? '19' : '20'),
substr ($adata, 0, 2),
substr ($adata, 6, 2),
substr ($adata, 8, 2),
substr ($adata, 10, 2));
}
return $Return;
}
// ----------------------------------------------
function str_get_sometag ($aline, $sometag)
{
if (eregi ($sometag, $aline, $anarray))
return $anarray[1];
else
return '';
}
// ----------------------------------------------
// Writes content into file
// Optionally sames old file into backup file.
// The Backup File has to reside on the same partition!
function writefile ($afile, $adata, $abackup = NULL)
{
// Move the old file into Backup one
if ($abackup != NULL)
{
if (file_exists ($afile))
{
if (file_exists ($abackup))
if (!unlink ($abackup))
exit;
if (!rename ($afile, $abackup))
exit;
}
}
$fp = fopen ($afile, "w", 0);
if (!$fp)
exit;
fputs ($fp, $adata);
fclose ($fp);
}
// ----------------------------------------------
// Guess the full file name
function if_file_exists (&$sFileName, $bFix = FALSE)
{
global $config;
if (strpos ($sFileName, '/') == FALSE)
{
$sLongFileName = $config['openvpn']['folder'] . $sFileName;
if (file_exists ($sLongFileName) && $bFix)
$sFileName = $sLongFileName;
}
return file_exists ($sFileName);
}
// ----------------------------------------------
function zlib_check_functions ()
{
$Result = '';
$ZLibs = array
(
'gzcompress'
);
foreach ($ZLibs as $Function)
{
$Result .= $Function . '<font color="black">:</font> ' . (function_exists ($Function) ?
'<font color="black">OK</font>' :
'<font color="red">DOES NOT EXIST</font>') . '<br>';
}
return $Result;
}
// ----------------------------------------------
function html_dump ($aname, $athing)
{
echo '<pre><b><font color="darkgreen">'. $aname .'</font></b>: ';
print_r ($athing);
echo "</pre><br>\n";
}
// ----------------------------------------------
function html_error ($amessage, $ifexit = true)
{
global $config;
echo $amessage;
if ($ifexit)
exit;
}
// ----------------------------------------------
function html_postredir ($url)
{
header ('HTTP/1.1 303 REDIRECT');
header ('Location: '. $url);
#header ('Status: 303'); // if 1st header generates 500, then commend it out and use this one as 2nd
}
// ----------------------------------------------
// ----------------------------------------------
function html_download ($sFile, $sName)
{
header ('Content-type: application/octet-stream');
header ('Content-Disposition: attachment; filename="'. $sName . '"');
readfile ($sFile);
}
// ----------------------------------------------
function html_download_data ($sData, $sName)
{
header ('Content-type: application/octet-stream');
header ('Content-Disposition: attachment; filename="'. $sName . '"');
echo $sData;
}
?>

View File

@ -1,377 +0,0 @@
<?php
// ----------------------------------------------
function openssl_check_functions ()
{
$Result = '';
$OpenSSLs = array
(
'openssl_csr_new',
'openssl_csr_sign',
'openssl_csr_export_to_file',
'openssl_pkey_new',
'openssl_pkey_get_private',
'openssl_pkey_export_to_file',
'openssl_x509_export_to_file'
);
foreach ($OpenSSLs as $Function)
{
$Result .= $Function . '<font color="black">:</font> ' . (function_exists ($Function) ?
'<font color="black">OK</font>' :
'<font color="red">DOES NOT EXIST</font>') . '<br>';
}
return $Result;
}
// ----------------------------------------------
function openssl_load_database ($afile = '')
{
global $config;
global $openssl;
$afile = ($afile == '' ? $config['openssl']['database'] : $afile);
$lines = file ($afile);
if (!is_array ($lines))
exit;
foreach ($lines as $line_num => $line)
{
chomp ($line);
$linetokens = explode ("\t", $line);
// Ensure that all the fields are set
if (count ($linetokens) == 6)
{
// Decode the openssl's database. See apps/apps.h
$openssl['Database'][] = array ('Status' => $linetokens[0],
'ExpDate' => $linetokens[1],
'RevDate' => $linetokens[2],
'Serial' => $linetokens[3],
'File' => $linetokens[4],
'Name' => $linetokens[5],
'Country' => openssl_get_country ($linetokens[5]),
'State' => openssl_get_state ($linetokens[5]),
'City' => openssl_get_city ($linetokens[5]),
'Company' => openssl_get_company ($linetokens[5]),
'Department' => openssl_get_department ($linetokens[5]),
'CN' => openssl_get_CN ($linetokens[5]),
'Email' => openssl_get_email ($linetokens[5])
);
}
}
}
// ----------------------------------------------
function openssl_write_database ($afile = '')
{
global $config;
global $openssl;
$afile = ($afile == '' ? $config['openssl']['database'] : $afile);
$atext = '';
for ($i = 0; $i < count ($openssl['Database']); $i++)
{
$atext .= ($atext == '' ? '' : "\n");
$atext .= $openssl['Database'][$i]['Status'] ."\t".
$openssl['Database'][$i]['ExpDate'] ."\t".
$openssl['Database'][$i]['RevDate'] ."\t".
$openssl['Database'][$i]['Serial'] ."\t".
$openssl['Database'][$i]['File'] ."\t".
$openssl['Database'][$i]['Name'];
}
writefile ($afile, $atext, $afile .'.old');
}
// ----------------------------------------------
function openssl_write_database_attr ($atext = '', $afile = '')
{
global $config;
global $openssl;
$afile = ($afile == '' ? $config['openssl']['database'] : $afile) .'.attr';
$atext = ($atext == '' ? "unique_subject = yes\n" : $atext);
if (file_exists ($afile))
{
ob_start ();
readfile ($afile);
$atext = ob_get_contents ();
ob_end_clean ();
}
writefile ($afile, $atext, $afile .'.old');
}
// ----------------------------------------------
// Returns the PEM file with spaces reduced and replaced to &nbsp;
function openssl_load_cert ($anid)
{
global $config;
do
{
$lines = file ($config['openssl']['pubfolder'] . $anid . '.pem');
if (!is_array ($lines))
{
$Return = '';
break;
}
foreach ($lines as $line_num => $line)
{
chomp ($line);
$Return[] = str_replace (' ', '&nbsp;', htmlspecialchars (str_replace (' ', ' ', $line)));
}
} while (FALSE);
return $Return;
}
// ----------------------------------------------
function openssl_load_serial ($afile = '')
{
global $config;
$afile = ($afile == '' ? $config['openssl']['serial'] : $afile);
$lines = file ($afile);
if (!is_array ($lines))
exit;
$Return = sscanf ($lines[0], "%X");
return $Return[0];
}
// ----------------------------------------------
function openssl_write_serial ($iNumber, $afile = '')
{
global $config;
$afile = ($afile == '' ? $config['openssl']['serial'] : $afile);
writefile ($afile, openssl_hex_serial ($iNumber) . "\n", $afile .'.old');
}
// ----------------------------------------------
// Supports up to 999,999 serials
function openssl_hex_serial ($iNumber)
{
if ($iNumber < 100)
$sString = sprintf ("%02X", $iNumber);
elseif ($iNumber < 10000)
$sString = sprintf ("%04X", $iNumber);
else
$sString = sprintf ("%06X", $iNumber);
return $sString;
}
// ----------------------------------------------
// Builds User Private Key, CSR and Public Certificate
function openssl_build_key (&$anoutput, $adn, $validdays = NULL)
{
global $config;
global $openssl;
$anoutput = '';
$Return = FALSE;
// Allow to override default value
$validdays = ($validdays == NULL ? $config['openssl']['default']['expiration'] : $validdays);
do
{
if (!isset ($adn) ||
!isset ($adn['countryName']) ||
!isset ($adn['stateOrProvinceName']) ||
!isset ($adn['localityName']) ||
!isset ($adn['organizationName']) ||
!isset ($adn['organizationalUnitName']) ||
!isset ($adn['commonName']) ||
!isset ($adn['emailAddress'])
)
{ $anoutput .= "- ERROR on ". __LINE__ ." line: incomplete DN information\n"; break; }
$anoutput .= "+ OK got the valid input\n";
// Get the new User Private Key
$UserPrivKey = openssl_pkey_new (array($config['openssl']['config'],0));
if ($UserPrivKey == FALSE)
{ $anoutput .= "- ERROR on ". (__LINE__ - 2) ." line (openssl_pkey_new):\n ". openssl_error_strings () ." (that might usually mean that the openssl.cnf file is unavailable)"; break; }
$anoutput .= "+ OK got the User Private Key\n";
// Generate the User Certificate Request
$UserReq = openssl_csr_new ($adn,
$UserPrivKey,
$config['openssl']['config']);
if ($UserReq == FALSE)
{ $anoutput .= "- ERROR on ". (__LINE__ - 4) ." line (openssl_csr_new):\n ". openssl_error_strings (); break; }
$anoutput .= "+ OK generated the User Certificate Request\n";
// Read the openssl serial
$CAserial = openssl_load_serial ($config['openssl']['serial']);
$anoutput .= "+ OK read current openssl serial (". openssl_hex_serial ($CAserial) .")\n";
$UserPubCertFile = $config['openssl']['pubfolder'] . openssl_hex_serial ($CAserial) .'.pem';
$UserCertReqFile = $config['openssl']['reqfolder'] . openssl_hex_serial ($CAserial) .'.csr';
$UserPrivKeyFile = $config['openssl']['prvfolder'] . openssl_hex_serial ($CAserial) .'.key';
// Read the openssl database
openssl_load_database ($config['openssl']['database']);
$anoutput .= "+ OK read the openssl database (". count ($openssl['Database']) ." items)\n";
// Get CA's Private Key
$CAPrivKey = openssl_pkey_get_private ($config['openssl']['CA']['priv']);
if ($CAPrivKey == FALSE)
{ $anoutput .= "- ERROR on ". (__LINE__ - 2) ." line (openssl_pkey_get_private)\n ". openssl_error_strings (); break; }
$anoutput .= "+ OK read the CA Private Key\n";
// Get a CA-signed cert that lasts for 1 year
$UserPubCert = openssl_csr_sign ($UserReq,
$config['openssl']['CA']['pub'],
$CAPrivKey,
$validdays,
$config['openssl']['config'],
$CAserial);
if ($UserPubCert == FALSE)
{ $anoutput .= "- ERROR on ". (__LINE__ - 7) ." line (openssl_csr_sign)\n ". openssl_error_strings (); break; }
$anoutput .= "+ OK signed the User Certificate Request with CA Private Key\n";
// Add the new row into openssl database
$openssl['Database'][] = array ('Status' => 'V',
'ExpDate' => date ('ymdHis',
time() +
date ('Z') +
($validdays * 24 * 60 * 60)) .'Z',
'RevDate' => '',
'Serial' => openssl_hex_serial ($CAserial),
'File' => openssl_hex_serial ($CAserial) .'.crt',
'Name' => openssl_make_name ($adn)
);
// Create files
$OldUMask = umask (0007);
// Write User Private Key
if (!openssl_pkey_export_to_file ($UserPrivKey, $UserPrivKeyFile, NULL, $config['openssl']['config']))
{ $anoutput .= "- ERROR on ". (__LINE__ - 1) ." line (openssl_pkey_export_to_file)\n ". openssl_error_strings () ." (That might mean that the key folder is not write enabled for www user)"; break; }
$anoutput .= "+ OK wrote User Private Key into file $UserPrivKeyFile\n";
// Write User Public Certificate
if (!openssl_x509_export_to_file ($UserPubCert, $UserPubCertFile, FALSE))
{ $anoutput .= "- ERROR on ". (__LINE__ - 1) ." line (openssl_x509_export_to_file)\n ". openssl_error_strings (); break; }
$anoutput .= "+ OK wrote User Public Certificate into file $UserPubCertFile\n";
// Write User Certificate Request
if (!openssl_csr_export_to_file ($UserReq, $UserCertReqFile))
{ $anoutput .= "- ERROR on ". (__LINE__ - 1) ." line (openssl_csr_export_to_file)\n ". openssl_error_strings (); break; }
$anoutput .= "+ OK wrote User Certificate Request into file $UserCertReqFile\n";
// Write new openssl database
openssl_write_database ($config['openssl']['database']);
openssl_write_database_attr ('', $config['openssl']['database']);
$anoutput .= "+ OK wrote new openssl database\n";
// Write new openssl serial
openssl_write_serial ($CAserial + 1, $config['openssl']['serial']);
$anoutput .= "+ OK wrote new openssl serial\n";
umask ($OldUMask);
$Return = openssl_hex_serial ($CAserial);
} while (FALSE);
return $Return;
}
// ----------------------------------------------
function openssl_error_strings ()
{
$sString = '';
while ($msg = openssl_error_string ())
$sString .= $msg ."\n";
return $sString;
}
// ----------------------------------------------
function openssl_make_name ($adn)
{
$sString = '';
if (strlen ($adn['countryName']) > 0) $sString .= '/C=' . $adn['countryName'];
if (strlen ($adn['stateOrProvinceName']) > 0) $sString .= '/ST=' . $adn['stateOrProvinceName'];
if (strlen ($adn['localityName']) > 0) $sString .= '/L=' . $adn['localityName'];
if (strlen ($adn['organizationName']) > 0) $sString .= '/O=' . $adn['organizationName'];
if (strlen ($adn['organizationalUnitName']) > 0) $sString .= '/OU=' . $adn['organizationalUnitName'];
if (strlen ($adn['commonName']) > 0) $sString .= '/CN=' . $adn['commonName'];
if (strlen ($adn['emailAddress']) > 0) $sString .= '/emailAddress='. $adn['emailAddress'];
return $sString;
}
// ----------------------------------------------
function openssl_get_country ($aline)
{ return str_get_sometag ($aline . '/', '\/C=([^/]*)\/'); }
// ----------------------------------------------
function openssl_get_state ($aline)
{ return str_get_sometag ($aline . '/', '\/ST=([^/]*)\/'); }
// ----------------------------------------------
function openssl_get_city ($aline)
{ return str_get_sometag ($aline . '/', '\/L=([^/]*)\/'); }
// ----------------------------------------------
function openssl_get_company ($aline)
{ return str_get_sometag ($aline . '/', '\/O=([^/]*)\/'); }
// ----------------------------------------------
function openssl_get_department ($aline)
{ return str_get_sometag ($aline . '/', '\/OU=([^/]*)\/'); }
// ----------------------------------------------
function openssl_get_CN ($aline)
{ return str_get_sometag ($aline . '/', '\/CN=([^/]*)\/'); }
// ----------------------------------------------
function openssl_get_email ($aline)
{ return str_get_sometag ($aline . '/', '\/emailAddress=([^/]*)\/'); }
// ----------------------------------------------
// Guess the full file name
function openssl_get_filename ($iSerial, $sExt)
{
global $config;
$sReturn = $config['openssl']['folder'] . openssl_hex_serial ($iSerial) . $sExt;
if (!file_exists ($sReturn))
{
$sReturn = $config['openssl']['pubfolder'] . openssl_hex_serial ($iSerial) . $sExt;
if (!file_exists ($sReturn))
{
$sReturn = $config['openssl']['reqfolder'] . openssl_hex_serial ($iSerial) . $sExt;
if (!file_exists ($sReturn))
{
$sReturn = $config['openssl']['prvfolder'] . openssl_hex_serial ($iSerial) . $sExt;
if (!file_exists ($sReturn))
{
$sReturn = '';
}
}
}
}
return $sReturn;
}
?>

View File

@ -1,11 +0,0 @@
<?php
session_start();
include ($_SERVER["DOCUMENT_ROOT"]."/Site/checkadmin.php");
include ($_SERVER["DOCUMENT_ROOT"]."/Config/_siteconfig_.php");
$path = $_REQUEST["path"];
// Write to file vpnid_man
exec("touch /var/vpn/squid_restart");
header ("Location: ".$path."&uebergabe=3");
?>

View File

@ -1,11 +0,0 @@
<?php
session_start();
include ($_SERVER["DOCUMENT_ROOT"]."/Site/checkadmin.php");
include ($_SERVER["DOCUMENT_ROOT"]."/Config/_siteconfig_.php");
$path = $_REQUEST["path"];
// Write to file vpnid_man
exec("touch /var/vpn/squid_start");
header ("Location: ".$path."&uebergabe=4");
?>

View File

@ -1,11 +0,0 @@
<?php
session_start();
include ($_SERVER["DOCUMENT_ROOT"]."/Site/checkadmin.php");
include ($_SERVER["DOCUMENT_ROOT"]."/Config/_siteconfig_.php");
$path = $_REQUEST["path"];
// Write to file vpnid_man
exec("touch /var/vpn/squid_stop");
header ("Location: ".$path."&uebergabe=5");
?>

View File

@ -1,297 +0,0 @@
<?php
include ($_SERVER["DOCUMENT_ROOT"]."/Site/checkadmin.php");
//include($_SERVER["DOCUMENT_ROOT"]."/Site/mysql.php");
include($_SERVER["DOCUMENT_ROOT"]."/Config/_dbconfig_.php");
include ($_SERVER["DOCUMENT_ROOT"]."/Admin/Modules/Squid/include/config.inc");
include ($_SERVER["DOCUMENT_ROOT"]."/Admin/Modules/Squid/include/functions.inc");
include ($_SERVER["DOCUMENT_ROOT"]."/Admin/Modules/Squid/include/openssl-functions.inc");
openssl_load_database ();
@$y = mysql_connect($MYSQL_HOST,$MYSQL_USER,$MYSQL_PASS);
@$x = mysql_select_db($MYSQL_DATABASE);
if (empty($x))
{
echo "ERROR 0x01, Failed to connect to database!<br>";
exit;
}
$sort = mysql_real_escape_string($_POST["dirsort"]); //$_GET["sort"];
$by = mysql_real_escape_string($_POST["sortby"]); //$_GET["by"];
$userid = mysql_real_escape_string($_POST["userid"]); //$_GET["userid"];
$search = mysql_real_escape_string($_POST["search"]); //$_GET["search"];
$moduleurl = $_SERVER["REQUEST_URI"];
$urlcut = strpos($moduleurl, "&");
$moduleurl = substr($moduleurl,0,$urlcut);
?>
<!-- MAIN CONTENT BEGINN ################################################################################ -->
<h1><b>Squid Config</b></h1>
<?php
if(is_file("/var/run/squid.pid"))
{
echo "<b>Squid is currently: <font color=green>running</font></b><br />";
}
else
{
echo "<b>Squid is currently: <font color=red>stopped</font></b><br />";
}
if ($_REQUEST["uebergabe"]=="3")
{
echo "<b>Squid restarted successfully!</b>";
echo "<meta http-equiv=\"Refresh\" content=\"1; url=".$moduleurl."&uebergabe=0\">";
}
if ($_REQUEST["uebergabe"]=="4")
{
echo "<b>Squid started successfully!</b>";
echo "<meta http-equiv=\"Refresh\" content=\"1; url=".$moduleurl."&uebergabe=0\">";
}
if ($_REQUEST["uebergabe"]=="5")
{
echo "<b>Squid stopped successfully!</b>";
echo "<meta http-equiv=\"Refresh\" content=\"3; url=".$moduleurl."&uebergabe=0\">";
}
?>
<table>
<tr>
<td>
<form action="/Admin/Modules/Squid/include/restartsquid.php" method="post" >
<input type="hidden" name="path" size="50" value="<?php echo $moduleurl;?>" />
<input type="submit" value="Restart Squid" />
</form>
</td>
<?php
if(!is_file("/var/run/squid.pid"))
{
echo "
<td>
<form action=\"/Admin/Modules/Squid/include/startsquid.php\" method=\"post\" >
<input type=\"hidden\" name=\"path\" size=\"50\" value=\"".$moduleurl."\" />
<input type=\"submit\" value=\"Start Squid\" />
</form>
</td>";
}
?>
<?php
if(is_file("/var/run/squid.pid"))
{
echo "
<td>
<form action=\"/Admin/Modules/Squid/include/stopsquid.php\" method=\"post\" >
<input type=\"hidden\" name=\"path\" size=\"50\" value=\"".$moduleurl."\" />
<input type=\"submit\" value=\"Stop Squid\" />
</form>
</td>";
}
?>
</tr>
</table>
<br />
<h2>Change Proxy Account:</h2>
<?php
if ($_REQUEST["uebergabe"]=="1")
{
echo "<b>Changed Squid Account successfully!</b>";
}
?>
<br>
<p>
<form action="/Admin/Modules/Squid/changesquid.php" method="post" >
Squid ID (HEX):
<input type="text" name="id" size="3">
<input type="hidden" name="path" size="50" value="<?php echo $moduleurl;?>">
<input type="submit" value="Change Squid User">
</form>
</p>
<p>
Current Squid User:
<?php
function dec_to_hex($dec)
{
$sign = ""; // suppress errors
if( $dec < 0){ $sign = "-"; $dec = abs($dec); }
$hex = Array( 0 => 0, 1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5,
6 => 6, 7 => 7, 8 => 8, 9 => 9, 10 => 'A',
11 => 'B', 12 => 'C', 13 => 'D', 14 => 'E',
15 => 'F' );
do
{
$h = $hex[($dec%16)] . $h;
$dec /= 16;
}
while( $dec >= 1 );
return $sign . $h;
}
$zeile = exec(escapeshellcmd("cat ".db_getconfval("sqddir")."/vpnid"));
$zeile = dec_to_hex($zeile);
//echo $zeile;
if(strlen ($zeile) <2)
{
$zeile = "0".$zeile;
}
if(strlen ($zeile) >2)
{
$zeile=substr($zeile, 0, -1);
}
@$y = mysql_connect($MYSQL_HOST,$MYSQL_USER,$MYSQL_PASS);
@$x = mysql_select_db($MYSQL_DATABASE);
if (empty($x))
{
echo "ERROR 0x01, Failed to connect to database!<br>";
exit;
}
$sql4 = "SELECT * FROM userdata WHERE VPNId = '".$zeile."';";
$result4 = mysql_query($sql4);
//echo $sql4;
$ar4=mysql_fetch_array($result4,MYSQL_ASSOC);
echo "<b>" . $ar4["Vorname"] . " " . $ar4["Nachname"] . "</b> VPNId: <b>" . $ar4["VPNId"]."</b>";
mysql_close();
?>
</p>
<br>
<h2>Blacklisted Accounts:</h2>
<?php
if ($_REQUEST["uebergabe"]=="2")
{
echo "<b>Blacklist cleared successfully!</b>";
}
?>
<table border=1>
<tr><td><b>Squid ID</b></td><td><b>Nickname</b></td><td><b>Vorname</b></td><td><b>Nachname</b></td></tr>
<?php
$thisFileContent = file(db_getconfval("sqddir")."/blacklist");
//echo db_getconfval("sqddir")."/blacklist";
$blindex = 0;
foreach ($thisFileContent as $zeile)
{
@$y = mysql_connect($MYSQL_HOST,$MYSQL_USER,$MYSQL_PASS);
@$x = mysql_select_db($MYSQL_DATABASE);
if (empty($x))
{
echo "ERROR 0x01, Failed to connect to database!<br>";
exit;
}
$hascontent = true;
if (strlen($zeile) >2)
{
$zeile=substr($zeile, 0, -1);
}
$sql3 = "SELECT * FROM userdata WHERE VPNId = '".$zeile."';";
$result3 = mysql_query($sql3);
$ar3=mysql_fetch_array($result3,MYSQL_ASSOC);
$nick = $ar3["Nickname"];
if($nick == "")
$hascontent=false;
$vor = $ar3["Vorname"];
if($vor == "")
$hascontent=false;
$nach = $ar3["Nachname"];
if($nach == "")
$hascontent=false;
if($hascontent == true)
{
$blindex = $blindex+1;
echo "<tr><td>".$zeile."</td><td>".$nick."</td><td>".$vor."</td><td>".$nach."</td></tr>";
}
mysql_close();
}
?>
</table>
<p> Blacklisted accounts:
<b>
<?php echo $blindex; ?></b> out of: <b>
<?php
if (count($openssl['Database']) == 0)
echo 'no certificates</b>';
elseif (count($openssl['Database'])-1 == 1)
{
echo '1</b> certificate';
}
elseif (count($openssl['Database'])-1 > 1)
{
echo '';
echo count($openssl['Database'])-1;
echo '</b> certificates';
}?>
</p>
<p>
<form action="/Admin/Modules/Squid/delbl.php" method="post" >
<input type="hidden" name="path" size="50" value="<?php echo $moduleurl;?>">
<input type="submit" value="Clear Blacklist">
</form>
</p>
<br>
<h2>User changed Proxy Accounts:</h2>
<form action="<?php echo $PHP_SELF; ?>" method="post">
<select name="dirsort" size=1>
<option <?php if($sort=="ASC") echo "selected";?> value="ASC">Up</option>
<option <?php if($sort=="DESC") echo "selected";?> value="DESC">Down</option>
</select>
<select name="sortby" size=1>
<option <?php if($by=="Id") echo "selected";?> value="Id">ID</option>
<option <?php if($by=="VPNId") echo "selected";?> value="VPNId">VPNId</option>
<option <?php if($by=="Time") echo "selected";?> value="Time">Time</option>
<option <?php if($by=="IP") echo "selected";?> value="IP">IP</option>
<option <?php if($by=="Nickname") echo "selected";?> value="Nickname">Nickname</option>
</select>
Search User:<input type="text" name="search" size="20" <?php if($search !="") echo "value=".$search;?> ></td>
<input type="submit" value="go!">
</form>
<!------ Sorting Leiste Start-->
<?php
@$y = mysql_connect($MYSQL_HOST,$MYSQL_USER,$MYSQL_PASS);
@$x = mysql_select_db($MYSQL_DATABASE);
if (empty($x))
{
echo "ERROR 0x01, Failed to connect to database!<br>";
exit;
}
// MYsql befehl basteln
if($by == "Nickname")
{
$sql = "SELECT * FROM proxyrepair;";
}
else
{
$sql = "SELECT * FROM proxyrepair ORDER BY $by $sort;";
}
$result = mysql_query($sql);
echo "<br><table border=1>";
echo "<tr><td><b>User ID</b></td><td><b>VPN Id</b></td><td><b>Nickname</b></td><td><b>Vorname</b></td><td><b>Nachname</b></td><td><b>Client IP</b></td><td><b>Time</b></td><td><b>Dead VPN ID</b></td></tr>\n";
// ------------------------------------------------ Mysql lesen
if ($result)
{
while ($ar=mysql_fetch_array($result,MYSQL_ASSOC))
{
$sql = "SELECT * FROM userdata WHERE Id = '".$ar["Id"]."' AND (Nickname LIKE '%".$search."%' OR Vorname LIKE '%".$search."%' OR Id LIKE '%".$search."%' OR VPNId LIKE '%".$search."%');";
$result2 = mysql_query($sql);
$ar2=mysql_fetch_array($result2,MYSQL_ASSOC);
if($ar2["Nickname"] != "")
echo "<tr><td>",$ar["Id"],"</td><td>",$ar["VPNId"],"</td><td>",$ar2["Nickname"],"</td><td>",$ar2["Vorname"],"</td><td>",$ar2["Nachname"],
"</td><td>", $ar["IP"],"</td><td>",$ar["Time"],"</td><td>",$ar["RepID"],"</td></tr>\n";
}
}
else
{
echo "<br>";
}
echo "</table>";
mysql_close();
?>

View File

@ -1,3 +0,0 @@
export CPATH=..:$HOME/include:/usr/local/include:/usr/include:/usr/include/mysql
needed: libmysqlclient-dev
gcc -l mysqlclient -o traffic Traffic.c

View File

@ -1,4 +0,0 @@
user: openvpn
passwd: openvpnlog
database: openvpn
host: localhost

View File

@ -1,7 +0,0 @@
#!/bin/bash
let x=0x3f
echo $x
let x=0xfffe
echo $x

View File

@ -1,134 +0,0 @@
/* OpenVPN - Squid Load Balancer*
*------------------------------*
* Version 1.0 *
* Written by Christoph Haas *
* License: LGPL *
* 12.10.2010 *
*/
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <mysql/mysql.h>
#include <regex.h>
#include <string.h>
#define __MAX_LINE__ 100
#define __MAX_FIELD__ 255
#define false 0
#define true 1
MYSQL mysql;
int connect_db(char *config)
{
FILE *db_data = NULL;
regex_t reg;
char user[__MAX_LINE__] = "";
char passwd[__MAX_LINE__] = "";
char database[__MAX_LINE__] = "";
char host[__MAX_LINE__] = "";
int port = 0;
char tmp[__MAX_LINE__];
char buf[__MAX_LINE__];
int a, b;
int length;
if((db_data = fopen(config, "r")) == NULL)
{
fprintf(stderr, "Can't open %s for reading.\n", config);
return false;
}
regcomp(&reg, "^([a-zA-Z0-9:]+)[ ][a-zA-Z0-9]+$", REG_EXTENDED | REG_NEWLINE);
while(fgets(buf, __MAX_LINE__, db_data))
{
length = strlen(buf);
if(length < 3)continue;
if(length >= __MAX_LINE__)
{
fclose(db_data);
regfree(&reg);
fprintf(stderr, "To long line in config file.\n");
return false;
}
if(buf[0] == '#')continue;
if(regexec(&reg, buf, 0, 0, 0))
{
fclose(db_data);
regfree(&reg);
fprintf(stderr, "Syntax error in config file.\n");
return false;
}
for(a = 0, b = 0; a < strlen(buf); a++)
{
if(buf[a] == ' ')b++;
}
if(b != 1)
{
fclose(db_data);
regfree(&reg);
fprintf(stderr, "Syntax error in config file.\n");
return false;
}
if((strncmp(buf, "user: ", 6)) == 0)sscanf(buf, "%s %s", tmp, user);
if((strncmp(buf, "passwd: ", 8)) == 0)sscanf(buf, "%s %s", tmp, passwd);
if((strncmp(buf, "database: ", 10)) == 0)sscanf(buf, "%s %s", tmp, database);
if((strncmp(buf, "host: ", 6)) == 0)sscanf(buf, "%s %s", tmp, host);
if((strncmp(buf, "port: ", 6)) == 0)sscanf(buf, "%s %d", tmp, &port);
}
fclose(db_data);
regfree(&reg);
if((strlen(user) < 1) || (strlen(passwd) < 1) ||
(strlen(database) < 1) || (strlen(host) < 1))
{
fprintf(stderr, "One value for MySQL connection isn't set. \
Please set user, passwd, database and host.\n");
return false;
}
mysql_init(&mysql);
if((mysql_real_connect(&mysql, host, user, passwd, database, port, NULL, 0)) == NULL)
{
fprintf(stderr, "%s\n", mysql_error(&mysql));
return false;
}
return true;
}
int main(int argc, char **argv)
{
MYSQL_RES *result;
MYSQL_ROW row;
char Query[200]= "SELECT * FROM userdata WHERE VPNId = '\0";
if(argc == 2)
{
/*iID = atoi(argv[1]);
printf("Int:%d\n", iID);
sprintf(ID,"%-#10x",iID);
printf("String:%s\n", ID);*/
connect_db("/home/christoph/squid_dynamic/db.conf"); // Datenbank Verbindung aufbauen
strcat(Query, argv[1]); // Query builden
strcat(Query,"'"); //
mysql_query(&mysql, Query); // Query abschicken
result = mysql_store_result(&mysql); // Result speichern
while ((row = mysql_fetch_row(result))) // Alle Datensätze auslesen (in dem Fall eh nur einer)
{
printf("%s:%s\n", row[9], row[10]); // Feld 9 und 10 (login/pass) aus dem datensatz ausgeben
}
mysql_free_result(result); // Result wieder löschen
mysql_close(&mysql); // Datenbank Verbindung schliesen
}
else
{
printf("USAGE: sqidy xx | xx = VPNId\n"); // bei flascheingabe der Parameter
}
}

View File

@ -1 +0,0 @@
00

View File

@ -1,115 +0,0 @@
#!/bin/bash
# Zaehlvariable einlesen
id=$ID_VPN
# Abfrage ob Stringlaenge von id NULL ist
if [ ${#ID_VPN} == 0 ];
then id=0
fi
# id inkrementieren
let id=$id+1
# 255 Overflow verhindern
if [ $id -gt 254 ]
then id=0
fi
# Variable id fuer naechsten Durchlauf speichern
export ID_VPN=$id
# id HEX wandeln
hex=$(echo "obase=16; $id" |bc)
# Abfrage ob Strinlaenge von hex kleiner als 2
if [ ${#hex} -lt 2 ];
then hex=0$hex
fi
# Login-Daten aus Datenbank holen
credentials=$(./squidy $hex)
# Abfrage ob Datensatz leer :
zero="0"
if [ "$credentials" == ":" ];
then
. write_conf &
zero="1"
fi
if [ ${#credentials} == 0 ];
then
. write_conf &
zero="1"
fi
######################################################################################
# Config- Datei schreiben.
if [ $zero == "0" ]
then
echo "
# Squid config by h44z
# TAG: http_port
# Usage: port
# hostname:port
# 1.2.3.4:port
http_port 10.8.0.1:3128 transparent
http_port 10.8.0.1:8080
#https_port 10.8.0.1:8181 key=/etc/apache2/ssl/apache.pem
visible_hostname vpnrack
# TAG: icp_port
icp_port 0
# TAG: no_cache
acl QUERY urlpath_regex cgi-bin \\?
no_cache deny QUERY
# TAG: cache_mem (bytes)
cache_mem 32 MB
# TAG: cache_dir
cache_dir ufs /var/cache/squid 100 16 256
# TAG: cache_access_log
cache_access_log /var/log/squid/access.log
# TAG: cache_log
cache_log /var/log/squid/cache.log
# TAG: cache_store_log
cache_store_log /var/log/squid/store.log
# TAG: emulate_httpd_log on|off
emulate_httpd_log on
# TAG: pid_filename
pid_filename /var/run/squid.pid
# TAG: cache_mgr
cache_mgr christoph.haas2@students.htlinn.ac.at
http_access allow all
acl https port 443
http_access allow https
# TAG: http_reply_access
# Allow replies to client requests. This is complementary to http_access.
#http_reply_access allow all
cache_peer 192.168.195.101 parent 8080 7 no-query default no-digest login=$credentials
never_direct allow all
" > /etc/squid3/squid.conf
######################################################################################
#restart squid
killall -9 squid
squid -D -YC -f /etc/squid3/squid.conf
fi

View File

@ -1,132 +0,0 @@
#!/bin/bash
# Script um die cache_peer funktion von Squid upzudaten.
# V1.0
# 13.10.2010
# Stoeckholzer, Haas
if [ ${#1} == 0 ];
then
echo "USAGE: write_conf_file updatetime"
exit 0
fi
while [ "1" == "1" ] ;
do
sleep $1
zero="1"
while [ $zero == "1" ] ;
do
# Zaehlvariable einlesen
id=$(cat /var/vpn/vpnid)
# id inkrementieren
let id=$id+1
# 255 Overflow verhindern
if [ $id -gt 254 ]
then
id=0
fi
# Variable id fuer naechsten Durchlauf speichern
echo $id > /var/vpn/vpnid
# id HEX wandeln
hex=$(echo "obase=16; $id" |bc)
# Abfrage ob Strinlaenge von hex kleiner als 2
if [ ${#hex} -lt 2 ];
then
hex=0$hex
fi
black=$(cat /var/vpn/blacklist | grep $hex)
if [ ${#black} -lt 2 ];
then
# Login-Daten aus Datenbank holen
credentials=$(/home/christoph/squid_dynamic/squidy $hex)
# Abfrage ob Datensatz leer :
if [ ${#credentials} -gt 10 ];
then
zero="0"
fi
fi
done
echo "USING credentials: $credentials"
sudo killall -9 unlinkd
sudo killall -9 squid
sudo rm /etc/squid3/squid.conf
######################################################################################
# Config- Datei schreiben.
sudo echo -e -n "
# Squid config by h44z
# TAG: http_port
# Usage: port
# hostname:port
# 1.2.3.4:port
http_port 10.8.0.1:3128 transparent
http_port 10.8.0.1:8080
#https_port 10.8.0.1:8181 key=/etc/apache2/ssl/apache.pem
visible_hostname vpnrack
# TAG: icp_port
icp_port 0
# TAG: no_cache
acl QUERY urlpath_regex cgi-bin \\?
no_cache deny QUERY
# TAG: cache_mem (bytes)
cache_mem 32 MB
# TAG: cache_dir
cache_dir ufs /var/cache/squid 100 16 256
# TAG: cache_access_log
cache_access_log /var/log/squid/access.log
# TAG: cache_log
cache_log /var/log/squid/cache.log
# TAG: cache_store_log
cache_store_log /var/log/squid/store.log
# TAG: emulate_httpd_log on|off
emulate_httpd_log on
# TAG: pid_filename
pid_filename /var/run/squid.pid
# TAG: cache_mgr
cache_mgr christoph.haas2@students.htlinn.ac.at
#blubber
http_access allow all
acl https port 443
http_access allow https
# TAG: http_reply_access
# Allow replies to client requests. This is complementary to http_access.
#http_reply_access allow all
cache_peer 192.168.195.101 parent 8080 7 no-query default no-digest login=$credentials
never_direct allow all
" > /etc/squid3/squid.conf
echo "Written credentials: $credentials"
######################################################################################
#restart squid
sudo squid -D -YC -f /etc/squid3/squid.conf
done

View File

@ -1,130 +0,0 @@
#!/bin/bash
# Script um die cache_peer funktion von Squid upzudaten.
# V1.0
# 13.10.2010
# Stoeckholzer, Haas
if [ ${#1} == 0 ];
then
echo "USAGE: write_conf_file updatetime"
exit 0
fi
while [ "1" == "1" ] ; do
sleep $1
zero="1"
while [ $zero == "1" ] ; do
# Zaehlvariable einlesen
id=$(cat /var/vpn/vpnid)
# id inkrementieren
let id=$id+1
# 255 Overflow verhindern
if [ $id -gt 254 ]
then id=0
fi
# Variable id fuer naechsten Durchlauf speichern
echo $id > /var/vpn/vpnid
# id HEX wandeln
hex=$(echo "obase=16; $id" |bc)
# Abfrage ob Strinlaenge von hex kleiner als 2
if [ ${#hex} -lt 2 ];
then hex=0$hex
fi
# Login-Daten aus Datenbank holen
credentials=$(/home/christoph/squid_dynamic/squidy $hex)
# Abfrage ob Datensatz leer :
if [ ${#credentials} -gt 10 ];
then
zero="0"
fi
echo "Schleife zero: $zero"
echo "Schleife id: $id"
echo "Schleife hex: $hex"
done
echo "USING zero: $zero"
echo "USING id: $id"
echo "USING hex: $hex"
echo "USING credentials: $credentials"
sudo killall -9 unlinkd
sudo killall -9 squid
sudo rm /etc/squid3/squid.conf
######################################################################################
# Config- Datei schreiben.
sudo echo -e -n "
# Squid config by h44z
# TAG: http_port
# Usage: port
# hostname:port
# 1.2.3.4:port
http_port 10.8.0.1:3128 transparent
http_port 10.8.0.1:8080
#https_port 10.8.0.1:8181 key=/etc/apache2/ssl/apache.pem
visible_hostname vpnrack
# TAG: icp_port
icp_port 0
# TAG: no_cache
acl QUERY urlpath_regex cgi-bin \\?
no_cache deny QUERY
# TAG: cache_mem (bytes)
cache_mem 32 MB
# TAG: cache_dir
cache_dir ufs /var/cache/squid 100 16 256
# TAG: cache_access_log
cache_access_log /var/log/squid/access.log
# TAG: cache_log
cache_log /var/log/squid/cache.log
# TAG: cache_store_log
cache_store_log /var/log/squid/store.log
# TAG: emulate_httpd_log on|off
emulate_httpd_log on
# TAG: pid_filename
pid_filename /var/run/squid.pid
# TAG: cache_mgr
cache_mgr christoph.haas2@students.htlinn.ac.at
#blubber
http_access allow all
acl https port 443
http_access allow https
# TAG: http_reply_access
# Allow replies to client requests. This is complementary to http_access.
#http_reply_access allow all
cache_peer 192.168.195.101 parent 8080 7 no-query default no-digest login=$credentials
never_direct allow all
" > /etc/squid3/squid.conf
echo "Written credentials: $credentials"
######################################################################################
#restart squid
sudo squid -D -YC -f /etc/squid3/squid.conf
done

View File

@ -1,183 +0,0 @@
#!/bin/bash
# Script um die cache_peer funktion von Squid manuell von der Website aus upzudaten.
# V1.0
# 13.10.2010
# Stoeckholzer, Haas
while [ "1" == "1" ];
do
write=1
zero=0
# ueberpruefen ob file vpnid_man vorhanden
if [ -e /var/vpn/vpnid_man ];
then
echo 1
zero=1
fi
# ueberpruefen ob file vpnid_next vorhanden
if [ -e /var/vpn/vpnid_next ];
then
echo 2
zero=2
fi
if [ "$zero" == "1" ];
then
# Manuelle ID als hex einlesen einlesen
hex=$(cat /var/vpn/vpnid_man)
id=$(printf "%d\n" 0x$hex)
echo $id > /var/vpn/vpnid
rm /var/vpn/vpnid_man
echo $hex
# Login-Daten aus Datenbank holen
credentials=$(/home/christoph/squid_dynamic/squidy $hex)
fi
if [ "$zero" == "2" ];
then
schleife="1"
rm /var/vpn/vpnid_next
while [ $schleife == "1" ] ;
do
# Zaehlvariable einlesen
id_alt=$(cat /var/vpn/vpnid)
# alte id HEX wandeln zum BLacklisten
hex_alt=$(echo "obase=16; $id_alt" |bc)
# Abfrage ob Strinlaenge von hex kleiner als 2
if [ ${#hex_alt} -lt 2 ];
then
hex_alt=0$hex_alt
fi
# alte id BLacklisten
if [ $write == 1 ];
then
echo $hex_alt >> /var/vpn/blacklist
fi
# id inkrementieren
let id=$id_alt+1
# 255 Overflow verhindern
if [ $id -gt 254 ]
then
id=0
fi
# Variable id fuer naechsten Durchlauf speichern
echo $id > /var/vpn/vpnid
# id HEX wandeln
hex=$(echo "obase=16; $id" |bc)
# Abfrage ob Strinlaenge von hex kleiner als 2
if [ ${#hex} -lt 2 ];
then
hex=0$hex
fi
# hole id_hex aus BLacklist?
black=$(cat /var/vpn/blacklist|grep $hex)
# Abfrage ob id_hex in BLacklist
if [ ${#black} -lt 2 ];
then
# Login-Daten aus Datenbank holen
credentials=$(/home/christoph/squid_dynamic/squidy $hex)
# Abfrage ob Datensatz leer :
if [ ${#credentials} -gt 10 ];
then
schleife="0"
fi
else write=0
fi
done
fi
# Abfrage ob Datensatz leer (zur Sicherheit):
if [ ${#credentials} -gt 10 ] && [ $zero != "0" ];
then
# stop squid
sudo killall -9 unlinkd
sudo killall -9 squid
sudo rm /etc/squid3/squid.conf
######################################################################################
# Config- Datei schreiben.
sudo echo -e -n "
# Squid config by h44z
# TAG: http_port
# Usage: port
# hostname:port
# 1.2.3.4:port
http_port 10.8.0.1:3128 transparent
http_port 10.8.0.1:8080
#https_port 10.8.0.1:8181 key=/etc/apache2/ssl/apache.pem
visible_hostname vpnrack
# TAG: icp_port
icp_port 0
# TAG: no_cache
acl QUERY urlpath_regex cgi-bin \\?
no_cache deny QUERY
# TAG: cache_mem (bytes)
cache_mem 32 MB
# TAG: cache_dir
cache_dir ufs /var/cache/squid 100 16 256
# TAG: cache_access_log
cache_access_log /var/log/squid/access.log
# TAG: cache_log
cache_log /var/log/squid/cache.log
# TAG: cache_store_log
cache_store_log /var/log/squid/store.log
# TAG: emulate_httpd_log on|off
emulate_httpd_log on
# TAG: pid_filename
pid_filename /var/run/squid.pid
# TAG: cache_mgr
cache_mgr christoph.haas2@students.htlinn.ac.at
http_access allow all
acl https port 443
http_access allow https
# TAG: http_reply_access
# Allow replies to client requests. This is complementary to http_access.
#http_reply_access allow all
cache_peer 192.168.195.101 parent 8080 7 no-query default no-digest login=$credentials
never_direct allow all
" > /etc/squid3/squid.conf
######################################################################################
echo "Written: $credentials"
#start squid
squid -D -YC -f /etc/squid3/squid.conf
fi
sleep 2
done

View File

@ -1,158 +0,0 @@
#!/bin/bash
# Script um die cache_peer funktion von Squid manuell von der Website aus upzudaten.
# V1.0
# 13.10.2010
# Stoeckholzer, Haas
while [ "1" == "1" ];
do
zero=0
# ueberpruefen ob file vpnid_man vorhanden
if [ -e /var/vpn/vpnid_man ];
then
echo 1
zero=1
fi
# ueberpruefen ob file vpnid_next vorhanden
if [ -e /var/vpn/vpnid_next ];
then
echo 2
zero=2
fi
if [ "$zero" == "1" ];
then
# Manuelle ID als hex einlesen einlesen
hex=$(cat /var/vpn/vpnid_man)
id=$(printf "%d\n" $hex)
echo $id > /var/vpn/vpnid
rm /var/vpn/vpnid_man
echo $hex
# Login-Daten aus Datenbank holen
credentials=$(/home/christoph/squid_dynamic/squidy $hex)
fi
if [ "$zero" == "2" ];
then
schleife="1"
rm /var/vpn/vpnid_next
while [ $schleife == "1" ] ;
do
# Zaehlvariable einlesen
id=$(cat /var/vpn/vpnid)
# id inkrementieren
let id=$id+1
# 255 Overflow verhindern
if [ $id -gt 254 ]
then
id=0
fi
# Variable id fuer naechsten Durchlauf speichern
echo $id > /var/vpn/vpnid
# id HEX wandeln
hex=$(echo "obase=16; $id" |bc)
# Abfrage ob Strinlaenge von hex kleiner als 2
if [ ${#hex} -lt 2 ];
then
hex=0$hex
fi
# Login-Daten aus Datenbank holen
credentials=$(/home/christoph/squid_dynamic/squidy $hex)
# Abfrage ob Datensatz leer :
if [ ${#credentials} -gt 10 ];
then
schleife="0"
fi
done
fi
# Abfrage ob Datensatz leer (zur Sicherheit):
if [ ${#credentials} -gt 10 ] && [ $zero != "0" ];
then
# stop squid
sudo killall -9 unlinkd
sudo killall -9 squid
sudo rm /etc/squid3/squid.conf
######################################################################################
# Config- Datei schreiben.
sudo echo -e -n "
# Squid config by h44z
# TAG: http_port
# Usage: port
# hostname:port
# 1.2.3.4:port
http_port 10.8.0.1:3128 transparent
http_port 10.8.0.1:8080
#https_port 10.8.0.1:8181 key=/etc/apache2/ssl/apache.pem
visible_hostname vpnrack
# TAG: icp_port
icp_port 0
# TAG: no_cache
acl QUERY urlpath_regex cgi-bin \\?
no_cache deny QUERY
# TAG: cache_mem (bytes)
cache_mem 32 MB
# TAG: cache_dir
cache_dir ufs /var/cache/squid 100 16 256
# TAG: cache_access_log
cache_access_log /var/log/squid/access.log
# TAG: cache_log
cache_log /var/log/squid/cache.log
# TAG: cache_store_log
cache_store_log /var/log/squid/store.log
# TAG: emulate_httpd_log on|off
emulate_httpd_log on
# TAG: pid_filename
pid_filename /var/run/squid.pid
# TAG: cache_mgr
cache_mgr christoph.haas2@students.htlinn.ac.at
http_access allow all
acl https port 443
http_access allow https
# TAG: http_reply_access
# Allow replies to client requests. This is complementary to http_access.
#http_reply_access allow all
cache_peer 192.168.195.101 parent 8080 7 no-query default no-digest login=$credentials
never_direct allow all
" > /etc/squid3/squid.conf
######################################################################################
echo "Written: $credentials"
#start squid
squid -D -YC -f /etc/squid3/squid.conf
fi
sleep 2
done

View File

@ -1,5 +0,0 @@
/home/christoph/stopsquid
#iptables -t nat -A PREROUTING -i tap0 -p tcp --dport 80 -j REDIRECT --to-ports 3128
#iptables -t nat -A PREROUTING -i tap0 -p tcp --dport 443 -j REDIRECT --to-ports 3128
squid -D -YC -f /etc/squid3/squid.conf

View File

@ -1,6 +0,0 @@
#iptables -t nat -D PREROUTING -i tap0 -p tcp --dport 80 -j REDIRECT --to-ports 3128
#iptables -t nat -D PREROUTING -i tap0 -p tcp --dport 443 -j REDIRECT --to-ports 3128
killall squid
killall squid
killall squid

View File

@ -1,3 +1,6 @@
<!-- MAIN -->
<div id="main">
<div class="wrapper">
<?php <?php
include ($_SERVER["DOCUMENT_ROOT"]."/Site/checkadmin.php"); include ($_SERVER["DOCUMENT_ROOT"]."/Site/checkadmin.php");
@ -62,3 +65,5 @@ switch($mode)
break; break;
} }
?> ?>
</div>
</div>

View File

@ -76,20 +76,20 @@ function Potenz($sent_sum)
$sql = "SELECT * FROM $table ORDER BY $by $sort;"; $sql = "SELECT * FROM $table ORDER BY $by $sort;";
$result = mysql_query($sql); $result = mysql_query($sql);
echo "<table style=\"border=1px solid;\">"; echo "<table style=\"border: 1px solid;\">";
if($table=='connections') if($table=='connections')
{ {
echo "<tr><td>Start Time</td><td>Stop Time</td><td>Client IP</td><td>Download echo "<tr style=\"border: 1px solid;\"><td>Start Time</td><td>Stop Time</td><td>Client IP</td><td>Download
</td><td>Upload</td></tr>\n"; </td><td>Upload</td></tr>\n";
} }
else if($table=='month') else if($table=='month')
{ {
echo "<tr><td>Month</td><td>Year</td><td>Connection Time</td><td>Download echo "<tr style=\"border: 1px solid;\"><td>Month</td><td>Year</td><td>Connection Time</td><td>Download
</td><td>Upload</td></tr>\n"; </td><td>Upload</td></tr>\n";
} }
else if($table=='year') else if($table=='year')
{ {
echo "<tr><td>Year</td><td>Connection Time</td><td>Download echo "<tr style=\"border: 1px solid;\"><td>Year</td><td>Connection Time</td><td>Download
</td><td>Upload</td></tr>\n"; </td><td>Upload</td></tr>\n";
} }
else else

View File

@ -16,7 +16,6 @@ echo "
Nachname: ".$_SESSION["user_nachname"]."<br> Nachname: ".$_SESSION["user_nachname"]."<br>
Vorname: ".$_SESSION["user_vorname"]."<br> Vorname: ".$_SESSION["user_vorname"]."<br>
Email: ".$_SESSION["user_email"]."<br> Email: ".$_SESSION["user_email"]."<br>
Novell Login: ".$_SESSION["user_novlogin"]."<br>
Avatar: ".$_SESSION["user_avatar"]." Avatar: ".$_SESSION["user_avatar"]."
</td> </td>
<td> <img src=\"Modules/UserControl/avatar/".$_SESSION["user_avatar"].".png\" <td> <img src=\"Modules/UserControl/avatar/".$_SESSION["user_avatar"].".png\"
@ -156,15 +155,7 @@ echo "
<tr> <tr>
<td>Passwort:</td> <td>Passwort:</td>
<td><input type=\"password\" name=\"pwd\" size=\"20\"></td> <td><input type=\"password\" name=\"pwd\" size=\"20\"></td>
</tr> </tr>
<tr>
<td>Novell Login (Email):</td>
<td><input type=\"text\" name=\"novlogin\" value=\"".$_SESSION["user_novlogin"]."\" size=\"50\"></td>
</tr>
<tr>
<td>Novell Password:</td>
<td><input type=\"password\" name=\"novpass\" size=\"50\"></td>
</tr>
<tr> <tr>
<td><input type=\"hidden\" name=\"path\" value=\"".$moduleurl."\" size=\"50\"></td> <td><input type=\"hidden\" name=\"path\" value=\"".$moduleurl."\" size=\"50\"></td>
</tr> </tr>

View File

@ -17,8 +17,6 @@ $benutzer["Kennwort"] = mysql_real_escape_string($_REQUEST["pwd"]);
$benutzer["Nachname"] = mysql_real_escape_string($_REQUEST["nachname"]); $benutzer["Nachname"] = mysql_real_escape_string($_REQUEST["nachname"]);
$benutzer["Vorname"] = mysql_real_escape_string($_REQUEST["vorname"]); $benutzer["Vorname"] = mysql_real_escape_string($_REQUEST["vorname"]);
$benutzer["Avatar"] = mysql_real_escape_string($_REQUEST["avatar"]); $benutzer["Avatar"] = mysql_real_escape_string($_REQUEST["avatar"]);
$benutzer["NovLogin"] = mysql_real_escape_string($_REQUEST["novlogin"]);
$benutzer["NovPass"] = mysql_real_escape_string($_REQUEST["novpass"]);
$moduleurl = $_REQUEST["path"]; $moduleurl = $_REQUEST["path"];
if($_SESSION["user_id"] != $benutzer["id"]) if($_SESSION["user_id"] != $benutzer["id"])
@ -67,30 +65,12 @@ $sql = "UPDATE userdata SET ";
} }
$sql = $sql . "Avatar='". $benutzer["Avatar"]."' "; $sql = $sql . "Avatar='". $benutzer["Avatar"]."' ";
$strcount = 1; $strcount = 1;
}
if($benutzer["NovLogin"] != "")
{
if($strcount==1)
{
$sql = $sql . ",";
}
$sql = $sql . "NovLogin='". $benutzer["NovLogin"]."' ";
$strcount = 1;
}
if($benutzer["NovPass"] != "")
{
if($strcount==1)
{
$sql = $sql . ",";
}
$sql = $sql . "NovPass='". $benutzer["NovPass"]."' ";
$strcount = 1;
} }
$sql = $sql . "WHERE id = '" . $benutzer["id"]."'"; $sql = $sql . "WHERE id = '" . $benutzer["id"]."'";
//echo $sql; //echo $sql;
mysql_query ($sql); mysql_query ($sql);
$sql = "SELECT ". $sql = "SELECT ".
"Id, VPNId, IsAdmin, Nickname, Nachname, Vorname, Email, Avatar, NovLogin, NovPass ". "Id, VPNId, IsAdmin, Nickname, Nachname, Vorname, Email, Avatar, ".
"FROM ". "FROM ".
"userdata ". "userdata ".
"WHERE ". "WHERE ".
@ -113,8 +93,6 @@ if (mysql_num_rows ($result) > 0)
$_SESSION["user_vorname"] = $data["Vorname"]; $_SESSION["user_vorname"] = $data["Vorname"];
$_SESSION["user_email"] = $data["Email"]; $_SESSION["user_email"] = $data["Email"];
$_SESSION["user_avatar"] = $data["Avatar"]; $_SESSION["user_avatar"] = $data["Avatar"];
$_SESSION["user_novlogin"] = $data["NovLogin"];
$_SESSION["user_novpass"] = $data["NovPass"];
mysql_close(); mysql_close();
header ("Location: ".$moduleurl."&uebergabe=0"); header ("Location: ".$moduleurl."&uebergabe=0");
} }

View File

@ -51,13 +51,13 @@ echo "
<div class=\"wrapper\"> <div class=\"wrapper\">
<table> <table>
<tr> <tr>
<td><h1>Welcome ".$_SESSION["user_vorname"]." ".$_SESSION["user_nachname"]."!</h1><br></td> <td><h1>Welcome ".$_SESSION["user_vorname"]." ".$_SESSION["user_nachname"]."!</h1><br/><br/></td>
<td><img src=\"Modules/UserControl/avatar/".$_SESSION["user_avatar"].".png\" width=\"90\" height=\"90\"></img></td> <td><img src=\"Modules/UserControl/avatar/".$_SESSION["user_avatar"].".png\" width=\"90\" height=\"90\"></img></td>
</tr> </tr>
</table> </table>
<h2>Your Userstatistics:</h2> <h2>Your Userstatistics:</h2>
<br/>
<form action=\"".$PHP_SELF."\" method=\"post\"> <form action=\"".$PHP_SELF."\" method=\"post\">
<select name=\"dirsort\" size=1> <select name=\"dirsort\" size=1>
<option "; if($sort=="ASC") echo "selected"; echo " value=\"ASC\">Up</option> <option "; if($sort=="ASC") echo "selected"; echo " value=\"ASC\">Up</option>
@ -201,6 +201,7 @@ echo "
echo "<br> echo "<br>
<h2>VPN Config:</h2> <h2>VPN Config:</h2>
<br/>
<form action=\"/Modules/UserControl/getcert.php\" method=\"post\"> <form action=\"/Modules/UserControl/getcert.php\" method=\"post\">
<tr> <tr>
@ -278,14 +279,12 @@ echo "<br>
} }
echo " echo "
<h2>User Information:</h2><br> <h2>User Information:</h2><br/>
Benutzer Id: ".$_SESSION["user_id"]."<br> Benutzer Id: ".$_SESSION["user_id"]."<br>
VPN Id: ".$_SESSION["user_vpnid"]."<br> VPN Id: ".$_SESSION["user_vpnid"]."<br>
Nickname: ".$_SESSION["user_nickname"]."<br> Nickname: ".$_SESSION["user_nickname"]."<br>
Nachname: ".$_SESSION["user_nachname"]."<br> Nachname: ".$_SESSION["user_nachname"]."<br>
Vorname: ".$_SESSION["user_vorname"]."<br> Vorname: ".$_SESSION["user_vorname"]."<br>
Email Adress: ".$_SESSION["user_email"]."<br>
Novell Login (Email): ".$_SESSION["user_novlogin"]."<br>
Current IP: ".getenv("REMOTE_ADDR")."<br> Current IP: ".getenv("REMOTE_ADDR")."<br>
<form action=\"".$moduleurl."&uebergabe=2\" method=\"post\"> <form action=\"".$moduleurl."&uebergabe=2\" method=\"post\">
<input type=\"submit\" value=\"Change Userinformation\"> <input type=\"submit\" value=\"Change Userinformation\">