# Example ziproxy.conf ############################ # daemon mode-only options # ############################ ## Port am dem gelauscht werden soll ## Standard: 8080 Port = 3128 ## Die Adresse auf welcher Ziproxy erreichbar sein soll ## Standard: Auf allen Interfacen Address = "81.169.188.94" ## Akzeptiere nur Verbindungen von einer bestimmten IP-Adresse ## Standard: nicht gesetzt OnlyFrom = "0.0.0.0" ## Anzahl der gleichzeitig aufgebauten Verbindungen ## und (indirekt) anzahl an Ziproxy-Prozesse ## Standard: 0 (no limit) # MaxActiveUserConnections = 20 ## Ziproxy-PID muss angegeben werden, wenn du mehrere verschiedene Ziproxys ## auf einem Server laufen lasse willst ## Standard: nicht gesetzt # PIDFile = "/var/run/ziproxy.pid" ## Ziproxy-Rechte auf einen User/Gruppe einschraenken ## Standard: nicht gesetzt #RunAsUser = "ziproxy" #RunAsGroup = "ziproxy" ################################## # TOS marking (daemon mode-only) # ################################## ## schau in die Doku :-) ## Standard: nicht gesetzt ################### # general options # ################### ## Debug-/Error-/Access-Log ## Standard: aus DebugLog = "/var/log/ziproxy/debug.log" #ErrorLog = "/var/log/ziproxy/error.log" #AccessLog = "/var/log/ziproxy/access.log" ## Debug-On/-Off ## Standard: aus InterceptCrashes = false ## !!! ab Version 3.2 !!! ## Authentifizierung ## 0: none (no authentication required) ## 1: plain text file ## 2: SASL (auxprop, see /etc/ziproxy/sasl/ziproxy.conf) ## Standard: 0 (aus) #AuthMode = 1 ## !!! ab Version 3.2 !!! ## HTTP-Auth Datei ## z.B.: user:pass (zusammen nicht laenger als 128 Zeichen) ## Passwort wird unverschluesselt eingetragen ## Standard: nicht gesetzt #AuthPasswdFile="/etc/ziproxy/http.passwd" ## HTTP-Auth Datei ## z.B.: user:pass (zusammen nicht laenger als 128 Zeichen) ## Passwort wird unverschluesselt eingetragen ## Standard: nicht gesetzt PasswdFile="/etc/ziproxy/http.passwd" ## Ziproxy's SASL Konfiguration ## Standard: OS-Abhaenig # AuthSASLConfPath = "/etc/ziproxy/sasl/" ## Die gzip-Daten an einen weitern Proxy weiterreichen #NextProxy="localhost" #NextPort=8118 ## Den folgenden DNS-Server zum aufloesen von Host-Namen verwenden ## wenn nicht gesetzt werden die Eintaege in /etc/resolv.conf verwendet # Nameservers = { "127.0.0.1" } ## Ziproxy kann fuer HTTP Anfragen verschiende IP-Adressen verwenden ## z.B.: wenn man nur eine bestimmte Anzahl von Abfragen, von einer IP-Adresse zu einem Webserver stellen darf, kann dies hiermit umgangen werden ## Ziproxy verwendet die IP-Adressen dann immer im Wechsel ## Standard: nicht gesetzt # BindOutgoing = { "234.22.33.44", "4.3.2.1", "44.200.34.11" } ## eine Liste von URLs bei denen die zuvor gewaehlten IPs nicht gewechselt werden ## da einige Web-Dienst es nicht mögen, wenn man zwischwenzeitig einfach mal die IP tauscht :-) ## Standard: nicht gesetzt # BindOutgoingExList="/etc/ziproxy/bo_exception.list" ## Transparente-Proxy ## (Normale Anfragen an den Proxy-Server werden auch noch angenommen) ## (x.x.x.x:80 -> mit iptables -> ziproxy.host:PROXY_PORT ## Standard: false # TransparentProxy = true ## Normale Anfragen an den Proxy-Server zulassen oder auch nicht ## macht nur Sinn, wenn der Transparente-Proxy aktiv ist ## Standard: true # ConventionalProxy = true ## Die CONNECT-Methode zulassen oder auch nicht ## CONNECT-Methode wird von HTTPS und z.B. von "instant messenging" verwendet ## Standard: true AllowMethodCONNECT = true ## ausgehende Ports einschraenken ## Standard: alle Ports sind erlaubt # RestrictOutPortHTTP = {80, 8080} ## ausgehende Ports (MethodCONNECT) einschraenken ## Standard: alle Ports sind erlaubt # RestrictOutPortCONNECT = {443} ## Diese Option wirkt sich auf den Bezug zwischen der Unterstuetung von Ziproxy (mit Gzip) und dem Client aus ## wenn der Cleint kein gzip Unterstuetzt, kann er diesen Proxy trotzdem verdenden ## Standard: true OverrideAcceptEncoding = true ## Ein-/Ausschalten der internen gzip-Decompression mittels Ziproxy ## wenn der Angefragte HTTP-Server bereits mit gzip Daten antwortet, koennen dise noch einmal decomprimiert ## und wieder komplett Komprimiert werden (mit HTML, JS, CSS...) dies kann den Proxy jedoch zusaetzlich belasten ## ## Achtung: wenn du diese Funktion ausschaltet koennen die Client, welcher nicht mit gzip umgehen koennen, die Daten des Proxy-Servers nicht lesen ## Standard: true DecompressIncomingGzipData = true ## Ersetzt die User-Agent Daten, welche vom Client gesendet wurden ## ## Standard: nichts, heisst es wird auch nichts ersetzt # RedefineUserAgent = "Mozilla/5.0 (compatible; UltraBrowser/8.1; CP/M; console40x24; z80)" ## Normalerweisse dekomrimiert Ziproxy alles was er in die Finger bekommt und Kompriemiert diese Daten wieder ## dies kann jedoch zum Problem fuehren, wenn z.B. (gzip-bombs) 10 GB mit Nullen, komprimiert sind ## ## '0' -> diese Funktion abschalten, sollte man nicht umbedigt machen ## Standard: 2000 (2000% == 20-mal die Komprimierte Groesse) MaxUncompressedGzipRatio = 4000 ## Stellt zusaetzlich zu MaxUncompressedGzipRatio einen Minimal Wert ein ## Diese Funktion ist nur aktiv, wenn MaxUncompressedGzipRatio ist. ## Standard: 250000 (bytes) MinUncompressedGzipStreamEval = 250000 ## das selbe wie bei "MaxUncompressedGzipRatio" nur verhindert ## diese hier "image bombs" ## Standard: 500 MaxUncompressedImageRatio = 1000 ## Einen String via header weitergeben um z.B. den Prox-Server als Host zu identifizieren ## Standard: nicht gesetzt # ViaServer = "something" ## Maximale Dateigroesse um diese zu de-/komprimieren, in bytes; ## wenn eine Datei groesser ist, wird diese ohne sie zu verarbeiten weitergeschickt ## "0" -> Kein Limit ## Standard: 1048576 (bytes) [1 MB] ## Standard: 0 (ziproxy <= 2.3.0) MaxSize = 2097152 ## Timeout einer Anfrage ## Standard: 90 # ConnTimeout = 90 ## Minimale Textlaenge, welche noch komplett heruntergeladen, im /tmp Verzeichnis abgelegt und erst dann komprimiert wird ## seit ziproxy > 2.3.0 wird dies eigentlich nicht mehr benoetigt, da die Daten direkt gestremt + komprimiert werden koennen ## jedoch stimmen die Angeben im Logfile dann nicht mehr, da die Daten als ganzes vorher nicht auf den Server sind ## Standard: 20000 bytes # MinTextStream = 20000 ## Das Senden von Daten beginnt erst nachdem die Laenge ## bestimmt werden kann (UseContentLength = true). Wenn Sie ## die iFunktion ausschalten, wird ziproxy mit dem senden von Daten frueher beginnen ## Aber, da der Browser nicht weiss wie gross die Datei ist ## wierd dieser nicht in der Lage sein, zu erkennen, wann die Verbindung richtig geschlossen ist ## Standard: true UseContentLength = false ## Aktiviert das Kompirmieren von text/html/alikes mit gzip ## Standard: true Gzip = true ## content-type welche ohne weiteres per Gzip komprimiert werden ## Standard: # LosslessCompressCT = { # "text/*", # "application/asp", # "application/awk", # "application/cgi", # "application/class", # "application/css", # "application/dvi", # "application/executable", # "application/font", # "application/futuresplash", # "application/iso9660-image", # "application/java", # "application/javascript", # "application/json", # "application/msexcel", # "application/mspowerpoint", # "application/msword", # "application/pdf", # "application/perl", # "application/php", # "application/postscript", # "application/python", # "application/rtf", # "application/shellscript", # "application/shockwave", # "application/staroffice", # "application/tar", # "application/truetype-font", # "application/vnd.*", # "application/*+xml", # "application/xml", # "application/xml-dtd", # "image/svg+xml" # } ## Die foldenden eingehenden Dateien/Formate (re)komprimieren ## default: true ProcessJPG = true ProcessPNG = true ProcessGIF = true ## ****** EXPERIMENTAL ****** ProcessHTML = true ProcessCSS = true ProcessJS = false ## Fine-Tuning fuer "ProcessHTML" # ProcessHTML_CSS = true # ProcessHTML_JS = true # ProcessHTML_tags = true # ProcessHTML_text = true # ProcessHTML_PRE = true # ProcessHTML_NoComments = true # ProcessHTML_TEXTAREA = true ## Konvertiere PNG/GIF Daten zu JPEG ## ## wenn deaktiviert, wenden keine tranparenten/animieren GIFs Konvertiert ## Standard: false # AllowLookChange = false ## Bilder nur noch in Grau -> keine Farben = weniger Speicher ## Standard: false # ConvertToGrayscale = false ## If enabled, tries to resolve hostnames present in the processed HTML files ## Wenn dies aktiv ist, werden Hostnamen in HTML-Daten schon einmal im Vorfeld aufgeloest, ## so dass diese Seiten schneller aufgerufen werden koennen ## ## WARNING: Diese Funktion macht nur Sinn, wenn auf dem Server ein entsprechnder caching DNS-Server ## oder Name-Cache Server lauft (z.B.: PDNSD). # PreemptNameRes = true # PreemptNameResMax = 10 # PreemptNameResBC = true ## Bild Qualitaet von JPG (JPEG) ## 100 (sehr gut) <-> 0 (sehr schlecht) ImageQuality = {85,85,85,85} ## WARNING: buggy # ModifySuffixes = false ## Wenn aktiv, bewikt diese Funktion, dass die Error-Meldungen fuer den IE nicht komprmiert werden, ## dies ist "Workaround" welcher nur fuer den IE gilt ## ## Standard: true WA_MSIE_FriendlyErrMsgs = false ## Eine Liste von URLs welche nicht duch ziproxy bearbeitet werden sollen ## ## Standard: leer # URLNoProcessing = "/etc/ziproxy/noprocess.list" ## ersetzt Bilder von bestimmten URLs (eine pro Zeile) durch "1x1 transparent pixel GIF" ## z.B.: "http://ad.somehost.xyz/*" ## Standard: nicht gesetzt # URLReplaceData = "/etc/ziproxy/replace.list" ## das selbe wie bei "URLReplaceData" nur das man angeben kann, welche Datei-Typen geblockt werden sollen ## Standard: nicht gesetzt # URLReplaceDataCT = "/etc/ziproxy/replace_ct.list" # URLReplaceDataCTList = {"image/jpeg", "image/gif", "image/png", "application/x-shockwave-flash"} # URLReplaceDataCTListAlsoXST = true # URLs die geblock werden ## Standard: nicht gesetzt # URLDeny = "/etc/ziproxy/deny.list" ## Geaenderte HTTP Error Meldungen ## ## 400 - Bad request (malformed URL, or unknown URL type) # CustomError400="/usr/share/ziproxy/error/400.html" ## 404 - Unknown host (Ziproxy will not issue 'page not found' errors itself) # CustomError404="/usr/share/ziproxy/error/404.html" ## 408 - Request timed out # CustomError408="/usr/share/ziproxy/error/408.html" ## 500 - Internal error (or empty response from server) # CustomError500="/usr/share/ziproxy/error/500.html" ## 503 - Connection refused (or service unavailable) # CustomError503="/usr/share/ziproxy/error/503.html" ############################################################################## # JPEG 2000-specific options (require Ziproxy to be compiled with libjasper) # ############################################################################## ## Eingehende JPEG 2000 Bilder (re)komprimieren ## Standard: false # ProcessJP2 = false ## Bilder im Format JP2K (JPEG 2000) Konvertieren ## Wenn "ForceOutputNoJP2 = true", dann ist diese Funktion immer aus ## Standard: false ProcessToJP2 = true ## Konvertiert alle JP2K Bilder in JPEG Bilder ## benoetigt die Funktion "ProcessJP2 = true" ## Standard: false # ForceOutputNoJP2 = false ## Im Header folgnden Flag setzen -> "X-Ziproxy-Flags" ## diese Option ist dann sinnvoll, wenn mehrer ziproxys hintereinander geschaltet sind ## Standard: false # AnnounceJP2Capability = false ## Wenn aktiv (und JP2 Output ist aktiv) werden JP2 Bilder nur Konvertiert, wenn der Client dies unterstuetzt ## dass heisst, dass der naechste Ziproxy-Server folgende Option aktiv habe muss ## -> AnnounceJP2Capability = true ## Diese Funktion ist Sinnvoll, wenn du nciht nur einen weiteren Ziproxy-Server hast, sondern dich auch noch direkt mit einigen Client auf diesen ## Ziproxy-Server verbindest ## Standard: false # JP2OutRequiresExpCap = false ## Bild Qualitaet von JP2 (JPEG 2000) ## 100 (sehr gut) <-> 0 (sehr schlecht) JP2ImageQuality = {85,85,85,85} ## Farb-Model ## 0 - RGB ## 1 - YUV ## Standard: 1 (YUV) # JP2Colorspace = 1 ## This applies to B&W pictures compressed to JP2K. ## Defines the channel resolution for each component: ## Y (luma) and A (alpha, if present) ## in number of bit (min: 1, max: 8) ## Defines for each file size (see JP2ImageQuality). ## Smallest image is the first components in array. ## Sequence is YAYAYAYA. ## ## Default: all to eight bits # JP2BitResYA = {6,4, # 6,4, # 6,4, # 6,4} ## This applies to color pictures compressed to JP2K ## using the RGB model (see JP2Colorspace). ## Defines the channel resolution for each component: ## R (red), G (green), B (blue) and A (alpha, if present) ## in number of bit (min: 1, max: 8) ## Defines for each file size (see JP2ImageQuality). ## Smallest image is the first components in array. ## Sequence is RGBARGBARGBARGBA. ## ## Default: all to eight bits # JP2BitResRGBA = {6,7,5,4, # 6,7,5,4, # 6,7,5,4, # 6,7,5,4} ## This applies to color pictures compressed to JP2K ## using the YUV color model (see JP2Colorspace). ## Defines the channel resolution for each component: ## Y (luma), U (chroma, Cb), V (chroma, Cr), and A (alpha, if present) ## in number of bit (min: 1, max: 8) ## Defines for each file size (see JP2ImageQuality). ## Smallest image is the first components in array. ## Sequence is YUVAYUVAYUVAYUVA. ## ## Default: sensible values for best quality/compression # JP2BitResYUVA = {6,5,5,4, # 6,5,5,4, # 6,5,5,4, # 6,5,5,4} ## This applies to B&W pictures compressed to JP2K. ## Here you may define the sampling rate for each component, ## for each picture size. ## The sequence is: ## Y_xpos, Y_ypos, Y_xstep, Y_ystep, A_xpos, A_ypos, A_xstep, A_ystep, (smallest picture) ## ... ... ... (medium-sized picture) ## etc. ## Default: all x/ypos=0 x/ystep=1 (no components suffer subsampling) ## Note: certain jp2-aware software do NOT support component subsampling and will fail. #JP2CSamplingYA = {0,0,1,1, 0,0,1,1, # 0,0,1,1, 0,0,1,1, # 0,0,1,1, 0,0,1,1, # 0,0,1,1, 0,0,1,1} ## This applies to color pictures compressed to JP2K ## using the RGB model (see JP2Colorspace). ## Here you may define the sampling rate for each component, ## for each picture size. ## The sequence is: ## R_xpos, R_ypos, R_xstep, R_ystep, G_xpos, G_ypos, G_xstep, G_ystep, B... A... (smallest picture) ## ... ... ... (medium-sized picture) ## etc. ## Default: all x/ypos=0 x/ystep=1 (no components suffer subsampling) ## Note: certain jp2-aware software do NOT support component subsampling and will fail. #JP2CSamplingRGBA = {0,0,1,1, 0,0,1,1, 0,0,1,1, 0,0,1,1, # 0,0,1,1, 0,0,1,1, 0,0,1,1, 0,0,1,1, # 0,0,1,1, 0,0,1,1, 0,0,1,1, 0,0,1,1, # 0,0,1,1, 0,0,1,1, 0,0,1,1, 0,0,1,1} ## This applies to color pictures compressed to JP2K ## using the YUV color model (see JP2Colorspace). ## Here you may define the sampling rate for each component, ## for each picture size. ## The sequence is: ## Y_xpos, Y_ypos, Y_xstep, Y_ystep, U_xpos, U_ypos, U_xstep, U_ystep, V... A... (smallest picture) ## ... ... ... (medium-sized picture) ## etc. ## Default: sensible values for a good image quality. ## Note: certain jp2-aware software do NOT support component subsampling and will fail. #JP2CSamplingYUVA = {0,0,1,1, 0,0,1,1, 0,0,1,2, 0,0,1,1, # 0,0,1,1, 0,0,2,1, 0,0,1,1, 0,0,1,1, # 0,0,1,1, 0,0,2,1, 0,0,1,2, 0,0,1,1, # 0,0,1,1, 0,0,2,2, 0,0,2,2, 0,0,2,2}