Cara Membatasi Bandwidth Android (butuh ROOT)


Tulisan ini bermaksud untuk memberitahukan cara membatasi bandwidth/throughput Internet pada Android. Dan karena metode ini membutuhkan IPTABLES, maka Android nya harus sudah di-ROOT terlebih dahulu.

Apa itu IPTABLES?


Singkat kata, IPTABLES adalah seperangkat aturan terkait routing internet yang diterapkan pada mesin dengan sistem operasi Linux/Unix. Dan karena Android juga memiliki penerapan Linux, maka Android juga bisa memakai IPTABLES.

Sebenarnya sudah ada aplikasi bernama Brady Bounch (kalo tidak salah ingat namanya) di Google Playstore, yang juga bisa membatasi bandwidth pada Android. Namun, pada handphone saya Sony Xperia C4 Dual, entah mengapa dia tidak berfungsi, padahal sudah di-ROOT. Maka, saya pun mencari-cari cara untuk bisa membatasi bandwidth pada Android.

Kenapa kok Bandwidth dibatasi?


Pada umumnya, seseorang butuh untuk membatasi bandwidth tentunya untuk menghemat kuota internet yang dipakainya. Misal saja dia memakai perangkat Android nya sebagai wifi hotspot.

Pengetahuan saya terbatas mengenai perangkat-perangkat seperti modem mi-fi, yang mungkin saja sudah memiliki penerapan pembatasan bandwidth di dalamnya. Tulisan ini hanya bermaksud share cara yang saya pakai untuk bisa membatasi bandwidth di Android, dan Linux pada umumnya.

Script IPTABLES


Berikut adalah script nya, mohon maaf bila susunan teks nya kurang cocok untuk coding.

#!/bin/bash
#iptables -F
iptables -P INPUT DROP
iptables -A INPUT -s 0/0 -d 0/0 -m limit --limit 50/s --limit-burst 20 -j ACCEPT
iptables -P OUTPUT DROP
iptables -A OUTPUT -s 0/0 -d 0/0 -m limit --limit 30/s --limit-burst 20 -j ACCEPT

Setelah saya coba, dengan OOKLA Speedtest maupun Opensignal Speedtest, script tersebut kira-kira akan membatasi download bandwidth hingga 500 kbps, sedangkan upload bandwidth hingga 300 kbps. Mohon maaf saya juga kurang paham mengapa bisa seperti itu. Yang pasti, saya telah googling berbagai macam script dan akhirnya script tersebut lah yang berfungsi seperti yang saya inginkan.

Jika hendak mempelajari lebih lanjut tentang IPTABLES, dan jika misal ada implementasi bandwidth limiter yang lebih proper ketimbang ini, monggo berkomentar di bawah yaa.

Oh iya, hampir lupa, saya menjalankan script tersebut melalui aplikasi Terminal Emulator (dari PlayStore), dengan cara sebagai berikut (saya simpan script dalam file limup.sh)



Sedangkan, script untuk menghapus rule IPTABLES tersebut adalah sebagai berikut :

#!/bin/bash
#iptables -F
iptables -D INPUT -s 0/0 -d 0/0 -m limit --limit 50/s --limit-burst 20 -j ACCEPT
iptables -P INPUT ACCEPT
iptables -D OUTPUT -s 0/0 -d 0/0 -m limit --limit 30/s --limit-burst 20 -j ACCEPT
iptables -P OUTPUT ACCEPT

Yang saya simpan dalam file ulimup.sh

Berikut hasilnya :

sebelum

sesudah

0 comments:

Post a Comment