116 lines
2.1 KiB
Bash
Executable File
116 lines
2.1 KiB
Bash
Executable File
#!/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
|