zph_mode tos;
zph_local 0x04;
zph_parent 0;
zph_option 136;
#======= Custom Option 2 ===============;
acl gameport port 18901-18909 # Ayo Dance;
acl gameport port 1818 # SealOnline;
acl gameport port 39190 # tcp PointBlank;
acl gameport port 40000-40010 # udp PointBlank;
acl gameport port 7777 # Lineage2 : tcp;
acl gameport port 19101 # GhostOnline : tcp;
acl gameport port 27780 # RF-Elven : tcp;
acl gameport port 29000 # Perfect world : tcp;
acl gameport port 22100 # Rohan : tcp;
acl gameport port 5121 # Zeus RO : tcp;
acl gameport port 6000-6152 # Dotta : tcp;
acl gameport port 2001 # IdolStreet : tcp;
acl gameport port 9601-9602 # CrazyKart :;
acl gameport port 8085 # WOW AMPM : tcp;
acl gameport port 11011-11041 # DriftCity : tcp;
acl gameport port 13413 # GetAmped : tcp;
acl gameport port 19000 # Yullgang : tcp;
acl gameport port 5105 # RAN Online : tcp;
acl gameport port 10009 # CrossFire : tcp;
acl gameport port 12060-12070 # CrossFire : udp;
acl gameport port 5340-5352 # WarRock : tcp;
acl gameport port 6000-6001 # FastBlack : tcp;
acl gameport port 29200 # Rose Online : tcp;
acl gameport port 10402 # Return Of Warrior : tcp;
acl gameport port 9600 # CrazyKart 2 : tcp;
acl gameport port 15002 # Luna Online : tcp;
acl gameport port 16402-16502 # Runes Of Magic : tcp;
acl gameport port 5126 # FreshRO : tcp;
acl gameport port 3010 # Tantra Online : tcp;
acl gameport port 11031 # Heroes Of Newearth Incatamers : tcp;
acl gameport port 11440-11460 # Heroes Of Newearth Incatamers : udp;
acl gameport port 11100-11125 # Heroes Of Newearth Incatamers : udp;
acl gameport port 4300 # Atlantica : tcp;
acl gameport port 12011 # ECO Online : tcp Port;
acl gameport port 12110 # ECO Online : tcp Port;
acl gameport port 15001 # Cabal Indo : tcp Port;
acl gameport port 15002 # Cabal Indo : tcp Port;
acl gameport port 7341 # X-SHOT : tcp;
acl gameport port 7451 # X-SHOT : tcp;
acl gameport port 7808 # X-SHOT : udp;
acl gameport port 30000 # X-SHOT : udp;
acl gameport port 42051-42052 # 3 Kindom : udp;
acl gameport port 9376-9377 # Avalaon : tcp;
acl gameport port 10001-10011 # Free Style :tcp;
acl gameport port 40000 # Free Style :tcp;
acl gameport port 40040-40500 # Free Style :udp;
acl gameport port 1293 # Free Style :udp;
acl gameport port 1479 # Free Style :udp;
acl gameport port 9300 # Grand Chase :tcp;
acl gameport port 9400 # Grand Chase :tcp;
acl gameport port 9700 # Grand Chase :tcp;
acl gameport port 9401 # Grand Chase :udp;
acl gameport port 9600 # Grand Chase :udp;
acl gameport port 14009-14012 # Lost Saga :tcp:udp;
acl gameport port 8001 # CS Online Indonesia :tcp;
acl gameport port 9015 # CS Online Indonesia :tcp;
acl gameport port 40300-40404 # CS Online Indonesia :tcp;
acl gameport port 36567 # CS Online Indonesia :tcp;
acl gameport port 27017 # CS Online Indonesia :udp;
always_direct allow gameport;
#never_direct allow all;
acl HTML url_regex .png$;
no_cache deny HTML;
acl XYZZY url_regex ^http://www1.dewapoker.com/captcha/captcha-login.php?.png$;
acl XYZZY url_regex ^http://www2.dewapoker.com/captcha/captcha-login.php?.png$;
acl XYZZY url_regex ^http://www3.dewapoker.com/captcha/captcha-login.php?.png$;
acl XYZZY url_regex ^http://www4.dewapoker.com/captcha/captcha-login.php?.png$;
acl XYZZY url_regex ^http://www5.dewapoker.com/captcha/captcha-login.php?.png$;
no_cache deny XYZZY;
acl market url_regex ^http://[^/]*\.android\.clients\.google\.com
cache allow market
acl ini urlpath_regex -i .*\.ini$;
acl ui urlpath_regex -i .*\.ui$;
acl lst urlpath_regex -i .*\.lst$;
acl list urlpath_regex -i .*\.list$;
acl inf urlpath_regex -i .*\.inf$;
acl dll urlpath_regex -i .*\.dll$;
acl AA url_regex ^http://122.102.49.132/audition/Update.ini$;;
acl AB url_regex ^http://patch.crossfire.web.id/download/version.ini$;;
acl AC url_regex ^http://patch.sealindo.com/patch/normal/version.ini$;;
acl AD url_regex ^http://file.pb.gemscool.com/hackshield/PatchSet/afs.dat;
acl AE url_regex ^http://file.pb.gemscool.com/hackshield/PatchSet/noupdate.ui;
acl AF url_regex ^http://file.pb.gemscool.com/hackshield/PatchSet/ahn.ui;
acl AG url_regex ^http://file.pb.gemscool.com/hackshield/PatchSet/patch/39/ahn.ui;
acl AH url_regex ^http://file.pb.gemscool.com/hackshield/PatchSet/ahni2.dll;
acl AI url_regex ^http://file.pb.gemscool.com/hackshield/PatchSet/x86/ahn.ui;
acl AJ url_regex ^http://file.pb.gemscool.com/hackshield/PatchSet/x86/patch/39/ahn.ui;
acl AK url_regex ^http://file.pb.gemscool.com/hackshield/PatchSet/x86/patch.conf;
acl AL url_regex ^http://file.pb.gemscool.com/hackshield/PatchSet/x86/afs.dat;
always_direct allow ini;
always_direct allow ui;
always_direct allow lst;
always_direct allow list;
always_direct allow inf;
always_direct allow dll;
always_direct allow AA;
always_direct allow AB;
always_direct allow AC;
always_direct allow AD;
always_direct allow AE;
always_direct allow AF;
always_direct allow AG;
always_direct allow AH;
always_direct allow AI;
always_direct allow AJ;
always_direct allow AK;
always_direct allow AL;
no_cache deny ini;
no_cache deny ui;
no_cache deny lst;
no_cache deny list;
no_cache deny inf;
no_cache deny dll;
no_cache deny AA;
no_cache deny AB;
no_cache deny AC;
no_cache deny AD;
no_cache deny AE;
no_cache deny AF;
no_cache deny AG;
no_cache deny AH;
no_cache deny AI;
no_cache deny AJ;
no_cache deny AK;
no_cache deny AL;
#======== End Custom Option 2 ========;
# Custom Option Header Access #;
request_header_access Allow allow all;
request_header_access Authorization allow all;
request_header_access WWW-Authenticate allow all;
request_header_access Proxy-Authorization allow all;
request_header_access Proxy-Authenticate allow all;
request_header_access Cache-Control allow all;
request_header_access Content-Encoding allow all;
request_header_access Content-Length allow all;
request_header_access Content-Type allow all;
request_header_access Date allow all;
request_header_access Expires allow all;
request_header_access Host allow all;
request_header_access If-Modified-Since allow all;
request_header_access Last-Modified allow all;
request_header_access Location allow all;
request_header_access Pragma allow all;
request_header_access Accept allow all;
request_header_access Accept-Charset allow all;
request_header_access Accept-Encoding allow all;
request_header_access Accept-Language allow all;
request_header_access Content-Language allow all;
request_header_access Mime-Version allow all;
request_header_access Retry-After allow all;
request_header_access Title allow all;
request_header_access Connection allow all;
request_header_access Proxy-Connection allow all;
# End Custom Option Header Access #;
Memberi batasan siapa saja yang boleh mempergunakan delay pools ini.
Penting untuk diingat sebaiknya setelah menetukan batasan jangan lupa di akhiri dengan deny all.
misal:
delay_access 1 allow manajer delay_access 1 deny all delay_access 2 allow sales delay_access 2 deny all
Ini adalah bagian terpenting dari delay pools memberikan aturan main setiap delay pools yang dibentuk.
delay parameter mempunyai format yang disesuaikan dengan tipe/class yang dipakai.
Tapi disetiap tipe yang dipakai ada 1 format baku yaitu restore/max.restore menunjukkan maksimum kecepatan data yang dapat dilewatkan bila harga max sudah terlampaui, dalam satuan bytes/second max menunjukkan besar-nya file atau bucket yang dapat dilewatkan tanpa melalui proses delay. dalam satuan bytes.
Yang perlu diperhatikan dari satuan diatas adalah harga restore dimana kita sering menerima/menyewa/membeli bandwidth dari provider dalam satuan bits/second bukan bytes/second. Sedangkan satuan kecepatan yang ditunjukkan oleh Microsoft pada saat mendonlot file adalah bytes/sec.
Sedangkan satuan dari harga max sudah sesuai dengan kebiasaan sehari-hari, dimana kita memberi besaran bytes pada file-file.
1 byte = 8 bit.
SpesialCase: -1/-1 berarti unlimited atau tidak dibatasi pada nilai restore/max
ex: 1000/64000 harga restore sama dengan 8000 bits/sec atau 8 kbits/sec.Yang artinya user akan mendapat donlot brustable selama file yang akan dibuka lebih kecil dari 64 kbytes, jadi kecepatan bisa diatas 8 kbit/sec.
Bila ternyata file yang dibuka melebihi 64 bytes, maka proses limitasi akan segera dimulai dengan membatasi kecepatan maksimal 8 kbits/s.
- class 1
delay_parameters <#pool individual>
ex: delay_parameters 1 1000/64000 Berarti semua network akan mendapat bandwidth yang sama di pool no 1. Sebesar 1 kbytes/sec (8 kbits/sec), dengan burstable file 64 kb.- class 2
delay_parameters <#pool agregate individual>
ex: delay_parameters 1 32000/32000 1000/64000 Berarti squid akan memakai bandwidth maksimum (32000*8) 256kbits dari semua bandwidth. Bila terdapat lebih dari 1 network class C, maka total yang dihabiskan tetap 256 kbit/sec dan tiap user akan mendapat bandwidth maksimum 1 kbytes/sec (8 kbits/sec), dengan burstable file 64 kb.- class 3
delay_parameters <#pool agregate network individual>
ex: delay_parameters 1 32000/32000 8000/8000 1000/64000 Berarti squid akan memakai bandwidth maksimum (32000*8) 256kbits dari semua bandwidth. Bila terdapat lebih dari 1 network class C, maka setiap network akan dipaksa maksimum sebesar (8000*8) 64 kbits/sec dan tiap user pada satu network akan mendapat bandwidth maksimum 1 kbytes/sec (8 kbits/sec), dengan burstable file 64 kb.
Contoh 1
dalam 1 network dengan penggunaan bandwidth total tidak dibatasi terdapat beberapa komputer dengan klasifikasi sebagai berikut- admin, server dengan bandwidth unlimited
- staff dengan bandwidth 1,5 kbytes/sec, bila file yang diakses melebihi 64Kbte
- umum dengan bandwidth 1 kbytes/sec, bila file yang diakses melebihi 32 Kbyte
acl all src 0.0.0.0/0.0.0.0 acl admin src 192.168.1.250/255.255.255.255 acl server src 192.168.1.251/255.255.255.255 acl umum src 192.168.1.0/255.255.255.0 acl staff src 192.168.1.1 192.168.1.111 192.168.1.2 192.168.1.4 192.168.1.71 delay_pools 3 delay_class 1 1 delay_parameters 1 -1/-1 delay_access 1 allow admin delay_access 1 allow server delay_access 1 deny all delay_class 2 1 delay_parameters 2 1500/64000 delay_access 2 allow staf delay_access 2 deny all delay_class 3 1 delay_parameters 3 1000/32000 delay_access 3 allow umum delay_access 3 deny allCara mencobanya paling mudah adalah dengan menggunakan donlot manajer semacam DAP, GetRight maka akan terlihat bandwidth sudah dibatasi.
Contoh 2
Delay pools juga dapat digunakan untuk membatasi donlot file untuk extensi tertentu.Gunakan ACL url_regex untuk mengatasi hal ini.
Contoh dibawah digunakan untuk membatasi donlot file multimedia hingga 1 kByte/sec.
acl multimedia url_regex -i \.mp3$ \.rm$ \.mpg$ \.mpeg$ \.avi$ \.dat$ delay_pools 1 delay_class 1 1 delay_parameters 1 1000/16000 delay_access 1 allow multimedia delay_access 1 deny ALL
Contoh 3 dari forum.linux.or.id
bagaimana caranya membuat delay pools untuk membatasi download di siang hari untuk 15 klient sedangkan malam harinya lost asumsi jamnya ( 10:00 – 21:00)acl LTIME time SMTWHFA 10:00-21:00 acl download url_regex -i ftp \.exe$ \.mp3$ \.mp4$ \.tar.gz$ \.gz$ \.tar.bz2$ \.rpm$ \.zip$ \.rar$ acl download url_regex -i \.avi$ \.mpg$ \.mpeg$ \.rm$ \.iso$ \.wav$ \.mov$ \.dat$ \.mpe$ \.mid$ acl download url_regex -i \.midi$ \.rmi$ \.wma$ \.wmv$ \.ogg$ \.ogm$ \.m1v$ \.mp2$ \.mpa$ \.wax$ acl download url_regex -i \.m3u$ \.asx$ \.wpl$ \.wmx$ \.dvr-ms$ \.snd$ \.au$ \.aif$ \.asf$ \.m2v$ acl download url_regex -i \.m2p$ \.ts$ \.tp$ \.trp$ \.div$ \.divx$ \.mod$ \.vob$ \.aob$ \.dts$ acl download url_regex -i \.ac3$ \.cda$ \.vro$ \.deb$ delay_pools 1 delay_class 1 1 delay_parameters 1 3000/3000 delay_access 1 allow download TIME delay_access 1 deny all
Contoh 4
Bagaimana caranya membuat delay pools untuk membatasi download di siang hari dengan speed … dan malam hari dengan speed …, abis si bozz malem-nya mau pakai buat dolot.Jadi pengennya pas malam bw buat user makin kecil, bukan malah di loss
acl JAM_KANTOR time SMTWHFA 07:00-18:00 delay_pools 2 delay_class 1 2 delay_parameters 1 24000/32000 -1/-1 delay_access 1 allow riset JAM_KANTOR delay_access 1 deny all delay_class 1 2 delay_parameters 2 8000/8000 -1/-1 delay_access 2 allow riset !JAM_KANTOR delay_access 2 deny all
Contoh 5
wangsit yang semedi dengan pecelpenyu.Saya ada bandwidth besar, 1mbps.
Ingin membatasi yang donlot file besar di atas 5mbyte, di beri speed 32kbps.
Misal bila ada 3 user yang donlot, tiap-tiap user akan mendapat bw maximal 32kbps.
acl user src 192.168.1.0/24 delay_pools 1 delay_class 1 2 delay_parameters 1 40000/10000000 4000/5000000 delay_access 1 allow user download delay_access 1 deny ALL
Contoh 6 limit youtube
untuk memaksa caching terhadap youtube ( sesuai wiki.squid-cache.org )acl youtube dstdomain -i .youtube.com acl striming url_regex -i get_video\?video_id videodownload\? cache allow youtube cache allow strimingdan harap di ingat untuk posisi tsb di atas sebaiknya diletakkan sebelum hierarchy_stoplist
kemudian bisa di gabung ke delay_pool juga
delay_class 2 3 delay_access 2 allow warnet striming delay_access 2 deny all delay_parameters 2 -1/-1 -1/-1 3000/200000hasilnya :
Connection: 0x7f1da510 FD 149, read 555, wrote 6508975 FD desc: http://ash-v97.ash.youtube.com/get_video?video_id=YXF72VCyt5M in: buf 0x7fe65000, offset 0, size 4096 peer: 192.168.0.111:3317 me: 127.0.0.1:3127 nrequests: 1 defer: n 0, until 0 uri http://ash-v97.ash.youtube.com/get_video?video_id=YXF72VCyt5M log_type TCP_MISS out.offset 6508872, out.size 6508975 req_sz 555 entry 0x7d24e240/599CDB16D8D8DCB1395E960CD807BD8B old_entry 0x0/N/A start 1193286572.113589 (2131.525289 seconds ago) username - delay_pool 2 <= terkena delayuntuk delay_pool saya tidak menggunakan domain youtube.com, karena ternyata untuk url streaming nya sebagian hanya menggunakan ip address biasa, sehingga menggunakan regex spt di atas saya rasa lebih efektif.
silakan di eksperimen sendiri untuk regex nya, bisa dg menganalisa access.log atau kalau yg gampang menggunakan sqstat spt yg pernah di post di thread sebelah.