Kamis, 25 Juli 2013

Mengembalikan Firmware EnGenius (Senao) EOC-1650/EOC-2610/EOC-3500/EAP-3660/EOC-5610 ke Firmware Pabrikan

Dokumentasi resmi untuk flashing firmware EnGenius tersebut dapat dilihat di website resmi EnGenius (http://engeniustech.com/resources/Firmware%20Update%20by%20Telnet%20v1.2.pdf, mirror:http://www.keenansystems.com/Firmware_Update_by_Telnet_v11.2.pdf).
Berikut pengalaman saya mengembalikan Firmware EOC-2610, setelah sebelumnya saya mencoba OpenWRT. Jika anda mempunyai sebuah EOC-2610 dan mengalami masalah, seperti yang saya alami dulu, tidak bisa login ke Web Interface, mungkin dengan flashing firmware ini masalah tersebut dapat diatasi.
Langkah-langkah:
  1. Download utility RedBoot (http://download.musabaqah.com/apps/misc/RedBoot.zip), kemudian ekstrak ke sebuah folder. Di dalam arsip tersebut terdapat sebuah batch fileredboot.cmd yang nantinya akan digunakan untuk menghubungkan komputer ke device yang akan diflash.
  2. Dowload firmware resmi EOC-2610 dari http://engeniustech.com/resources/EOC-2610%20tftp.zip, mirror: http://tellatech.net/downloads/EOC-2610%20tftp.zip. Di dalamnya terdapat firmware, dan software TFTPD32. Ekstrak ke suatu tempat dan install software TFTPD32 Server.
  3. Setting IP komputer pada subnet 192.168.1.x, semisal 192.168.1.20 dengan netmask255.255.255.0.
  4. Jalankan TFTPD32 Server, dan ubah lokasi Current Directory dengan menggunakan tombol Browse. Lokasi tersebut adalah lokasi di mana terdapat firmware yang akan di upload ke device yaitu file-file cfg.jffs2jffs2.eoc-2610.bin, dan vmlinux.ap51.bin.l7(dari langkah 2).
  5. Matikan device, kemudian jalankan file redboot.cmd (dari langkah 1), kemudian jendela Command Prompt akan ditampilkan dan terlihat perintah-perintah yang berulang-ulang.
  6. Nyalakan device, sehingga jendela Putty akan ditampilkan dan prompt RedBoot>siap menerima perintah anda.
    == Executing boot script in 0.510 seconds - enter ^C to abort
    ^C
    RedBoot>
  7. Ketik perintah-perintah ini (yang berhuruf tebal saja):
    RedBoot> ip_address -l 192.168.1.1/24 -h 192.168.1.20
    IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0
    Default server: 192.168.1.20
    RedBoot> load -r -b %{FREEMEMLO} jffs2.eoc-2610.bin
    Using default protocol (TFTP)
    Raw file loaded 0x80041000-0x80430fff, assumed entry at 0x80041000
    RedBoot> fis init -f
    About to initialize [format] FLASH image system - continue (y/n)? y
    *** Initialize FLASH Image System
    ... Erase from 0xa8030000-0xa87e0000: ...........................................................................................................................
    ... Erase from 0xa87e0000-0xa87f0000: .
    ... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
    RedBoot> fis create256 -f 0xa8030000 -l 0x3f0000 -e 0 rootfs
    ... Erase from 0xa8030000-0xa8420000: ...............................................................
    ... Program from 0x80041000-0x80431000 at 0xa8030000: ...............................................................
    ... Erase from 0xa87e0000-0xa87f0000: .
    ... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
    RedBoot> load -r -b %{FREEMEMLO} vmlinux.ap51.bin.l7
    Using default protocol (TFTP)
    Raw file loaded 0x80041000-0x800e0fff, assumed entry at 0x80041000
    RedBoot> fis create256 -l 0xa0000 -f 0xa8420000 -e 0x80041798 -r 0x80041000 vmlinux.bin.l7
    ... Erase from 0xa8420000-0xa84c0000: ..........
    ... Program from 0x80041000-0x800e1000 at 0xa8420000: ..........
    ... Erase from 0xa87e0000-0xa87f0000: .
    ... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
    RedBoot> load -r -b %{FREEMEMLO} cfg.jffs2
    Using default protocol (TFTP)
    Raw file loaded 0x80041000-0x80041000, assumed entry at 0x80041000
    RedBoot> fis create256 -l 0x10000 -f 0xa84c0000 -e 0 cfg
    ... Erase from 0xa84c0000-0xa84d0000: .
    ... Program from 0x80041000-0x80041001 at 0xa84c0000: .
    ... Erase from 0xa87e0000-0xa87f0000: .
    ... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
    RedBoot> reset
  8. Masuk ke web interface, gunakan user dan password default (user: admin, password: admin) dan bila perlu update firmware dengan yang terbaru melalui web interface tersebut.
Untuk flashing device selain EOC-2610, langkah-langkah yang digunakan hampir sama, hanya file-file firmware yang dibutuhkan saja yang berbeda. Untuk detil-detil langkahnya, silahkan mereferensi dokumentasi resmi di atas.
EDIT 31 MEI 2011:
EOC-1650: Flash dengan firmware EOC-2610, setelah berhasil update dengan firmware asli EOC-1650 via web interface.
EOC-2611P bisa juga menggunakan trik EOC-1650.
 EDIT 20 Pebruari 2012: 
Firmware engenius dapat di-donwload di http://engenius.us/.

Jumat, 19 Juli 2013

[tutor] Implementasi MikroTik QoS - Traffic Shaper

/ip firewal mangle
add action=jump chain=forward comment="SERVICE CLASSIFIER" jump-target=services-classifier protocol=tcp
add action=jump chain=forward jump-target=services-classifier protocol=udp
add action=jump chain=forward jump-target=services-classifier protocol=!ospf
add action=mark-connection chain=services-classifier comment=ICMP new-connection-mark=cm_icmp protocol=icmp
add action=mark-packet chain=services-classifier connection-mark=cm_icmp new-packet-mark=pm_icmp passthrough=no
add action=mark-packet chain=services-classifier comment=TS2 dst-port=8770 new-packet-mark=pm_game passthrough=no protocol=udp
add action=mark-packet chain=services-classifier dst-port=40002,40040-40500,1293,1479 new-packet-mark=pm_game passthrough=no protocol=udp
add action=mark-packet chain=services-classifier comment=#GEMSCOOL dst-port=39100,39110,39220,39190,49100,19101,19000,4300,15152 new-packet-mark=pm_game \
    passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier dst-port=40000-40010 new-packet-mark=pm_game passthrough=no protocol=udp
add action=mark-packet chain=services-classifier comment=#Poker dst-port=843,9339 new-packet-mark=pm_game passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier comment=#MEGAXUS dst-port=5340-5352,18901-18909,7777 new-packet-mark=pm_game passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier comment=#LYTO dst-port=1818,2001,9600-9602,13413,10009,29000,15000-15002,22100 new-packet-mark=pm_game \
    passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier dst-port=12010-13080 new-packet-mark=pm_game passthrough=no protocol=udp
add action=mark-packet chain=services-classifier comment=#RF-ALL dst-port=27780 new-packet-mark=pm_game passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier comment="#Grand Chase" dst-port=9300,9400,9700 new-packet-mark=pm_game passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier dst-port=9401,9600 new-packet-mark=pm_game passthrough=no protocol=udp
add action=mark-packet chain=services-classifier comment="#Just RF" dst-port=27781 new-packet-mark=pm_game passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier comment="#Zeus RO" dst-port=5121 new-packet-mark=pm_game passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier comment="# AVA" dst-address=206.82.213.0/24 dst-port=28004,10205 new-packet-mark=pm_game passthrough=no protocol=\
    tcp
add action=mark-packet chain=services-classifier comment="#WOW AMPM" dst-port=8085 new-packet-mark=pm_game passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier comment="#Drift City" dst-port=11011-11041 new-packet-mark=pm_game passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier comment=#DRAGONICA dst-port=12009,14004 new-packet-mark=pm_game passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier comment=#FIFA dst-address=202.158.252.131-202.158.252.133 dst-port=6215,6217,6316 new-packet-mark=pm_game \
    passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier dst-port=40021,44765,52903,52904,61097,61098,61101,61104 new-packet-mark=pm_game passthrough=no protocol=udp
add action=mark-packet chain=services-classifier comment=#Dota dst-port=6000-6300 new-packet-mark=pm_game passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier comment=#Dota dst-port=4029 new-packet-mark=pm_game passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier comment=#Cabal dst-port=63124 new-packet-mark=pm_game passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier comment="#Fast black" dst-port=6000-6001 new-packet-mark=pm_game passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier comment="#ROSE ONLINE" dst-port=29200 new-packet-mark=pm_game passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier comment=#ROM dst-port=16402-16502 new-packet-mark=pm_game passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier comment=#MOPS disabled=yes dst-address=103.14.108.0/24 dst-port=600-699,3000,2110 new-packet-mark=pm_game \
    passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier comment=#MOPS disabled=yes dst-address=103.14.108.0/24 dst-port=600-699,3000,2110 new-packet-mark=pm_game \
    passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier comment=#ROW dst-port=10402 new-packet-mark=pm_game passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier comment=#HON dst-port=11031 new-packet-mark=pm_game passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier dst-port=11100-11125,11440-11460 new-packet-mark=pm_game passthrough=no protocol=udp
add action=mark-packet chain=services-classifier comment=#X-Shot dst-port=7341-7350,7451 new-packet-mark=pm_game passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier dst-port=7777-7977,30000 new-packet-mark=pm_game passthrough=no protocol=udp
add action=mark-packet chain=services-classifier dst-address=74.209.240.154 dst-port=28700-28899 new-packet-mark=pm_game passthrough=no protocol=udp
add action=mark-packet chain=services-classifier comment=3Kingdoms dst-port=42051-42060 new-packet-mark=pm_game passthrough=no protocol=udp
add action=mark-packet chain=services-classifier comment=#Tantra dst-port=3001 new-packet-mark=pm_game passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier comment=COD4 dst-port=28960 new-packet-mark=pm_game passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier comment=NFS dst-port=5222,5223,12683 new-packet-mark=pm_game passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier dst-port=31928,5222,5223 new-packet-mark=pm_game passthrough=no protocol=udp
add action=mark-packet chain=services-classifier comment=Gokong dst-port=40002,49100 new-packet-mark=pm_game passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier comment="Lost Saga" dst-port=14009-14010 new-packet-mark=pm_game passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier dst-port=14009-14010 new-packet-mark=pm_game passthrough=no protocol=udp
add action=mark-packet chain=services-classifier comment=FreeStyle dst-port=10001-10011,40000 new-packet-mark=pm_game passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier comment=CS dst-port=27017 new-packet-mark=pm_game passthrough=no protocol=udp
add action=mark-packet chain=services-classifier comment=Ayopay dst-address=202.146.224.115 new-packet-mark=pm_game passthrough=no protocol=tcp
add action=mark-connection chain=services-classifier comment=DNS dst-port=53 new-connection-mark=cm_dns protocol=tcp
add action=mark-connection chain=services-classifier new-connection-mark=cm_dns protocol=tcp src-port=53
add action=mark-packet chain=services-classifier connection-mark=cm_dns new-packet-mark=pm_dns passthrough=no
add action=mark-connection chain=services-classifier comment=PROXMOX dst-port=8006 new-connection-mark=cm_proxmox protocol=tcp
add action=mark-connection chain=services-classifier new-connection-mark=cm_proxmox protocol=tcp src-port=8006
add action=mark-packet chain=services-classifier connection-mark=cm_proxmox new-packet-mark=pm_proxmox passthrough=no
add action=mark-connection chain=services-classifier comment=FTP dst-port=21 new-connection-mark=cm_ftp protocol=tcp
add action=mark-packet chain=services-classifier connection-mark=cm_ftp new-packet-mark=pm_ftp passthrough=no
add action=mark-connection chain=services-classifier comment=SSH dst-port=22 new-connection-mark=cm_ssh protocol=tcp
add action=mark-connection chain=services-classifier new-connection-mark=cm_ssh protocol=tcp src-port=22
add action=mark-packet chain=services-classifier connection-mark=cm_ssh new-packet-mark=pm_ssh passthrough=no
add action=mark-connection chain=services-classifier comment="THE DUDE" dst-port=2210,2211 new-connection-mark=cm_dude protocol=tcp
add action=mark-connection chain=services-classifier new-connection-mark=cm_dude protocol=tcp src-port=2210,2211
add action=mark-packet chain=services-classifier connection-mark=cm_dude new-packet-mark=pm_dude passthrough=no
add action=mark-connection chain=services-classifier comment=HTTP dst-port=80,3128,8080 new-connection-mark=cm_http protocol=tcp
add action=mark-connection chain=services-classifier new-connection-mark=cm_http protocol=tcp src-port=80,3128,8080
add action=mark-packet chain=services-classifier comment="HTTP PRIO #3" connection-bytes=0-128000 connection-mark=cm_http new-packet-mark=pm_http_prio3 \
    passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier comment="HTTP PRIO #5" connection-bytes=128001-4096000 connection-mark=cm_http new-packet-mark=pm_http_prio5 \
    passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier comment="HTTP PRIO #6" connection-bytes=4096001-20480000 connection-mark=cm_http new-packet-mark=pm_http_prio6 \
    passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier comment="HTTP PRIO #7" connection-bytes=20480001-51200000 connection-mark=cm_http new-packet-mark=pm_http_prio7 \
    passthrough=no protocol=tcp
add action=mark-packet chain=services-classifier comment="HTTP PRIO #8" connection-bytes=51200001-0 connection-mark=cm_http new-packet-mark=pm_http_prio8 \
    passthrough=no protocol=tcp
add action=mark-connection chain=services-classifier comment=HTTPS dst-port=443 new-connection-mark=cm_https protocol=tcp
add action=mark-connection chain=services-classifier new-connection-mark=cm_https protocol=tcp src-port=443
add action=mark-packet chain=services-classifier connection-mark=cm_https new-packet-mark=pm_https passthrough=no
add action=mark-connection chain=services-classifier comment=EMAIL dst-port=25,110,143,465,585,993,995 new-connection-mark=cm_email protocol=tcp
add action=mark-connection chain=services-classifier new-connection-mark=cm_email protocol=tcp src-port=25,110,143,465,585,993,995
add action=mark-packet chain=services-classifier connection-mark=cm_email new-packet-mark=pm_email passthrough=no
add action=mark-connection chain=services-classifier comment=WINBOX dst-port=8291 new-connection-mark=cm_winbox protocol=tcp
add action=mark-connection chain=services-classifier new-connection-mark=cm_winbox protocol=tcp src-port=8291
add action=mark-packet chain=services-classifier connection-mark=cm_winbox new-packet-mark=pm_winbox passthrough=no
add action=mark-connection chain=services-classifier comment=VNC dst-port=5900-5950 new-connection-mark=cm_vnc protocol=tcp
add action=mark-connection chain=services-classifier new-connection-mark=cm_vnc protocol=tcp src-port=5900-5950
add action=mark-packet chain=services-classifier connection-mark=cm_vnc new-packet-mark=pm_vnc passthrough=no
add action=mark-connection chain=services-classifier comment="P2P TORRENT" new-connection-mark=cm_p2p p2p=all-p2p
add action=mark-packet chain=services-classifier connection-mark=cm_p2p new-packet-mark=pm_p2p passthrough=no
add action=mark-connection chain=services-classifier comment="OTHER TCP" new-connection-mark=cm_other-tcp protocol=tcp
add action=mark-packet chain=services-classifier connection-mark=cm_other-tcp new-packet-mark=pm_other-tcp passthrough=no
add action=mark-connection chain=services-classifier comment=DNS dst-port=53 new-connection-mark=cm_dns protocol=udp
add action=mark-connection chain=services-classifier new-connection-mark=cm_dns protocol=udp src-port=53
add action=mark-packet chain=services-classifier connection-mark=cm_dns new-packet-mark=pm_dns passthrough=no
add action=mark-connection chain=services-classifier comment=NTP dst-port=123 new-connection-mark=cm_ntp protocol=udp
add action=mark-packet chain=services-classifier connection-mark=cm_ntp new-packet-mark=pm_ntp passthrough=no
add action=mark-connection chain=services-classifier comment=SKYPE dst-port=1024-65535 new-connection-mark=cm_skype protocol=udp src-port=36725
add action=mark-packet chain=services-classifier connection-mark=cm_skype new-packet-mark=pm_skype passthrough=no
add action=mark-connection chain=services-classifier comment=SNMP dst-port=161,162 new-connection-mark=cm_snmp protocol=udp
add action=mark-connection chain=services-classifier new-connection-mark=cm_snmp protocol=udp src-port=161,162
add action=mark-packet chain=services-classifier connection-mark=cm_snmp new-packet-mark=pm_snmp passthrough=no
add action=mark-connection chain=services-classifier comment="OTHER UDP" new-connection-mark=cm_other-udp protocol=udp
add action=mark-packet chain=services-classifier comment=0-63 connection-mark=cm_other-udp new-packet-mark=pm_udp0 packet-size=0-63 passthrough=no
add action=mark-packet chain=services-classifier comment=64-127 connection-mark=cm_other-udp new-packet-mark=pm_udp64 packet-size=64-127 passthrough=no
add action=mark-packet chain=services-classifier comment=128-511 connection-mark=cm_other-udp new-packet-mark=pm_udp128 packet-size=128-511 passthrough=no
add action=mark-packet chain=services-classifier comment="OTHER UDP" connection-mark=cm_other-udp new-packet-mark=pm_other-udp passthrough=no
add action=return chain=services-classifier
/queue tree
add max-limit=16M name=INTERNET parent=global-out priority=3
add limit-at=3M max-limit=10M name=PRIO#1 parent=INTERNET priority=1
add limit-at=1M max-limit=4M name=PRIO#2 parent=INTERNET priority=2
add limit-at=4M max-limit=16M name=PRIO#3 parent=INTERNET priority=3
add limit-at=2M max-limit=14M name=PRIO#4 parent=INTERNET priority=4
add limit-at=2M max-limit=14M name=PRIO#5 parent=INTERNET priority=5
add limit-at=2M max-limit=13M name=PRIO#6 parent=INTERNET priority=6
add limit-at=1M max-limit=12M name=PRIO#7 parent=INTERNET priority=7
add limit-at=1M max-limit=10M name=PRIO#8 parent=INTERNET
add name=icmp packet-mark=pm_icmp parent=PRIO#1 priority=1
add name=dns packet-mark=pm_dns parent=PRIO#2 priority=2
add name=ssh packet-mark=pm_ssh parent=PRIO#1 priority=1
add name=vnc packet-mark=pm_vnc parent=PRIO#2 priority=2
add name=winbox packet-mark=pm_winbox parent=PRIO#2 priority=2
add name=ntp packet-mark=pm_ntp parent=PRIO#2 priority=2
add name=skype packet-mark=pm_skype parent=PRIO#2 priority=2
add name=email packet-mark=pm_email parent=PRIO#3 priority=3
add name=https packet-mark=pm_https parent=PRIO#4 priority=4
add name=http_small packet-mark=pm_http_prio3 parent=PRIO#3 priority=3
add name=ftp packet-mark=pm_ftp parent=PRIO#4 priority=4
add name=http_medium packet-mark=pm_http_prio5 parent=PRIO#5 priority=5
add name=other-tcp packet-mark=pm_other-tcp parent=PRIO#8
add name=other-udp packet-mark=pm_other-udp parent=PRIO#8
add name=http_large packet-mark=pm_http_prio6 parent=PRIO#6 priority=6
add name=pve-mgmnt packet-mark=pm_proxmox parent=PRIO#2 priority=2
add name=snmp packet-mark=pm_snmp parent=PRIO#2 priority=2
add name=thedude packet-mark=pm_dude parent=PRIO#2 priority=2
add name=http_infinite packet-mark=pm_http_prio8 parent=PRIO#8
add name=p2p-torrent packet-mark=pm_p2p parent=PRIO#8
add name=game packet-mark=pm_game parent=PRIO#1 priority=1
add name=udp0 packet-mark=pm_udp0 parent=PRIO#1 priority=1
add name=udp64 packet-mark=pm_udp64 parent=PRIO#2 priority=2
add name=udp128 packet-mark=pm_udp128 parent=PRIO#4 priority=4
add name=http_heavy packet-mark=pm_http_prio7 parent=PRIO#7 priority=7

http://s16.postimg.org/cp2xmpwat/qos_queue_tree.jpg

Untuk penerapan pada pppoe dial up perlu dibuatkan mangle tcpmss manual di letakan sebeluj rules jump.



original post by Faisal Reza


Rabu, 17 Juli 2013

[Share] Queue Tree on Hotspot tanpa Proxy Asiknya Rame Rame

[Share] Queue Tree on Hotspot tanpa Proxy Asiknya Rame Rame

Karena newbie liat di sini belum ada yg memaparkan tentang settingan queue tree di hotspot, newbie mau ikutan nyumbang settingan sederhana queue tree untuk hotspot yang dipakai di tempat publik alias free (contoh nya kafe, mall, dll). Mohon maaf kalo masih banyak kekurangannya

Anggap saja router mikrotik sudah terhubung ke internet dan sudah bisa sharing internet ke jaringan dibawahnya ya

Contoh :
ether1 = internet gateway (WAN)
ether2 = 192.168.10.1/24 (Hotspot) ==> dibuat dhcp

Kemudian setting hotspot (ga perlu dijelasin ya soalnya udah banyak tutorial nya kalo setting hotspot) . Setelah hotspot selesai disetting sekarang kita buat mangle untuk menangkap traffic hotspot nya.


Code:
/ip firewall mangle
add chain=prerouting action=jump jump-target=hotspot comment="Hotspot Jump Mangle"
add chain=postrouting action=jump jump-target=hotspot

add chain=prerouting action=mark-connection new-connection-mark=conn-up passthrough=yes dst-address=192.168.10.0/24 comment="Hotspot Connections"
add chain=postrouting action=mark-connection new-connection-mark=conn-down passthrough=yes src-address=192.168.10.0/24

add chain=prerouting action=mark-packet new-packet-mark=packet-up passthrough=yes connection-mark=conn-up comment="Hotspot Packets"
add chain=postrouting action=mark-packet new-packet-mark=packet-down passthrough=yes connection-mark=conn-down


Setelah mangle utama kita buat, sekarang kita akan menambahkan lagi mangle untuk memisahkan jalur browsing, download, facebook dan youtube (yg lain2 bisa ditambahkan sendiri ya ).

Agar memudahkan pemisahan bandwidth tersebut kita akan menggunakan fasilitas layer-7-protocol dari mikrotik.

Code:
/ip firewall layer7-protocol
add name=Download regexp="^.*(get|GET).+\\.(exe|rar|zip|7z|cab|asf|mov|wmv|mpg|mpeg|mkv|avi|flv|pdf|wav|rm|mp3|mp4|ram|rmvb|dat|daa|iso|nrg|bin|vcd|mp2|3gp|mpe|qt|raw|wma|ogg|doc|deb|tar|bzip|gzip|gzip2|0[0-1][0-1]).*\$"
add name=Facebook regexp="^.*get.+.facebook.com.*\$|^.*get.+.zynga.com.*\$|^.*get.+.fbcdn.net.*\$"

Setelah layer-7-protocol kita tambahkan, kita buat mangle nya.

Code:
/ip firewall mangle
add chain=hotspot action=mark-packet new-packet-mark=facebook passthrough=no protocol=tcp layer7-protocol=Facebook comment="Facebook"
add chain=hotspot action=mark-packet new-packet-mark=youtube passthrough=no protocol=tcp layer7-protocol=Youtube comment="Youtube"
add chain=hotspot action=mark-packet new-packet-mark=download passthrough=no protocol=tcp layer7-protocol=Download comment="Download"
Selesai pembuatan mangle sekarang kita ubah settingan hotspot user profile nya. Disini saya memakai contoh profile Hotspot.



Untuk Incoming Packet Mark dan Outgoing Packet Mark jangan lupa kita isikan dengan marking hotspot yang sudah kita buat tadi. Incoming Packet Mark kita isikan dengan hotspot-up dan Outgoing Packet Mark kita isikan dengan hotspot-down.

Sekarang kita buat queue tree nya
Code:
/queue type
add name="pcq-down" kind=pcq pcq-rate=1M pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000 pcq-burst-rate=0 pcq-burst-threshold=0 pcq-burst-time=10s pcq-src-address-mask=32 pcq-dst-address-mask=32 pcq-src-address6-mask=64 pcq-dst-address6-mask=64
add name="pcq-up" kind=pcq pcq-rate=1M pcq-limit=50 pcq-classifier=src-address pcq-total-limit=2000 pcq-burst-rate=0 pcq-burst-threshold=0 pcq-burst-time=10s pcq-src-address-mask=32 pcq-dst-address-mask=32 pcq-src-address6-mask=64 pcq-dst-address6-mask=64

/queue tree
add name="Hotspot Down" parent=global-out packet-mark="" limit-at=0 priority=8 max-limit=1M burst-limit=0 burst-threshold=0 burst-time=0s
add name="Hotspot Up" parent=global-in packet-mark="" limit-at=0 priority=8 max-limit=1M burst-limit=0 burst-threshold=0 burst-time=0s 
add name="Hotspot Browsing" parent="Hotspot Down" packet-mark=hotspot-down limit-at=256k queue=pcq-down priority=2 max-limit=1M burst-limit=0 burst-threshold=0 burst-time=0s
add name="Hotspot Facebook" parent="Hotspot Down" packet-mark=facebook limit-at=256k queue=pcq-down priority=2 max-limit=1M burst-limit=0 burst-threshold=0 burst-time=0s
add name="Hotspot Youtube" parent="Hotspot Down" packet-mark=youtube limit-at=128k queue=pcq-down priority=8 max-limit=1M burst-limit=0 burst-threshold=0 burst-time=0s
add name="Hotspot Download" parent="Hotspot Down" packet-mark=download limit-at=128k queue=pcq-down priority=8 max-limit=1M burst-limit=0 burst-threshold=0 burst-time=0s
add name="Hotspot Upload" parent="Hotspot Up" packet-mark=hotspot-up limit-at=256k queue=pcq-up priority=8 max-limit=1M burst-limit=0 burst-threshold=0 burst-time=0s



Maaf di gambar yang terlihat adalah 512k sedangkan untuk contoh saya menggunakan 1M. Lupa ambil screenshot nya untuk settingan queue type nya
Tinggal disesuaikan saja dengan bandwidth yang akan kita gunakan untuk hotspot nya yak



Nanti setiap user hotspot yang login otomatis ip nya akan termangle secara otomatis ip address nya



Nah kemarin2 ada yg bertanya kalau semisal nya lewat user manager apakah bisa dilakukan? Saya jawab bisa, karena sudah saya coba sendiri hehehe. Nanti di dalam user manager bagian Profiles > Limitations kita isikan saja Group name nya sesuai dengan hotspot profile yang kita buat tadi. Di sini saya tadi memakai contoh menggunakan user profile Hotspot maka di bagian Group name nya diisikan Hotspot. Tetapi apabila user profile menggunakan default maka untuk Group name tidak usah diisi.







Settingan queue tree diatas untuk koneksi hotspot model up to, sehingga bila hanya ada 1 user yang online maka bandwidth yang didapat full.

Newbie memakai RouterOS v5.16 untuk membuat tutorial ini, untuk v3 dan v4 newbie rasa settingan nya hampir sama hanya mungkin ada perbedaan di settingan queue type nya saja.

Kalau ada yang tidak berkenan harap dimaklumi
Newbie menerima kritik dan saran tetapi lebih diutamakan kritik nya

Credit goes to Novan

Sumber : Forum Mikrotik Indonesia

Minggu, 14 Juli 2013

HANDYCACHE CACHING YOUTUBE page, all embed kaskus,fb sampai embed url SOLVED NO RANGE NO AUTO!!

Untuk mengcache youtube all page embed no range no auto handycache menggunakan menu extension di program handycache anda dengan urutan :

1. estension yt_embed_fix_for_CM :

--[[ <HCExtension>
@name          yt_embed_fix_for_CM
@author        noscar
@version       1.0
@description   change the content type 
@event         AnswerHeaderReceived/answer
@rule     youtube.com/get_video_info?
</HCExtension> ]]
function answer()
hc.answer_header = re.replace(hc.answer_header, "Content-Type: application/x-www-form-urlencoded", "Content-Type: text/html")
hc.monitor_string = hc.monitor_string..'ct4cm'
end

2. gunakan content master di bawah ini :

## REPLACEMENTS
youtube\.com/watch\?#~#(url":\s")(http:\\/\\/s\.ytimg\.com\\/yts\\/swfbin\\/watch.*?\.swf)(.*?)("auto")(.*?)(url_v9as2":\s"(http:\\/\\/s\.ytimg\.com\\/yts\\/swfbin\\/.*?\.swf))#~#\1\7\3"small"\5\6
youtube\.com/watch\?#~#(url":\s")(http:\\/\\/s\.ytimg\.com\\/yts\\/swfbin\\/watch.*?\.swf)(.*?)(url_v9as2":\s"(http:\\/\\/s\.ytimg\.com\\/yts\\/swfbin\\/.*?\.swf))(.*?)("auto")#~#\1\5\3\4\6"small"
youtube\.com/watch\?#~#(url_v9as2":\s"(http:\\/\\/s\.ytimg\.com\\/yts\\/swfbin\\/.*?\.swf))(.*?)(url":\s")(http:\\/\\/s\.ytimg\.com\\/yts\\/swfbin\\/watch.*?\.swf)(.*?)("auto")#~#\1\3\4\2\6"small"
youtube\.com/watch\?#~#(url_v9as2":\s"(http:\\/\\/s\.ytimg\.com\\/yts\\/swfbin\\/.*?\.swf))(.*?)("auto")(.*?)(url":\s")(http:\\/\\/s\.ytimg\.com\\/yts\\/swfbin\\/watch.*?\.swf)#~#\1\3"small"\5\6\2
youtube\.com/watch\?#~#("auto")(.*?)(url_v9as2":\s"(http:\\/\\/s\.ytimg\.com\\/yts\\/swfbin\\/.*?\.swf))(.*?)(url":\s")(http:\\/\\/s\.ytimg\.com\\/yts\\/swfbin\\/watch.*?\.swf)#~#"small"\2\3\5\6\4
youtube\.com/watch\?#~#("auto")(.*?)(url":\s")(http:\\/\\/s\.ytimg\.com\\/yts\\/swfbin\\/watch.*?\.swf)(.*?)(url_v9as2":\s"(http:\\/\\/s\.ytimg\.com\\/yts\\/swfbin\\/.*?\.swf))#~#"small"\2\3\7\5\6

youtube\.com/embed#~#("url\_v9as2":.*?")(http:\\/\\/s\.ytimg\.com\\/yts\\/swfbin\\/.*?\.swf)(.*?url":.*?")(http:\\/\\/s\.ytimg\.com\\/yts\\/swfbin\\/watch\_.*?\.swf)#~#\1\2\3\2
youtube\.com/embed#~#(http:\\/\\/s\.ytimg\.com\\/yts\\/swfbin\\/watch\_.*?\.swf)(.*?url\_v9as2":.*?")(http:\\/\\/s\.ytimg\.com\\/yts\\/swfbin\\/.*?\.swf)#~#\3\2\3

3. Tambahkan ekstension berikut ;

--[[ <HCExtension>
@name   Youtube Saver
@author   bdstd
@version 1.0.1
@rule   ^.*youtube\.com/videoplayback\?.*
@event   AnswerHeaderReceived/save
@event   URLToFileNameConverting/convert
@event   RequestHeaderReceived/block

</HCExtension> ]]
function save()
 local pyt = re.match(hc.url, [[^.*youtube\.com/videoplayback\?.*]])
 if pyt then
  local dsv = re.find(hc.url, [[begin=.*(?!0)]])
  local dsv2 = re.find(hc.answer_header, [[^HTTP/1.+302.+Found]])
  local prt206 = re.find(hc.answer_header, [[^HTTP/1.+206.+Partial.+Content]])
  if not prt206 and not dsv and not dsv2 then
   hc.action = 'save'
   hc.monitor_string = 'Saving'
  end
 end
end
function convert()
 local pyt = re.match(hc.url, [[^.*youtube\.com/videoplayback\?.*]])
 if pyt then
  local id = re.find(hc.url, [[id=[^&]+]])
  local itag = re.find(hc.url, [[itag=[^&]+]])
  local rg = re.find(hc.url, [[range=[^&]+]])
  if id and itag then
   cache_file_iditag = hc.cache_path ..'youtube.com\\videoplayback^\\'..id..itag..'.flv'
   hc.preform_cache_file_name(cache_file_iditag)
   hc.monitor_string = 'YT-Non-Range-Converted'
  end
  if id and itag and rg then
   cache_file_iditagrg = hc.cache_path ..'youtube.com\\videoplayback^\\'..id..'\\'..itag..rg
   hc.preform_cache_file_name(cache_file_iditagrg)
   hc.monitor_string = 'YT-Range-Converted'
  end
 end
end
function block()
 local pyt = re.match(hc.url, [[^.*youtube\.com/videoplayback\?.*]])
 if pyt then
  local itagx = re.find(hc.url, [[itag=(.{1}|.{2})\&]])
  local rangex = re.find(hc.url, [[range=[^&]+]])
  if itagx and rangex then
   hc.action = 'stop'
   hc.monitor_string = 'Blocked By Extension'
  end
 end
end

4. Tambahkan whitlist berikut untuk menghindari looping

#10#~#True#~#^.*youtube.com/v/.*?version=2#~##~##~#False#~#False#~#False#~#False#~#True#~#False

5. Tambahkan rule berikut agar dapat autoplay :

#5#~#True#~#(^.*youtube.com/v/.*\?)(.*)#~#\1&version=2&autoplay=1#~#False#~#True

6. Semoga bermanfaat