feat: Implement SSH-triggered BGP route export with log polling and validation, and update queue limits with a new profile.
This commit is contained in:
@@ -62,6 +62,7 @@ def update_mangle_and_queue():
|
||||
("star_20", 20, 10, "3G", "500M"),
|
||||
("star_30", 30, 15, "3G", "500M"),
|
||||
("star_50", 50, 25, "3G", "500M"),
|
||||
("promo_50", 50, 10, "3G", "500M"),
|
||||
("star_100", 100, 50, "3G", "500M"),
|
||||
("star_150", 150, 75, "3G", "500M"),
|
||||
("star_200", 200, 100, "3G", "500M"),
|
||||
@@ -73,8 +74,8 @@ def update_mangle_and_queue():
|
||||
# --- A. SETUP QUEUE TYPES & QUEUE PARENT LOKAL ---
|
||||
|
||||
# Bikin Queue Parent LOKAL
|
||||
commands.append("/queue/tree/add max-limit=5G name=1_all_dl_Dimensi_LOKAL parent=global queue=default")
|
||||
commands.append("/queue/tree/add max-limit=5G name=5_all_ul_Dimensi_LOKAL parent=global queue=default")
|
||||
commands.append("/queue/tree/add max-limit=3G name=1_all_dl_Dimensi_LOKAL parent=global queue=default")
|
||||
commands.append("/queue/tree/add max-limit=3G name=5_all_ul_Dimensi_LOKAL parent=global queue=default")
|
||||
|
||||
print("Menyusun skrip untuk Profil Spesial (EXPIRED & Hemat)...")
|
||||
|
||||
@@ -94,8 +95,8 @@ def update_mangle_and_queue():
|
||||
commands.append("/ip/firewall/mangle/add action=mark-packet chain=forward dst-address-list=hemat new-packet-mark=hemat_dl passthrough=no")
|
||||
commands.append("/ip/firewall/mangle/add action=mark-packet chain=forward src-address-list=hemat new-packet-mark=hemat_ul passthrough=no")
|
||||
# Child Queue Lokal HEMAT
|
||||
commands.append("/queue/tree/add max-limit=5G name=hemat_dl_local packet-mark=hemat_dl_local parent=1_all_dl_Dimensi_LOKAL queue=hemat_dl_6m")
|
||||
commands.append("/queue/tree/add max-limit=5G name=hemat_ul_local packet-mark=hemat_ul_local parent=5_all_ul_Dimensi_LOKAL queue=hemat_ul_6m")
|
||||
commands.append("/queue/tree/add max-limit=3G name=hemat_dl_local packet-mark=hemat_dl_local parent=1_all_dl_Dimensi_LOKAL queue=hemat_dl_6m")
|
||||
commands.append("/queue/tree/add max-limit=3G name=hemat_ul_local packet-mark=hemat_ul_local parent=5_all_ul_Dimensi_LOKAL queue=hemat_ul_6m")
|
||||
|
||||
# Update Queue Int Lama untuk sinkronisasi pembaruan nama packet-mark `_ul`
|
||||
commands.append("/queue/tree/set [find name=\"hemat_up\"] name=\"hemat_ul\" packet-mark=hemat_ul queue=hemat_ul_6m")
|
||||
@@ -129,9 +130,9 @@ def update_mangle_and_queue():
|
||||
commands.append(f"/ip/firewall/mangle/add action=mark-packet chain=forward src-address-list={name} new-packet-mark={up_int} passthrough=no")
|
||||
|
||||
# 2. UBAH/BUAT BIKIN QUEUE TYPES SETENGAH (Hanya jika belum ada).
|
||||
# Kita menggunakan _half sebagai penanda
|
||||
pcq_dl_half = f"pcq_dl_{full}m_half"
|
||||
pcq_up_half = f"pcq_ul_{full}m_half"
|
||||
# Kita menggunakan _int sebagai penanda antrean limitasi beda rasio
|
||||
pcq_dl_half = f"pcq_dl_{half}m_int"
|
||||
pcq_up_half = f"pcq_ul_{half}m_int"
|
||||
|
||||
commands.append(f"/queue/type/add kind=pcq name={pcq_dl_half} pcq-classifier=dst-address pcq-rate={half}M")
|
||||
commands.append(f"/queue/type/add kind=pcq name={pcq_up_half} pcq-classifier=src-address pcq-rate={half}M")
|
||||
@@ -152,8 +153,8 @@ def update_mangle_and_queue():
|
||||
commands.append(f"/queue/tree/set [find name=\"{name}_up\"] name=\"{name}_ul\" packet-mark={up_int} queue={pcq_up_half}")
|
||||
|
||||
# 4. BIKIN CHILD QUEUE LOKAL YANG BARU (Gunakan rate FULL / Queue eksisting PCQ ori)
|
||||
commands.append(f"/queue/tree/add max-limit=5G name={name}_dl_local packet-mark={dl_loc} parent=1_all_dl_Dimensi_LOKAL queue={pcq_dl_full}")
|
||||
commands.append(f"/queue/tree/add max-limit=5G name={name}_ul_local packet-mark={up_loc} parent=5_all_ul_Dimensi_LOKAL queue={q_up_ori}")
|
||||
commands.append(f"/queue/tree/add max-limit=3G name={name}_dl_local packet-mark={dl_loc} parent=1_all_dl_Dimensi_LOKAL queue={pcq_dl_full}")
|
||||
commands.append(f"/queue/tree/add max-limit=3G name={name}_ul_local packet-mark={up_loc} parent=5_all_ul_Dimensi_LOKAL queue={q_up_ori}")
|
||||
|
||||
# --- EKSEKUSI SEMUA COMMAND BARIS DEMI BARIS ---
|
||||
print(f"Mengeksekusi {len(commands)} baris konfigurasi secara antrean (Sequential)...")
|
||||
|
||||
Reference in New Issue
Block a user