130 lines
4.7 KiB
Plaintext
130 lines
4.7 KiB
Plaintext
|
|
; ============================================================================
|
||
|
|
; GL.iNet Flint 2 (GL-MT6000) — Remote Monitor Station
|
||
|
|
; AUTARCH PIAP (Platform Integration & Access Profile)
|
||
|
|
; ============================================================================
|
||
|
|
;
|
||
|
|
; This file defines a remote device for AUTARCH's Remote Monitoring Station.
|
||
|
|
; AUTARCH reads this file to build the UI, connect to the device, and control
|
||
|
|
; its radios and features.
|
||
|
|
;
|
||
|
|
; To create your own .piap file, copy template.piap from this folder,
|
||
|
|
; fill in your device info, and save it with a name of your choice.
|
||
|
|
; It will appear in the dropdown menu automatically.
|
||
|
|
;
|
||
|
|
; ============================================================================
|
||
|
|
|
||
|
|
[device]
|
||
|
|
; Name shown in the AUTARCH dropdown menu
|
||
|
|
name = Flint 2
|
||
|
|
; Device model / description
|
||
|
|
model = GL.iNet GL-MT6000
|
||
|
|
; Chipset info (for reference)
|
||
|
|
chipset = MediaTek MT7986A (Filogic 830)
|
||
|
|
; WiFi chipset
|
||
|
|
wifi_chipset = MediaTek MT7976C
|
||
|
|
; Icon (optional, filename in /web/static/img/)
|
||
|
|
icon = router.png
|
||
|
|
; Operating system running on the device
|
||
|
|
os = OpenWrt 25
|
||
|
|
|
||
|
|
[connection]
|
||
|
|
; SSH connection details
|
||
|
|
host = 192.168.1.1
|
||
|
|
port = 22
|
||
|
|
user = root
|
||
|
|
; Auth method: key or password
|
||
|
|
auth = key
|
||
|
|
; Path to SSH key (leave blank to use default ~/.ssh/id_ed25519)
|
||
|
|
key_path =
|
||
|
|
; Password (only used if auth = password, stored in vault if available)
|
||
|
|
password =
|
||
|
|
; Connection timeout in seconds
|
||
|
|
timeout = 10
|
||
|
|
|
||
|
|
[radio_0]
|
||
|
|
; ── First radio (2.4GHz) ──────────────────────────────────────────────────
|
||
|
|
; Radio name shown in UI
|
||
|
|
name = 2.4GHz Radio
|
||
|
|
; Phy device name on the remote device
|
||
|
|
phy = phy0
|
||
|
|
; Default interface name
|
||
|
|
interface = wlan0
|
||
|
|
; Monitor interface name (created when monitor mode is enabled)
|
||
|
|
monitor_interface = mon0
|
||
|
|
; Supported bands
|
||
|
|
band = 2.4GHz
|
||
|
|
; Supported channels (comma separated)
|
||
|
|
channels = 1,2,3,4,5,6,7,8,9,10,11,12,13,14
|
||
|
|
; Default channel for monitor mode
|
||
|
|
default_channel = 6
|
||
|
|
; Supported modes (comma separated)
|
||
|
|
; These become buttons in the UI
|
||
|
|
modes = managed,monitor,ap
|
||
|
|
; Command to enable monitor mode
|
||
|
|
; {phy} and {mon} are replaced with phy and monitor_interface values
|
||
|
|
cmd_monitor_on = iw dev {interface} del 2>/dev/null; iw phy {phy} interface add {mon} type monitor && ip link set {mon} up && iw dev {mon} set channel {channel}
|
||
|
|
; Command to disable monitor mode
|
||
|
|
cmd_monitor_off = ip link set {mon} down 2>/dev/null; iw dev {mon} del 2>/dev/null
|
||
|
|
; Command to set channel
|
||
|
|
cmd_set_channel = iw dev {mon} set channel {channel}
|
||
|
|
; Command to get current status
|
||
|
|
cmd_status = iw dev 2>/dev/null | grep -A5 "{mon}\|{interface}"
|
||
|
|
; Supports frame injection
|
||
|
|
injection = true
|
||
|
|
; Supports radiotap headers
|
||
|
|
radiotap = true
|
||
|
|
|
||
|
|
[radio_1]
|
||
|
|
; ── Second radio (5GHz) ───────────────────────────────────────────────────
|
||
|
|
name = 5GHz Radio
|
||
|
|
phy = phy1
|
||
|
|
interface = wlan1
|
||
|
|
monitor_interface = mon1
|
||
|
|
band = 5GHz
|
||
|
|
channels = 36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,136,140,144,149,153,157,161,165
|
||
|
|
default_channel = 36
|
||
|
|
modes = managed,monitor,ap
|
||
|
|
cmd_monitor_on = iw dev {interface} del 2>/dev/null; iw phy {phy} interface add {mon} type monitor && ip link set {mon} up && iw dev {mon} set channel {channel}
|
||
|
|
cmd_monitor_off = ip link set {mon} down 2>/dev/null; iw dev {mon} del 2>/dev/null
|
||
|
|
cmd_set_channel = iw dev {mon} set channel {channel}
|
||
|
|
cmd_status = iw dev 2>/dev/null | grep -A5 "{mon}\|{interface}"
|
||
|
|
injection = true
|
||
|
|
radiotap = true
|
||
|
|
|
||
|
|
[features]
|
||
|
|
; ── Available features (become sub-tabs in the UI) ────────────────────────
|
||
|
|
; Each feature name maps to a sub-tab. The commands are run over SSH.
|
||
|
|
; Additional features can be added — they automatically appear as tabs.
|
||
|
|
|
||
|
|
; Packet capture
|
||
|
|
capture = true
|
||
|
|
cmd_capture_start = tcpdump -i {mon} -w /tmp/capture_{timestamp}.pcap &
|
||
|
|
cmd_capture_stop = killall tcpdump 2>/dev/null
|
||
|
|
cmd_capture_pull = cat /tmp/capture_*.pcap
|
||
|
|
|
||
|
|
; WiFi scanning (passive)
|
||
|
|
wifi_scan = true
|
||
|
|
cmd_wifi_scan = iw dev {mon} scan passive 2>/dev/null || tcpdump -i {mon} -c 100 -e 2>&1 | grep Beacon
|
||
|
|
|
||
|
|
; Aircrack suite
|
||
|
|
aircrack = true
|
||
|
|
cmd_airodump = airodump-ng {mon}
|
||
|
|
cmd_aireplay = aireplay-ng {mon}
|
||
|
|
cmd_aircrack = aircrack-ng
|
||
|
|
|
||
|
|
; Deauthentication
|
||
|
|
deauth = true
|
||
|
|
cmd_deauth = aireplay-ng --deauth {count} -a {bssid} {mon}
|
||
|
|
|
||
|
|
; Channel hopping
|
||
|
|
channel_hop = true
|
||
|
|
cmd_channel_hop = while true; do for ch in {channels}; do iw dev {mon} set channel $ch; sleep 0.5; done; done
|
||
|
|
|
||
|
|
[info]
|
||
|
|
; ── Device info (read-only, displayed in UI) ─────────────────────────────
|
||
|
|
cmd_uptime = uptime
|
||
|
|
cmd_memory = free -m
|
||
|
|
cmd_disk = df -h /
|
||
|
|
cmd_kernel = uname -a
|
||
|
|
cmd_wifi_info = iw dev
|