├── MESHdesk
├── files
│ └── MESHdesk
│ │ ├── files
│ │ └── common
│ │ │ ├── 70-meshdesk
│ │ │ ├── up.sh
│ │ │ ├── shadow
│ │ │ ├── passwd
│ │ │ ├── 50-dnsmasq
│ │ │ └── radiusdesk.html
│ │ ├── hotplug_dir
│ │ └── hotplug.d
│ │ │ └── iface
│ │ │ └── 70-meshdesk
│ │ ├── mesh_status
│ │ ├── captive_portals
│ │ ├── 1
│ │ │ ├── auth.action
│ │ │ ├── unique.conf
│ │ │ └── privoxy.conf
│ │ ├── 2
│ │ │ ├── auth.action
│ │ │ ├── unique.conf
│ │ │ └── privoxy.conf
│ │ ├── 3
│ │ │ ├── auth.action
│ │ │ ├── unique.conf
│ │ │ └── privoxy.conf
│ │ ├── 4
│ │ │ ├── auth.action
│ │ │ ├── unique.conf
│ │ │ └── privoxy.conf
│ │ ├── 5
│ │ │ ├── auth.action
│ │ │ ├── unique.conf
│ │ │ └── privoxy.conf
│ │ ├── 6
│ │ │ ├── unique.conf
│ │ │ ├── auth.action
│ │ │ └── privoxy.conf
│ │ ├── 7
│ │ │ ├── unique.conf
│ │ │ ├── auth.action
│ │ │ └── privoxy.conf
│ │ ├── 8
│ │ │ ├── unique.conf
│ │ │ ├── auth.action
│ │ │ └── privoxy.conf
│ │ ├── 9
│ │ │ ├── unique.conf
│ │ │ ├── auth.action
│ │ │ └── privoxy.conf
│ │ ├── 10
│ │ │ ├── unique.conf
│ │ │ ├── auth.action
│ │ │ └── privoxy.conf
│ │ ├── 11
│ │ │ ├── unique.conf
│ │ │ ├── auth.action
│ │ │ └── privoxy.conf
│ │ ├── 12
│ │ │ ├── unique.conf
│ │ │ ├── auth.action
│ │ │ └── privoxy.conf
│ │ ├── 13
│ │ │ ├── unique.conf
│ │ │ ├── auth.action
│ │ │ └── privoxy.conf
│ │ ├── 14
│ │ │ ├── unique.conf
│ │ │ ├── auth.action
│ │ │ └── privoxy.conf
│ │ ├── 15
│ │ │ ├── unique.conf
│ │ │ ├── auth.action
│ │ │ └── privoxy.conf
│ │ ├── 16
│ │ │ ├── unique.conf
│ │ │ ├── auth.action
│ │ │ └── privoxy.conf
│ │ ├── chilli_1.conf
│ │ ├── chilli_10.conf
│ │ ├── chilli_11.conf
│ │ ├── chilli_12.conf
│ │ ├── chilli_13.conf
│ │ ├── chilli_14.conf
│ │ ├── chilli_15.conf
│ │ ├── chilli_16.conf
│ │ ├── chilli_2.conf
│ │ ├── chilli_3.conf
│ │ ├── chilli_4.conf
│ │ ├── chilli_5.conf
│ │ ├── chilli_6.conf
│ │ ├── chilli_7.conf
│ │ ├── chilli_8.conf
│ │ ├── chilli_9.conf
│ │ ├── common.conf
│ │ └── key.pem
│ │ ├── coova_startup.lua
│ │ ├── configs
│ │ ├── frmwr_network_eth_one
│ │ ├── frmwr_network_one_eth
│ │ ├── frmwr_network_two_eth
│ │ ├── frmwr_network_one_eth_atheros
│ │ ├── network_ubnt_ac_mesh
│ │ ├── network_ubnt_loco_ac
│ │ ├── network_ubnt_ac_mesh_pro
│ │ ├── dhcp_network_eth_one
│ │ ├── dhcp_network_one_eth
│ │ ├── network_xiaomi_4a_1g
│ │ ├── dhcp_network_one_eth_atheros
│ │ ├── dhcp_network_two_eth
│ │ ├── local_network
│ │ ├── wan_network
│ │ ├── frmwr_network_one_eth_mediatek
│ │ ├── frmwr_network_one_eth_atheros_yuncore_ex3200
│ │ ├── network_hap_ac_l
│ │ ├── network_uap-pro
│ │ ├── network_bus_router_1
│ │ ├── dhcp_network_one_eth_atheros_yuncore_xd3200
│ │ ├── network-archer-c7-v5
│ │ ├── ipv6
│ │ │ ├── dhcp_network_one_eth_atheros_yuncore_xd3200
│ │ │ ├── dhcp_network_eth_one
│ │ │ ├── dhcp_network_one_eth
│ │ │ ├── dhcp_network_one_eth_atheros
│ │ │ └── dhcp_network_two_eth
│ │ ├── frmwr_network_eth_one_rutx
│ │ ├── network_bravotek_ap1200
│ │ ├── network_xiaomi_4c
│ │ ├── network_mt_rb750_gr3
│ │ ├── dhcp_network_one_eth_mediatek
│ │ ├── network_xiaomi_4a_100
│ │ ├── dhcp_network_one_eth_mediatek_1226
│ │ ├── frmwr_network_eth_one_rutx_rain
│ │ └── captive_config.json
│ │ ├── utils
│ │ ├── sqm_report_wip.lua
│ │ ├── speed_sim.sh
│ │ ├── hostapd_disconnect.lua
│ │ ├── ssid_on_off.lua
│ │ ├── fetch_sqm.lua
│ │ ├── fetch_firewall.lua
│ │ ├── fetch_adv_firewall.lua
│ │ ├── nft_setter.lua
│ │ └── nlbw-ip2if.lua
│ │ ├── reporting
│ │ ├── report_sampling.lua
│ │ ├── report_sampling_wani.lua
│ │ ├── check_for_actions.lua
│ │ ├── check_for_coa.lua
│ │ └── accel_report_to_server.lua
│ │ ├── mac_setter.lua
│ │ ├── tests
│ │ ├── ubus_lua.lua
│ │ ├── test_actions.lua
│ │ ├── test_network.lua
│ │ ├── test_vis.lua
│ │ ├── test_network_add_macs.lua
│ │ ├── json_parse.lua
│ │ ├── test_firmware_config.lua
│ │ ├── test_rd_config.lua
│ │ ├── test_proxy_logs.lua
│ │ ├── test_softflow_logs.lua
│ │ ├── test_nlbw_stats.lua
│ │ ├── test_wg_stats.lua
│ │ ├── test_ovpn_stats.lua
│ │ ├── test_system_config.lua
│ │ ├── test_vpn_config.lua
│ │ ├── test_accel_config.lua
│ │ ├── test_batman_config.lua
│ │ ├── test_openvpn_config.lua
│ │ ├── test_interface_stats_config.lua
│ │ ├── test_sqlite_reports.lua
│ │ ├── test_reboot_settings.lua
│ │ ├── test_wifi_config.lua
│ │ ├── test_accel_stats.lua
│ │ ├── test_uci_write.lua
│ │ ├── sample_config_batman_adv.json
│ │ ├── sample_config.json
│ │ ├── test_netstats_wan.lua
│ │ └── report_softflow_logs.lua
│ │ ├── led.lua
│ │ ├── main_led.lua
│ │ ├── bailout.lua
│ │ ├── gpio_utils
│ │ ├── gpio_set_clear.sh
│ │ └── gpio_flash.sh
│ │ ├── mqtt_watcher.lua
│ │ ├── test_ping.lua
│ │ ├── md_prerun
│ │ ├── libs
│ │ ├── rdLogger.lua
│ │ ├── rdExternal.lua
│ │ ├── rdBatman.lua
│ │ ├── rdLocalMesh.lua
│ │ ├── rdLocalModeMesh.lua
│ │ ├── rdConfigModeMesh.lua
│ │ ├── rdSystemstats.lua
│ │ ├── rdMorse.lua
│ │ ├── rdWgStats.lua
│ │ ├── class.lua
│ │ ├── rdNftables.lua
│ │ └── rdOvpnStats.lua
│ │ ├── md_prep
│ │ ├── b.lua
│ │ ├── watchdog.lua
│ │ ├── meshdesk
│ │ ├── licensechecker.lua
│ │ ├── rogue_scan.lua
│ │ └── hotplug_lan.lua
└── Makefile
├── files
├── www
│ └── luci-static
│ │ └── material
│ │ ├── brand.png
│ │ ├── logo_48.png
│ │ ├── icons
│ │ └── menu.svg
│ │ ├── logo.svg
│ │ └── custom.css
├── etc
│ ├── shadow
│ ├── passwd
│ ├── rc.local
│ ├── hostapd.vlan
│ ├── config
│ │ └── system
│ ├── openvpn.user
│ ├── banner
│ └── chilli
│ │ └── up.sh
└── usr
│ └── share
│ └── ucode
│ └── luci
│ └── template
│ └── themes
│ └── material
│ └── footer.ut
├── openwrt-accel-ppp
├── README.md
├── files
│ └── accel-ppp.init
└── Makefile
├── luci-app-meshdesk
├── root
│ └── usr
│ │ └── share
│ │ └── rpcd
│ │ └── acl.d
│ │ └── luci-app-meshdesk.json
├── luasrc
│ ├── controller
│ │ └── meshdesk
│ │ │ └── meshdesk.lua
│ └── model
│ │ └── cbi
│ │ └── meshdesk
│ │ └── meshdesk.lua
└── Makefile
├── README.md
└── LICENSES
└── MIT.txt
/MESHdesk/files/MESHdesk/files/common/70-meshdesk:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | /etc/MESHdesk/hotplug_lan.lua
4 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/hotplug_dir/hotplug.d/iface/70-meshdesk:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | /etc/MESHdesk/hotplug_lan.lua
4 |
--------------------------------------------------------------------------------
/files/www/luci-static/material/brand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RADIUSdesk/openwrt-meshdesk/HEAD/files/www/luci-static/material/brand.png
--------------------------------------------------------------------------------
/openwrt-accel-ppp/README.md:
--------------------------------------------------------------------------------
1 | # openwrt-accel-ppp
2 | ACCEL-PPP is a high performance VPN server application for linux.
3 | OpenWrt package
4 |
--------------------------------------------------------------------------------
/files/www/luci-static/material/logo_48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RADIUSdesk/openwrt-meshdesk/HEAD/files/www/luci-static/material/logo_48.png
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/files/common/up.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | BR=$1
4 | TAPDEV=$2
5 | /sbin/ip link set "$TAPDEV" up
6 | /usr/sbin/brctl addif $BR $TAPDEV
7 |
8 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/mesh_status:
--------------------------------------------------------------------------------
1 |
2 | #Basic mesh status file to start off with
3 | config status 'status'
4 | option drift '0'
5 | option record_drift '1'
6 |
7 |
--------------------------------------------------------------------------------
/files/etc/shadow:
--------------------------------------------------------------------------------
1 | root:$1$r6umEfqi$oWLiGiWWpbSB8RhOmyLIT1:16267:0:99999:7:::
2 | daemon:*:0:0:99999:7:::
3 | ftp:*:0:0:99999:7:::
4 | network:*:0:0:99999:7:::
5 | nobody:*:0:0:99999:7:::
6 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/6/unique.conf:
--------------------------------------------------------------------------------
1 | uamlisten 10.6.0.1
2 | net 10.6.0.0/16
3 | dynip 10.6.1.0/16
4 | uamhomepage http://10.6.0.1:3990/www/radiusdesk.html
5 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/7/unique.conf:
--------------------------------------------------------------------------------
1 | uamlisten 10.7.0.1
2 | net 10.7.0.0/16
3 | dynip 10.7.1.0/16
4 | uamhomepage http://10.7.0.1:3990/www/radiusdesk.html
5 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/8/unique.conf:
--------------------------------------------------------------------------------
1 | uamlisten 10.8.0.1
2 | net 10.8.0.0/16
3 | dynip 10.8.1.0/16
4 | uamhomepage http://10.8.0.1:3990/www/radiusdesk.html
5 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/9/unique.conf:
--------------------------------------------------------------------------------
1 | uamlisten 10.9.0.1
2 | net 10.9.0.0/16
3 | dynip 10.9.1.0/16
4 | uamhomepage http://10.9.0.1:3990/www/radiusdesk.html
5 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/10/unique.conf:
--------------------------------------------------------------------------------
1 | uamlisten 10.10.0.1
2 | net 10.10.0.0/16
3 | dynip 10.10.1.0/16
4 | uamhomepage http://10.10.0.1:3990/www/radiusdesk.html
5 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/11/unique.conf:
--------------------------------------------------------------------------------
1 | uamlisten 10.11.0.1
2 | net 10.11.0.0/16
3 | dynip 10.11.1.0/16
4 | uamhomepage http://10.11.0.1:3990/www/radiusdesk.html
5 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/12/unique.conf:
--------------------------------------------------------------------------------
1 | uamlisten 10.12.0.1
2 | net 10.12.0.0/16
3 | dynip 10.12.1.0/16
4 | uamhomepage http://10.12.0.1:3990/www/radiusdesk.html
5 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/13/unique.conf:
--------------------------------------------------------------------------------
1 | uamlisten 10.13.0.1
2 | net 10.13.0.0/16
3 | dynip 10.13.1.0/16
4 | uamhomepage http://10.13.0.1:3990/www/radiusdesk.html
5 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/14/unique.conf:
--------------------------------------------------------------------------------
1 | uamlisten 10.14.0.1
2 | net 10.14.0.0/16
3 | dynip 10.14.1.0/16
4 | uamhomepage http://10.14.0.1:3990/www/radiusdesk.html
5 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/15/unique.conf:
--------------------------------------------------------------------------------
1 | uamlisten 10.15.0.1
2 | net 10.15.0.0/16
3 | dynip 10.15.1.0/16
4 | uamhomepage http://10.15.0.1:3990/www/radiusdesk.html
5 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/16/unique.conf:
--------------------------------------------------------------------------------
1 | uamlisten 10.16.0.1
2 | net 10.16.0.0/16
3 | dynip 10.16.1.0/16
4 | uamhomepage http://10.16.0.1:3990/www/radiusdesk.html
5 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/files/common/shadow:
--------------------------------------------------------------------------------
1 | root:$1$r6umEfqi$oWLiGiWWpbSB8RhOmyLIT1:16267:0:99999:7:::
2 | daemon:*:0:0:99999:7:::
3 | ftp:*:0:0:99999:7:::
4 | network:*:0:0:99999:7:::
5 | nobody:*:0:0:99999:7:::
6 |
--------------------------------------------------------------------------------
/files/etc/passwd:
--------------------------------------------------------------------------------
1 | root:x:0:0:root:/root:/bin/ash
2 | daemon:*:1:1:daemon:/var:/bin/false
3 | ftp:*:55:55:ftp:/home/ftp:/bin/false
4 | network:*:101:101:network:/var:/bin/false
5 | nobody:*:65534:65534:nobody:/var:/bin/false
6 |
--------------------------------------------------------------------------------
/files/etc/rc.local:
--------------------------------------------------------------------------------
1 | # Put your custom commands here that should be executed once
2 | # the system init finished. By default this file does nothing.
3 |
4 | cd /etc/MESHdesk && ./mqtt.lua &
5 | cd /etc/MESHdesk && ./mqtt_watcher.lua &
6 | exit 0
7 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/files/common/passwd:
--------------------------------------------------------------------------------
1 | root:x:0:0:root:/root:/bin/ash
2 | daemon:*:1:1:daemon:/var:/bin/false
3 | ftp:*:55:55:ftp:/home/ftp:/bin/false
4 | network:*:101:101:network:/var:/bin/false
5 | nobody:*:65534:65534:nobody:/var:/bin/false
6 |
--------------------------------------------------------------------------------
/files/www/luci-static/material/icons/menu.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/chilli_1.conf:
--------------------------------------------------------------------------------
1 | include /etc/MESHdesk/captive_portals/common.conf
2 | include /etc/MESHdesk/captive_portals/1/unique.conf
3 | include /etc/MESHdesk/captive_portals/1/specific.conf
4 |
5 | ipup=/etc/chilli/up.sh
6 | ipdown=/etc/chilli/down.sh
7 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/chilli_10.conf:
--------------------------------------------------------------------------------
1 | include /etc/MESHdesk/captive_portals/common.conf
2 | include /etc/MESHdesk/captive_portals/10/unique.conf
3 | include /etc/MESHdesk/captive_portals/10/specific.conf
4 |
5 | ipup=/etc/chilli/up.sh
6 | ipdown=/etc/chilli/down.sh
7 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/chilli_11.conf:
--------------------------------------------------------------------------------
1 | include /etc/MESHdesk/captive_portals/common.conf
2 | include /etc/MESHdesk/captive_portals/11/unique.conf
3 | include /etc/MESHdesk/captive_portals/11/specific.conf
4 |
5 | ipup=/etc/chilli/up.sh
6 | ipdown=/etc/chilli/down.sh
7 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/chilli_12.conf:
--------------------------------------------------------------------------------
1 | include /etc/MESHdesk/captive_portals/common.conf
2 | include /etc/MESHdesk/captive_portals/12/unique.conf
3 | include /etc/MESHdesk/captive_portals/12/specific.conf
4 |
5 | ipup=/etc/chilli/up.sh
6 | ipdown=/etc/chilli/down.sh
7 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/chilli_13.conf:
--------------------------------------------------------------------------------
1 | include /etc/MESHdesk/captive_portals/common.conf
2 | include /etc/MESHdesk/captive_portals/13/unique.conf
3 | include /etc/MESHdesk/captive_portals/13/specific.conf
4 |
5 | ipup=/etc/chilli/up.sh
6 | ipdown=/etc/chilli/down.sh
7 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/chilli_14.conf:
--------------------------------------------------------------------------------
1 | include /etc/MESHdesk/captive_portals/common.conf
2 | include /etc/MESHdesk/captive_portals/14/unique.conf
3 | include /etc/MESHdesk/captive_portals/14/specific.conf
4 |
5 | ipup=/etc/chilli/up.sh
6 | ipdown=/etc/chilli/down.sh
7 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/chilli_15.conf:
--------------------------------------------------------------------------------
1 | include /etc/MESHdesk/captive_portals/common.conf
2 | include /etc/MESHdesk/captive_portals/15/unique.conf
3 | include /etc/MESHdesk/captive_portals/15/specific.conf
4 |
5 | ipup=/etc/chilli/up.sh
6 | ipdown=/etc/chilli/down.sh
7 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/chilli_16.conf:
--------------------------------------------------------------------------------
1 | include /etc/MESHdesk/captive_portals/common.conf
2 | include /etc/MESHdesk/captive_portals/16/unique.conf
3 | include /etc/MESHdesk/captive_portals/16/specific.conf
4 |
5 | ipup=/etc/chilli/up.sh
6 | ipdown=/etc/chilli/down.sh
7 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/chilli_2.conf:
--------------------------------------------------------------------------------
1 | include /etc/MESHdesk/captive_portals/common.conf
2 | include /etc/MESHdesk/captive_portals/2/unique.conf
3 | include /etc/MESHdesk/captive_portals/2/specific.conf
4 |
5 | ipup=/etc/chilli/up.sh
6 | ipdown=/etc/chilli/down.sh
7 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/chilli_3.conf:
--------------------------------------------------------------------------------
1 | include /etc/MESHdesk/captive_portals/common.conf
2 | include /etc/MESHdesk/captive_portals/3/unique.conf
3 | include /etc/MESHdesk/captive_portals/3/specific.conf
4 |
5 | ipup=/etc/chilli/up.sh
6 | ipdown=/etc/chilli/down.sh
7 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/chilli_4.conf:
--------------------------------------------------------------------------------
1 | include /etc/MESHdesk/captive_portals/common.conf
2 | include /etc/MESHdesk/captive_portals/4/unique.conf
3 | include /etc/MESHdesk/captive_portals/4/specific.conf
4 |
5 | ipup=/etc/chilli/up.sh
6 | ipdown=/etc/chilli/down.sh
7 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/chilli_5.conf:
--------------------------------------------------------------------------------
1 | include /etc/MESHdesk/captive_portals/common.conf
2 | include /etc/MESHdesk/captive_portals/5/unique.conf
3 | include /etc/MESHdesk/captive_portals/5/specific.conf
4 |
5 | ipup=/etc/chilli/up.sh
6 | ipdown=/etc/chilli/down.sh
7 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/chilli_6.conf:
--------------------------------------------------------------------------------
1 | include /etc/MESHdesk/captive_portals/common.conf
2 | include /etc/MESHdesk/captive_portals/6/unique.conf
3 | include /etc/MESHdesk/captive_portals/6/specific.conf
4 |
5 | ipup=/etc/chilli/up.sh
6 | ipdown=/etc/chilli/down.sh
7 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/chilli_7.conf:
--------------------------------------------------------------------------------
1 | include /etc/MESHdesk/captive_portals/common.conf
2 | include /etc/MESHdesk/captive_portals/7/unique.conf
3 | include /etc/MESHdesk/captive_portals/7/specific.conf
4 |
5 | ipup=/etc/chilli/up.sh
6 | ipdown=/etc/chilli/down.sh
7 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/chilli_8.conf:
--------------------------------------------------------------------------------
1 | include /etc/MESHdesk/captive_portals/common.conf
2 | include /etc/MESHdesk/captive_portals/8/unique.conf
3 | include /etc/MESHdesk/captive_portals/8/specific.conf
4 |
5 | ipup=/etc/chilli/up.sh
6 | ipdown=/etc/chilli/down.sh
7 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/chilli_9.conf:
--------------------------------------------------------------------------------
1 | include /etc/MESHdesk/captive_portals/common.conf
2 | include /etc/MESHdesk/captive_portals/9/unique.conf
3 | include /etc/MESHdesk/captive_portals/9/specific.conf
4 |
5 | ipup=/etc/chilli/up.sh
6 | ipdown=/etc/chilli/down.sh
7 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/1/auth.action:
--------------------------------------------------------------------------------
1 | { \
2 | #+hide-forwarded-for-headers \
3 | +hide-from-header{block} \
4 | +set-image-blocker{pattern} \
5 | +add-header{Proxy-Connection: Keep-Alive}\
6 | +add-header{Proxy-Authorization: Basic DDDtaW46YWRtaW4=} /
7 | }
8 | /
9 |
10 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/2/auth.action:
--------------------------------------------------------------------------------
1 | { \
2 | #+hide-forwarded-for-headers \
3 | +hide-from-header{block} \
4 | +set-image-blocker{pattern} \
5 | +add-header{Proxy-Connection: Keep-Alive}\
6 | +add-header{Proxy-Authorization: Basic DDDtaW46YWRtaW4=} /
7 | }
8 | /
9 |
10 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/2/unique.conf:
--------------------------------------------------------------------------------
1 | uamlisten 10.2.0.1
2 | net 10.2.0.0/16
3 | dynip 10.2.1.0/16
4 | uamhomepage http://10.2.0.1:3990/www/radiusdesk.html
5 | radiuslocationname "MD_hotspot-2"
6 | radiuslocationid "isocc=,cc=,ac=,network=MD-2,"
7 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/3/auth.action:
--------------------------------------------------------------------------------
1 | { \
2 | #+hide-forwarded-for-headers \
3 | +hide-from-header{block} \
4 | +set-image-blocker{pattern} \
5 | +add-header{Proxy-Connection: Keep-Alive}\
6 | +add-header{Proxy-Authorization: Basic DDDtaW46YWRtaW4=} /
7 | }
8 | /
9 |
10 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/3/unique.conf:
--------------------------------------------------------------------------------
1 | uamlisten 10.3.0.1
2 | net 10.3.0.0/16
3 | dynip 10.3.1.0/16
4 | uamhomepage http://10.3.0.1:3990/www/radiusdesk.html
5 | radiuslocationname "MD_hotspot-2"
6 | radiuslocationid "isocc=,cc=,ac=,network=MD-3,"
7 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/4/auth.action:
--------------------------------------------------------------------------------
1 | { \
2 | #+hide-forwarded-for-headers \
3 | +hide-from-header{block} \
4 | +set-image-blocker{pattern} \
5 | +add-header{Proxy-Connection: Keep-Alive}\
6 | +add-header{Proxy-Authorization: Basic DDDtaW46YWRtaW4=} /
7 | }
8 | /
9 |
10 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/4/unique.conf:
--------------------------------------------------------------------------------
1 | uamlisten 10.4.0.1
2 | net 10.4.0.0/16
3 | dynip 10.4.1.0/16
4 | uamhomepage http://10.4.0.1:3990/www/radiusdesk.html
5 | radiuslocationname "MD_hotspot-4"
6 | radiuslocationid "isocc=,cc=,ac=,network=MD-4,"
7 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/5/auth.action:
--------------------------------------------------------------------------------
1 | { \
2 | #+hide-forwarded-for-headers \
3 | +hide-from-header{block} \
4 | +set-image-blocker{pattern} \
5 | +add-header{Proxy-Connection: Keep-Alive}\
6 | +add-header{Proxy-Authorization: Basic DDDtaW46YWRtaW4=} /
7 | }
8 | /
9 |
10 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/5/unique.conf:
--------------------------------------------------------------------------------
1 | uamlisten 10.5.0.1
2 | net 10.5.0.0/16
3 | dynip 10.5.1.0/16
4 | uamhomepage http://10.5.0.1:3990/www/radiusdesk.html
5 | radiuslocationname "MD_hotspot-5"
6 | radiuslocationid "isocc=,cc=,ac=,network=MD-5,"
7 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/6/auth.action:
--------------------------------------------------------------------------------
1 | { \
2 | #+hide-forwarded-for-headers \
3 | +hide-from-header{block} \
4 | +set-image-blocker{pattern} \
5 | +add-header{Proxy-Connection: Keep-Alive}\
6 | +add-header{Proxy-Authorization: Basic DDDtaW46YWRtaW4=} /
7 | }
8 | /
9 |
10 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/7/auth.action:
--------------------------------------------------------------------------------
1 | { \
2 | #+hide-forwarded-for-headers \
3 | +hide-from-header{block} \
4 | +set-image-blocker{pattern} \
5 | +add-header{Proxy-Connection: Keep-Alive}\
6 | +add-header{Proxy-Authorization: Basic DDDtaW46YWRtaW4=} /
7 | }
8 | /
9 |
10 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/8/auth.action:
--------------------------------------------------------------------------------
1 | { \
2 | #+hide-forwarded-for-headers \
3 | +hide-from-header{block} \
4 | +set-image-blocker{pattern} \
5 | +add-header{Proxy-Connection: Keep-Alive}\
6 | +add-header{Proxy-Authorization: Basic DDDtaW46YWRtaW4=} /
7 | }
8 | /
9 |
10 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/9/auth.action:
--------------------------------------------------------------------------------
1 | { \
2 | #+hide-forwarded-for-headers \
3 | +hide-from-header{block} \
4 | +set-image-blocker{pattern} \
5 | +add-header{Proxy-Connection: Keep-Alive}\
6 | +add-header{Proxy-Authorization: Basic DDDtaW46YWRtaW4=} /
7 | }
8 | /
9 |
10 |
--------------------------------------------------------------------------------
/luci-app-meshdesk/root/usr/share/rpcd/acl.d/luci-app-meshdesk.json:
--------------------------------------------------------------------------------
1 | {
2 | "luci-app-meshdesk": {
3 | "description": "Grant UCI access for luci-app-meshdesk",
4 | "read": {
5 | "uci": [ "meshdesk" ]
6 | },
7 | "write": {
8 | "uci": [ "meshdesk" ]
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/1/unique.conf:
--------------------------------------------------------------------------------
1 | uamlisten 10.1.0.1
2 | net 10.1.0.0/16
3 | dynip 10.1.1.0/16
4 | uamhomepage http://10.1.0.1:3990/www/radiusdesk.html
5 | radiuslocationname "MD_hotspot-1"
6 | radiuslocationid "isocc=,cc=,ac=,network=MD-1,"
7 |
8 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/10/auth.action:
--------------------------------------------------------------------------------
1 | { \
2 | #+hide-forwarded-for-headers \
3 | +hide-from-header{block} \
4 | +set-image-blocker{pattern} \
5 | +add-header{Proxy-Connection: Keep-Alive}\
6 | +add-header{Proxy-Authorization: Basic DDDtaW46YWRtaW4=} /
7 | }
8 | /
9 |
10 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/11/auth.action:
--------------------------------------------------------------------------------
1 | { \
2 | #+hide-forwarded-for-headers \
3 | +hide-from-header{block} \
4 | +set-image-blocker{pattern} \
5 | +add-header{Proxy-Connection: Keep-Alive}\
6 | +add-header{Proxy-Authorization: Basic DDDtaW46YWRtaW4=} /
7 | }
8 | /
9 |
10 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/12/auth.action:
--------------------------------------------------------------------------------
1 | { \
2 | #+hide-forwarded-for-headers \
3 | +hide-from-header{block} \
4 | +set-image-blocker{pattern} \
5 | +add-header{Proxy-Connection: Keep-Alive}\
6 | +add-header{Proxy-Authorization: Basic DDDtaW46YWRtaW4=} /
7 | }
8 | /
9 |
10 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/13/auth.action:
--------------------------------------------------------------------------------
1 | { \
2 | #+hide-forwarded-for-headers \
3 | +hide-from-header{block} \
4 | +set-image-blocker{pattern} \
5 | +add-header{Proxy-Connection: Keep-Alive}\
6 | +add-header{Proxy-Authorization: Basic DDDtaW46YWRtaW4=} /
7 | }
8 | /
9 |
10 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/14/auth.action:
--------------------------------------------------------------------------------
1 | { \
2 | #+hide-forwarded-for-headers \
3 | +hide-from-header{block} \
4 | +set-image-blocker{pattern} \
5 | +add-header{Proxy-Connection: Keep-Alive}\
6 | +add-header{Proxy-Authorization: Basic DDDtaW46YWRtaW4=} /
7 | }
8 | /
9 |
10 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/15/auth.action:
--------------------------------------------------------------------------------
1 | { \
2 | #+hide-forwarded-for-headers \
3 | +hide-from-header{block} \
4 | +set-image-blocker{pattern} \
5 | +add-header{Proxy-Connection: Keep-Alive}\
6 | +add-header{Proxy-Authorization: Basic DDDtaW46YWRtaW4=} /
7 | }
8 | /
9 |
10 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/16/auth.action:
--------------------------------------------------------------------------------
1 | { \
2 | #+hide-forwarded-for-headers \
3 | +hide-from-header{block} \
4 | +set-image-blocker{pattern} \
5 | +add-header{Proxy-Connection: Keep-Alive}\
6 | +add-header{Proxy-Authorization: Basic DDDtaW46YWRtaW4=} /
7 | }
8 | /
9 |
10 |
--------------------------------------------------------------------------------
/files/etc/hostapd.vlan:
--------------------------------------------------------------------------------
1 | # VLAN ID to network interface mapping
2 | #1 vlan1
3 | #2 vlan2
4 | #3 vlan3
5 | #4 vlan4
6 | #100 guest
7 | # Optional wildcard entry matching all VLAN IDs. The first # in the interface
8 | # name will be replaced with the VLAN ID. The network interfaces are created
9 | # (and removed) dynamically based on the use.
10 | * vlan#
11 |
12 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/coova_startup.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 |
3 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
4 | --
5 | -- SPDX-License-Identifier: GPL-3.0-or-later
6 |
7 |
8 | -- Include libraries
9 | package.path = "/etc/MESHdesk/libs/?.lua;" .. package.path;
10 |
11 | require("rdCoovaChilli");
12 | local a = rdCoovaChilli();
13 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/files/common/50-dnsmasq:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | [ "$ACTION" == "ifup" ] || exit 0
4 | logger -t "Prep MESHdesk" -p 6 "INTERFACE UP $INTERFACE";
5 | [ "$INTERFACE" = "one" ] && {
6 | [ -e /tmp/gw ] && {
7 | #Give it ample time to settle down
8 | sleep 15
9 | logger -t "Prep MESHdesk" -p 6 "Restarting dnsmasq"
10 | /etc/init.d/dnsmasq reload
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/frmwr_network_eth_one:
--------------------------------------------------------------------------------
1 |
2 | config interface 'loopback'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 | option ifname 'lo'
7 |
8 | config interface 'lan'
9 | option ifname 'eth1'
10 | option type 'bridge'
11 | option proto 'static'
12 | option ipaddr '192.168.255.200'
13 | option netmask '255.255.255.0'
14 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/frmwr_network_one_eth:
--------------------------------------------------------------------------------
1 |
2 | config interface 'loopback'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 | option ifname 'lo'
7 |
8 | config interface 'lan'
9 | option ifname 'eth0'
10 | option type 'bridge'
11 | option proto 'static'
12 | option ipaddr '192.168.255.200'
13 | option netmask '255.255.255.0'
14 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/frmwr_network_two_eth:
--------------------------------------------------------------------------------
1 |
2 | config interface 'loopback'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 | option ifname 'lo'
7 |
8 | config interface 'lan'
9 | option ifname 'eth0'
10 | option type 'bridge'
11 | option proto 'static'
12 | option ipaddr '192.168.255.200'
13 | option netmask '255.255.255.0'
14 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/frmwr_network_one_eth_atheros:
--------------------------------------------------------------------------------
1 |
2 | config interface 'loopback'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 | option ifname 'lo'
7 |
8 | config interface 'lan'
9 | option ifname 'eth0'
10 | option type 'bridge'
11 | option proto 'static'
12 | option ipaddr '192.168.255.200'
13 | option netmask '255.255.255.0'
14 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/utils/sqm_report_wip.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | -- Include libraries
7 | package.path = "../libs/?.lua;./libs/?.lua;/etc/MESHdesk/libs/" .. package.path
8 |
9 | require("rdSqm");
10 | local sqm = rdSqm();
11 | print(sqm:getStatsJson());
12 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/reporting/report_sampling.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | -- Include libraries
7 | package.path = "../libs/?.lua;./libs/?.lua;" .. package.path
8 | function main()
9 | require("rdJsonReports")
10 | local j = rdJsonReports();
11 | j:runCollect();
12 | end
13 | main();
14 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/reporting/report_sampling_wani.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | -- Include libraries
7 | package.path = "../libs/?.lua;./libs/?.lua;" .. package.path
8 | function main()
9 | require("rdJsonReports")
10 | local j = rdJsonReports();
11 | j:runCollect();
12 | end
13 | main();
14 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/reporting/check_for_actions.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | -- Include libraries
7 | package.path = "../libs/?.lua;./libs/?.lua;" .. package.path
8 | function main()
9 | require("rdActions")
10 | local a = rdActions()
11 | a:check()
12 | end
13 | main()
14 |
15 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/reporting/check_for_coa.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- Include libraries
3 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
4 | --
5 | -- SPDX-License-Identifier: GPL-3.0-or-later
6 |
7 | package.path = "/etc/MESHdesk/libs/?.lua;../libs/?.lua;./libs/?.lua;" .. package.path
8 | function main()
9 | require("rdCoa")
10 | local coa = rdCoa()
11 | coa:check()
12 | end
13 | main()
14 |
15 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/utils/speed_sim.sh:
--------------------------------------------------------------------------------
1 | while true; do
2 | LAT=$((10 + RANDOM % 90)) # 10–99 ms
3 | DOWN=$(awk -v r=$RANDOM 'BEGIN {srand(); print 50 + (r % 50) * 0.5}')
4 | UP=$(awk -v r=$RANDOM 'BEGIN {srand(); print 10 + (r % 40) * 0.4}')
5 |
6 | mosquitto_pub -h 192.168.8.117 -u openwrt -P openwrt -t "ap/speedtest" \
7 | -m "{\"latency\": $LAT, \"download\": $DOWN, \"upload\": $UP}"
8 |
9 | sleep 2
10 | done
11 |
12 |
13 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/network_ubnt_ac_mesh:
--------------------------------------------------------------------------------
1 | config interface 'loopback'
2 | option ifname 'lo'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 |
7 | config interface 'lan'
8 | option type 'bridge'
9 | option ifname 'eth0'
10 | option proto 'dhcp'
11 |
12 | config interface 'client_0'
13 | option proto 'dhcp'
14 |
15 | config interface 'client_1'
16 | option proto 'dhcp'
17 |
18 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/network_ubnt_loco_ac:
--------------------------------------------------------------------------------
1 | config interface 'loopback'
2 | option ifname 'lo'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 |
7 | config interface 'lan'
8 | option type 'bridge'
9 | option ifname 'eth0'
10 | option proto 'dhcp'
11 |
12 | config interface 'client_0'
13 | option proto 'dhcp'
14 |
15 | config interface 'client_1'
16 | option proto 'dhcp'
17 |
18 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/network_ubnt_ac_mesh_pro:
--------------------------------------------------------------------------------
1 | config interface 'loopback'
2 | option ifname 'lo'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 |
7 | config interface 'lan'
8 | option type 'bridge'
9 | option ifname 'eth0'
10 | option proto 'dhcp'
11 |
12 | config interface 'client_0'
13 | option proto 'dhcp'
14 |
15 | config interface 'client_1'
16 | option proto 'dhcp'
17 |
18 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/dhcp_network_eth_one:
--------------------------------------------------------------------------------
1 |
2 | config interface 'loopback'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 | option ifname 'lo'
7 |
8 | config interface 'lan'
9 | option ifname 'eth1'
10 | option type 'bridge'
11 | option proto 'dhcp'
12 |
13 | config interface 'client_0'
14 | option proto 'dhcp'
15 |
16 | config interface 'client_1'
17 | option proto 'dhcp'
18 |
19 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/dhcp_network_one_eth:
--------------------------------------------------------------------------------
1 |
2 | config interface 'loopback'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 | option ifname 'lo'
7 |
8 | config interface 'lan'
9 | option ifname 'eth0'
10 | option type 'bridge'
11 | option proto 'dhcp'
12 |
13 | config interface 'client_0'
14 | option proto 'dhcp'
15 |
16 | config interface 'client_1'
17 | option proto 'dhcp'
18 |
19 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/network_xiaomi_4a_1g:
--------------------------------------------------------------------------------
1 | config interface 'loopback'
2 | option proto 'static'
3 | option ipaddr '127.0.0.1'
4 | option netmask '255.0.0.0'
5 | option ifname 'lo'
6 |
7 | config interface 'lan'
8 | option ifname 'wan'
9 | option type 'bridge'
10 | option proto 'dhcp'
11 |
12 | config interface 'client_0'
13 | option proto 'dhcp'
14 |
15 | config interface 'client_1'
16 | option proto 'dhcp'
17 |
18 |
--------------------------------------------------------------------------------
/openwrt-accel-ppp/files/accel-ppp.init:
--------------------------------------------------------------------------------
1 | #!/bin/sh /etc/rc.common
2 |
3 | START=35
4 | STOP=85
5 | USE_PROCD=1
6 |
7 | start_service() {
8 | procd_open_instance
9 | procd_set_param command /usr/sbin/accel-pppd -d -c /etc/accel-ppp/accel-ppp.conf
10 | # procd_set_param respawn
11 | procd_close_instance
12 | }
13 |
14 | reload_service() {
15 | procd_send_signal accel-ppp
16 | }
17 |
18 | service_triggers()
19 | {
20 | procd_add_reload_trigger accel-ppp
21 | }
22 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/dhcp_network_one_eth_atheros:
--------------------------------------------------------------------------------
1 |
2 | config interface 'loopback'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 | option ifname 'lo'
7 |
8 | config interface 'lan'
9 | option ifname 'eth0'
10 | option type 'bridge'
11 | option proto 'dhcp'
12 |
13 | config interface 'client_0'
14 | option proto 'dhcp'
15 |
16 | config interface 'client_1'
17 | option proto 'dhcp'
18 |
19 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/dhcp_network_two_eth:
--------------------------------------------------------------------------------
1 |
2 | config interface 'loopback'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 | option ifname 'lo'
7 |
8 | config interface 'lan'
9 | option ifname 'eth0'
10 | option type 'bridge'
11 | option proto 'dhcp'
12 |
13 | config interface 'client_0'
14 | option proto 'dhcp'
15 |
16 | config interface 'client_1'
17 | option proto 'dhcp'
18 |
19 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/mac_setter.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 |
3 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
4 | --
5 | -- SPDX-License-Identifier: GPL-3.0-or-later
6 |
7 |
8 |
9 | -- Include libraries
10 | package.path = "../libs/?.lua;./libs/?.lua;/etc/MESHdesk/libs/?.lua;" .. package.path
11 |
12 |
13 | function main()
14 | require("rdNetwork")
15 | local n = rdNetwork()
16 | print("Version is " .. n:getVersion())
17 | n:addMacs();
18 | end
19 |
20 | main();
21 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/tests/ubus_lua.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | -- Include libraries
7 | package.path = "../libs/?.lua;./libs/?.lua;/etc/MESHdesk/libs/?.lua;" .. package.path
8 |
9 | require('rdNetstats');
10 | local json = require('luci.json');
11 | local netstats = rdNetstats();
12 | local n_stats = netstats:getWifiUbus();
13 | print(n_stats);
14 | local radio_structure = json.decode(n_stats);
15 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/tests/test_actions.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | --[[--
7 |
8 | This test script will test the rdActions object's methods
9 |
10 | --]]--
11 |
12 | -- Include libraries
13 | package.path = "../libs/?.lua;" .. package.path
14 |
15 | function main()
16 | require("rdActions")
17 | local a = rdActions()
18 | print("Version is " .. a:getVersion())
19 | a:check()
20 | end
21 |
22 | main()
23 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/tests/test_network.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | --[[--
7 |
8 | This test script will test the rdVis object's methods
9 |
10 | --]]--
11 |
12 | -- Include libraries
13 | package.path = "../libs/?.lua;" .. package.path
14 |
15 | function main()
16 | require("rdNetwork")
17 | local n = rdNetwork()
18 | print("Version is " .. n:getVersion())
19 | n:doWanSynch();
20 | end
21 |
22 | main()
23 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/tests/test_vis.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | --[[--
7 |
8 | This test script will test the rdVis object's methods
9 |
10 | --]]--
11 |
12 | -- Include libraries
13 | package.path = "../libs/?.lua;" .. package.path
14 |
15 | function main()
16 | require("rdVis")
17 | local v = rdVis()
18 | print("Version is " .. v:getVersion())
19 | print(v:getVisNoAlfred());
20 | end
21 |
22 | main()
23 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/tests/test_network_add_macs.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | --[[--
7 |
8 | This test script will test the rdVis object's methods
9 |
10 | --]]--
11 |
12 | -- Include libraries
13 | package.path = "../libs/?.lua;" .. package.path
14 |
15 | function main()
16 | require("rdNetwork")
17 | local n = rdNetwork()
18 | print("Version is " .. n:getVersion())
19 | n:addMacs();
20 | end
21 |
22 | main()
23 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/local_network:
--------------------------------------------------------------------------------
1 |
2 | config interface 'loopback'
3 | option ifname 'lo'
4 | option proto 'static'
5 | option ipaddr '127.0.0.1'
6 | option netmask '255.0.0.0'
7 |
8 | config interface 'lan'
9 | option type 'bridge'
10 | option ifname 'eth0'
11 | option proto 'static'
12 | option ipaddr '10.1.2.3'
13 | option netmask '255.255.255.0'
14 |
15 | config interface 'client'
16 | option proto 'dhcp'
17 |
18 | config interface 'client_0'
19 | option proto 'dhcp'
20 |
21 | config interface 'client_1'
22 | option proto 'dhcp'
23 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/tests/json_parse.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | local luci_json = require('luci.jsonc');
7 | local luci_util = require('luci.util'); --26Nov 2020 for posting command output
8 |
9 | local reply = luci_util.exec("cat /etc/config/system");
10 |
11 | json = luci_json.stringify({ item = reply, values = { 1, 2, 3 } })
12 | print(json) -- '{"item":true,"values":[1,2,3]}'
13 |
14 | --local s_reply = json.encode(reply);
15 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/tests/test_firmware_config.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | --[[--
7 |
8 | This test script will test the rdFirmwareConfig object class's various methods
9 |
10 | --]]--
11 |
12 | -- Include libraries
13 | package.path = "../libs/?.lua;" .. package.path
14 |
15 | function main()
16 | require("rdFirmwareConfig")
17 | local f = rdFirmwareConfig()
18 | print("Version is " .. f:getVersion())
19 | f:runConfig()
20 | end
21 |
22 | main()
23 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/tests/test_rd_config.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | --[[--
7 |
8 | This test script will test the rdConfig object's methods
9 |
10 | --]]--
11 |
12 | -- Include libraries
13 | package.path = "../libs/?.lua;./libs/?.lua;" .. package.path
14 |
15 | function main()
16 | require("rdConfig")
17 | local c = rdConfig();
18 | print("Version is " .. c:getVersion())
19 | local ret_table = c:tryForConfigServer('lan');
20 | end
21 |
22 | main()
23 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/common.conf:
--------------------------------------------------------------------------------
1 | #===Common Coova Settings===
2 | uamport 3990
3 | domain "mesh-manager.com"
4 | wwwdir /etc/chilli/www
5 | wwwbin /etc/chilli/wwwsh
6 | uamuiport 4990
7 | locationname "MESHdesk"
8 | radiusauthport 1812
9 | radiusacctport 1813
10 | papalwaysok
11 | uamaliasname "uam"
12 | adminupdatefile "/etc/chilli/local.conf"
13 | mtu 1468
14 | uamuissl
15 | sslkeyfile "/etc/MESHdesk/captive_portals/key.pem"
16 | sslcertfile "/etc/MESHdesk/captive_portals/cert.pem"
17 | #coaport 3799
18 |
19 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/wan_network:
--------------------------------------------------------------------------------
1 | config interface 'loopback'
2 | option ifname 'lo'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 |
7 | config interface 'lan'
8 | option type 'bridge'
9 | option ifname 'eth0.1'
10 | option proto 'dhcp'
11 |
12 | config switch
13 | option name 'switch0'
14 | option reset '1'
15 | option enable_vlan '1'
16 |
17 | config switch_vlan
18 | option device 'switch0'
19 | option vlan '2'
20 | option ports '1 0t'
21 |
22 | config switch_vlan
23 | option device 'switch0'
24 | option vlan '1'
25 | option ports '2 0t'
26 |
27 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/led.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 |
3 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
4 | --
5 | -- SPDX-License-Identifier: GPL-3.0-or-later
6 |
7 |
8 | -- Include libraries
9 | package.path = "libs/?.lua;" .. package.path
10 |
11 | --The default
12 | local what_to_flash=arg[1]
13 | if (what_to_flash == nil)then
14 | what_to_flash = "a"
15 | end
16 |
17 | if(what_to_flash == 'stop')then
18 | require("rdMorse")
19 | o_m = rdMorse()
20 | o_m:clearLed()
21 | else
22 | require("rdMorse")
23 | o_m = rdMorse()
24 | o_m:startFlash(what_to_flash)
25 | end
26 |
27 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/tests/test_proxy_logs.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | --[[--
7 |
8 | This test script will test the rdProxyLogs object's methods
9 |
10 | --]]--
11 |
12 | -- Include libraries
13 | package.path = "../libs/?.lua;./libs/?.lua;" .. package.path
14 |
15 | function main()
16 | require("rdProxyLogs")
17 | local p = rdProxyLogs()
18 | print("Version is " .. p:getVersion())
19 | --p:chilliInfo();
20 | p:doPrivoxy();
21 | --p:truncLog();
22 | end
23 |
24 | main()
25 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/tests/test_softflow_logs.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | --[[--
7 |
8 | This test script will test the rdSoftflowLogs object's methods
9 |
10 | --]]--
11 |
12 | -- Include libraries
13 | package.path = "../libs/?.lua;./libs/?.lua;" .. package.path
14 |
15 | function main()
16 | require("rdSoftflowLogs")
17 | local s = rdSoftflowLogs()
18 | print("Version is " .. s:getVersion())
19 | s:chilliInfo();
20 | s:doDumpFlows();
21 | --s:doDeleteAll();
22 | end
23 |
24 | main()
25 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/tests/test_nlbw_stats.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2025 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | --[[--
7 |
8 | This test script will test the rdNlbwStats object class's various methods
9 |
10 | --]]--
11 |
12 | -- Include libraries
13 | package.path = "../libs/?.lua;" .. package.path
14 |
15 | function main()
16 | require('rdNlbwStats');
17 | local a = rdNlbwStats();
18 | print("Version is " .. a:getVersion());
19 | print("Collect Nlbw Stats");
20 | --a:tableStats();
21 | print(a:jsonStats());
22 | end
23 |
24 | main();
25 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/tests/test_wg_stats.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2025 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | --[[--
7 |
8 | This test script will test the rdWgStats. It will need existing configured Wireguard interfaces
9 |
10 | --]]--
11 |
12 | -- Include libraries
13 | package.path = "../libs/?.lua;" .. package.path
14 |
15 | function main()
16 | require('rdWgStats');
17 | local a = rdWgStats();
18 | print("Version is " .. a:getVersion());
19 | print("Collect Wireguard Stats");
20 | --a:tableStats();
21 | print(a:jsonStats());
22 | end
23 |
24 | main();
25 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/frmwr_network_one_eth_mediatek:
--------------------------------------------------------------------------------
1 |
2 | config interface 'loopback'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 | option ifname 'lo'
7 |
8 | config interface 'lan'
9 | option ifname 'eth0.1'
10 | option type 'bridge'
11 | option proto 'static'
12 | option ipaddr '192.168.255.200'
13 | option netmask '255.255.255.0'
14 |
15 | config switch
16 | option name 'switch0'
17 | option reset '1'
18 | option enable_vlan '1'
19 |
20 | config switch_vlan
21 | option device 'switch0'
22 | option vlan '1'
23 | option ports '0 1 2 3 4 6t'
24 |
25 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/tests/test_ovpn_stats.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2025 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | --[[--
7 |
8 | This test script will test the rdOvpnStats. It will need existing configured Wireguard interfaces
9 |
10 | --]]--
11 |
12 | -- Include libraries
13 | package.path = "../libs/?.lua;" .. package.path
14 |
15 | function main()
16 | require('rdOvpnStats');
17 | local a = rdOvpnStats();
18 | print("Version is " .. a:getVersion());
19 | print("Collect OpenVPN Stats");
20 | --a:tableStats();
21 | print(a:jsonStats());
22 | end
23 |
24 | main();
25 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/frmwr_network_one_eth_atheros_yuncore_ex3200:
--------------------------------------------------------------------------------
1 |
2 | config interface 'loopback'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 | option ifname 'lo'
7 |
8 | config interface 'lan'
9 | option ifname 'eth0.1'
10 | option type 'bridge'
11 | option proto 'static'
12 | option ipaddr '192.168.255.200'
13 | option netmask '255.255.255.0'
14 |
15 | config switch
16 | option name 'switch0'
17 | option reset '1'
18 | option enable_vlan '1'
19 |
20 | config switch_vlan
21 | option device 'switch0'
22 | option vlan '1'
23 | option ports '2 3 0t'
24 |
25 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/main_led.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 |
3 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
4 | --
5 | -- SPDX-License-Identifier: GPL-3.0-or-later
6 |
7 |
8 | start_stop = arg[1]
9 | what_to_flash = arg[2]
10 |
11 | -- Include libraries
12 | package.path = "libs/?.lua;" .. package.path
13 | --External programs object
14 | require("rdExternal")
15 | ext = rdExternal()
16 |
17 | if((start_stop == nil)or(start_stop == 'start'))then
18 | ext:startOne("/etc/MESHdesk/led.lua " .. what_to_flash .. " &","led.lua")
19 | end
20 |
21 | if(start_stop == 'stop')then
22 | ext:startOne("/etc/MESHdesk/led.lua stop &","led.lua")
23 | end
24 |
25 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/tests/test_system_config.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | --[[--
7 |
8 | This test script will test the rdSystem object class's various methods
9 |
10 | --]]--
11 |
12 | -- Include libraries
13 | package.path = "../libs/?.lua;" .. package.path
14 |
15 | function main()
16 | require("rdSystem")
17 | local s = rdSystem()
18 | print("Version is " .. s:getVersion())
19 | print('Configure System from JSON file')
20 | local f = '/etc/MESHdesk/tests/sample_config.json'
21 | s:configureFromJson(f)
22 | end
23 |
24 | main()
25 |
--------------------------------------------------------------------------------
/files/etc/config/system:
--------------------------------------------------------------------------------
1 | config system
2 | option ttylogin '0'
3 | option log_size '64'
4 | option urandom_seed '0'
5 | option hostname 'M-1'
6 | option timezone 'EST5EDT,M3.2.0,M11.1.0'
7 |
8 | config timeserver 'ntp'
9 | option enabled '1'
10 | option enable_server '0'
11 | list server '0.openwrt.pool.ntp.org'
12 | list server '1.openwrt.pool.ntp.org'
13 | list server '2.openwrt.pool.ntp.org'
14 | list server '3.openwrt.pool.ntp.org'
15 |
16 | config led 'wifi_led'
17 | option name 'wifi'
18 | option trigger 'netdev'
19 | option dev 'bat0'
20 | option mode 'link tx rx'
21 | option sysfs 'replace_me'
22 |
23 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/tests/test_vpn_config.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2025 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | --[[--
7 |
8 | This test script will test the rdVpn object class's various methods
9 |
10 | --]]--
11 |
12 | -- Include libraries
13 | package.path = "../libs/?.lua;" .. package.path
14 |
15 | function main()
16 | require('rdVpn');
17 | local v = rdVpn();
18 | print("Version is " .. v:getVersion());
19 | print("Configure VPN from JSON file");
20 | local f = '/etc/MESHdesk/tests/sample_config_vpn.json';
21 | v:configureFromJson(f);
22 | --v:configureFromTable();
23 | end
24 |
25 | main();
26 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/tests/test_accel_config.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | --[[--
7 |
8 | This test script will test the rdAccel object class's various methods
9 |
10 | --]]--
11 |
12 | -- Include libraries
13 | package.path = "../libs/?.lua;" .. package.path
14 |
15 | function main()
16 | require("rdAccel");
17 | local a = rdAccel();
18 | print("Version is " .. a:getVersion());
19 | print("Configure Accel-ppp from JSON file");
20 | local f = '/etc/MESHdesk/tests/sample_config_accel.json';
21 | a:configureFromJson(f);
22 | --w:configureFromTable()
23 | end
24 |
25 | main();
26 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/tests/test_batman_config.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | --[[--
7 |
8 | This test script will test the rdBatman object class's various methods
9 |
10 | --]]--
11 |
12 | -- Include libraries
13 | package.path = "../libs/?.lua;" .. package.path
14 |
15 | function main()
16 | require("rdBatman")
17 | local b = rdBatman()
18 | print("Version is " .. b:getVersion())
19 | print("Configure Batman adv from JSON file")
20 | local f = '/etc/MESHdesk/tests/sample_config_batman_adv.json'
21 | b:configureFromJson(f)
22 | --w:configureFromTable()
23 | end
24 |
25 | main()
26 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/tests/test_openvpn_config.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | --[[--
7 |
8 | This test script will test the rrdOpenvpn object class's various methods
9 |
10 | --]]--
11 |
12 | -- Include libraries
13 | package.path = "../libs/?.lua;" .. package.path
14 |
15 | function main()
16 | require("rdOpenvpn")
17 | local o = rdOpenvpn()
18 | print("Version is " .. o:getVersion())
19 | print("Configure OpenVPN from JSON file")
20 | local f = '/etc/MESHdesk/tests/sample_config_openvpn.json'
21 | o:configureFromJson(f)
22 | --w:configureFromTable()
23 | end
24 |
25 | main()
26 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/network_hap_ac_l:
--------------------------------------------------------------------------------
1 | config interface 'loopback'
2 | option ifname 'lo'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 |
7 | config interface 'lan'
8 | option type 'bridge'
9 | option ifname 'eth0'
10 | option proto 'dhcp'
11 |
12 | config interface 'client_0'
13 | option proto 'dhcp'
14 |
15 | config interface 'client_1'
16 | option proto 'dhcp'
17 |
18 |
19 | config switch
20 | option name 'switch0'
21 | option reset '1'
22 | option enable_vlan '1'
23 | option ar8xxx_mib_type '0'
24 | option ar8xxx_mib_poll_interval '500'
25 |
26 | config switch_vlan
27 | option device 'switch0'
28 | option vlan '1'
29 | option ports '1 2 3 4 0t'
30 |
31 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/bailout.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 |
3 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
4 | --
5 | -- SPDX-License-Identifier: GPL-3.0-or-later
6 |
7 |
8 | --[[
9 | 24 May 2018
10 | This script can be called when trouble arises as a gentle way to attempt to bring back the hardware to a working state.
11 | Once called it will take 24 hours before activated.
12 | Also remember to call with the & in order to send it to the background
13 | --]]
14 |
15 | -- Include libraries
16 | package.path = "libs/?.lua;" .. package.path;
17 | local socket = require("socket");
18 |
19 | function sleep(sec)
20 | socket.select(nil, nil, sec)
21 | end
22 |
23 | sleep(86400);
24 | os.execute("reboot");
25 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/network_uap-pro:
--------------------------------------------------------------------------------
1 | config interface 'loopback'
2 | option ifname 'lo'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 |
7 | config interface 'lan'
8 | option type 'bridge'
9 | option ifname 'eth0.1'
10 | option proto 'dhcp'
11 |
12 | config interface 'client_0'
13 | option proto 'dhcp'
14 |
15 | config interface 'client_1'
16 | option proto 'dhcp'
17 |
18 | config switch
19 | option name 'switch0'
20 | option reset '1'
21 | option enable_vlan '1'
22 |
23 | config switch_vlan
24 | option device 'switch0'
25 | option vlan '1'
26 | option ports '1 0t'
27 |
28 | config switch_vlan
29 | option device 'switch0'
30 | option vlan '2'
31 | option ports '2 0t'
32 |
33 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/tests/test_interface_stats_config.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2025 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | --[[--
7 |
8 | This test script will test the rdInterfaceStats object class's various methods
9 |
10 | --]]--
11 |
12 | -- Include libraries
13 | package.path = "../libs/?.lua;" .. package.path
14 |
15 | function main()
16 | require('rdInterfaceStats');
17 | local a = rdInterfaceStats();
18 | print("Version is " .. a:getVersion());
19 | print("Configure Interface Stats from JSON file");
20 | local f = '/etc/MESHdesk/tests/sample_config_stats.json';
21 | a:configureFromJson(f);
22 | --w:configureFromTable()
23 | end
24 |
25 | main();
26 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/network_bus_router_1:
--------------------------------------------------------------------------------
1 | config interface 'loopback'
2 | option ifname 'lo'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 |
7 | config interface 'lan'
8 | option type 'bridge'
9 | option ifname 'eth0.1'
10 | option proto 'dhcp'
11 |
12 | config interface 'client_0'
13 | option proto 'dhcp'
14 |
15 | config interface 'client_1'
16 | option proto 'dhcp'
17 |
18 | config switch
19 | option name 'switch0'
20 | option reset '1'
21 | option enable_vlan '1'
22 |
23 | config switch_vlan
24 | option device 'switch0'
25 | option vlan '2'
26 | option ports '4 6t'
27 |
28 | config switch_vlan
29 | option device 'switch0'
30 | option vlan '1'
31 | option ports '0 1 2 3 6t'
32 |
--------------------------------------------------------------------------------
/files/etc/openvpn.user:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | #
3 | # This file is interpreted as shell script.
4 | # Put your custom openvpn action here, they will
5 | # be executed with each opevnp event.
6 | #
7 | # $ACTION
8 | # down action is generated after the TUN/TAP device is closed
9 | # up action is generated after the TUN/TAP device is opened
10 | # $INSTANCE Name of the openvpn instance which went up or down
11 |
12 | A=$1
13 | shift
14 | B=$1
15 | shift
16 | C=$1
17 |
18 |
19 | if [ "$ACTION" = "up" ]; then
20 | BR="br-$INSTANCE"
21 | TAPDEV=$B
22 | logger -s -t "MESHdesk" "OpenVPN up -> Add interface $TAPDEV to bridge $BR"
23 | /sbin/ip link set "$TAPDEV" up
24 | /usr/sbin/brctl addif $BR $TAPDEV
25 | fi
26 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/dhcp_network_one_eth_atheros_yuncore_xd3200:
--------------------------------------------------------------------------------
1 |
2 | config interface 'loopback'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 | option ifname 'lo'
7 |
8 | config interface 'lan'
9 | option ifname 'eth0.1'
10 | option type 'bridge'
11 | option proto 'dhcp'
12 |
13 | config interface 'client'
14 | option proto 'dhcp'
15 |
16 | config interface 'client_0'
17 | option proto 'dhcp'
18 |
19 | config interface 'client_1'
20 | option proto 'dhcp'
21 |
22 | config switch
23 | option name 'switch0'
24 | option reset '1'
25 | option enable_vlan '1'
26 |
27 | config switch_vlan
28 | option device 'switch0'
29 | option vlan '1'
30 | option ports '2 3 0t'
31 |
32 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/network-archer-c7-v5:
--------------------------------------------------------------------------------
1 | config interface 'loopback'
2 | option ifname 'lo'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 |
7 | config interface 'lan'
8 | option type 'bridge'
9 | option ifname 'eth0.1'
10 | option proto 'dhcp'
11 |
12 | config interface 'client_0'
13 | option proto 'dhcp'
14 |
15 | config interface 'client_1'
16 | option proto 'dhcp'
17 |
18 | config switch
19 | option name 'switch0'
20 | option reset '1'
21 | option enable_vlan '1'
22 |
23 | config switch_vlan
24 | option device 'switch0'
25 | option vlan '2'
26 | option ports '2 3 4 5 0t'
27 |
28 | config switch_vlan
29 | option device 'switch0'
30 | option vlan '1'
31 | option ports '1 0t'
32 |
33 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/ipv6/dhcp_network_one_eth_atheros_yuncore_xd3200:
--------------------------------------------------------------------------------
1 |
2 | config interface 'loopback'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 | option ifname 'lo'
7 |
8 | config interface 'lan'
9 | option ifname 'eth0.1'
10 | option type 'bridge'
11 | option proto 'dhcp'
12 |
13 | config interface 'client'
14 | option proto 'dhcp'
15 |
16 | config interface 'client_0'
17 | option proto 'dhcp'
18 |
19 | config interface 'client_1'
20 | option proto 'dhcp'
21 |
22 | config switch
23 | option name 'switch0'
24 | option reset '1'
25 | option enable_vlan '1'
26 |
27 | config switch_vlan
28 | option device 'switch0'
29 | option vlan '1'
30 | option ports '2 3 0t'
31 |
32 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/1/privoxy.conf:
--------------------------------------------------------------------------------
1 | logdir /var/log
2 | logfile privoxy1.log
3 | confdir /etc/privoxy
4 | filterfile default.filter
5 | actionsfile match-all.action
6 | actionsfile default.action
7 | #actionsfile /etc/MESHdesk/captive_portals/1/auth.action
8 | listen-address 10.0.0.4:8118
9 | toggle 1
10 | enable-remote-toggle 1
11 | enable-remote-http-toggle 0
12 | enable-edit-actions 1
13 | enforce-blocks 0
14 | buffer-limit 4096
15 | forwarded-connect-retries 0
16 | accept-intercepted-requests 1
17 | enable-proxy-authentication-forwarding 1
18 | allow-cgi-request-crunching 0
19 | split-large-forms 0
20 | keep-alive-timeout 300
21 | socket-timeout 300
22 | permit-access 10.1.0.0/16
23 | debug 512
24 | debug 1
25 | #forward / 198.27.111.78:3128
26 | forward <10.*> .
27 |
--------------------------------------------------------------------------------
/files/etc/banner:
--------------------------------------------------------------------------------
1 | _____ _____ _____ _ _ _____ _ _
2 | | __ \ /\ | __ \_ _| | | |/ ____| | | | |
3 | | |__) | / \ | | | || | | | | | (___ __| | ___ ___| | __
4 | | _ / / /\ \ | | | || | | | | |\___ \ / _` |/ _ \/ __| |/ /
5 | | | \ \ / ____ \| |__| || |_| |__| |____) | (_| | __/\__ \ <
6 | |_| \_\/_/ \_\_____/_____|\____/|_____/ \__,_|\___||___/_|\_\
7 |
8 | ----------------------------------------------------------------------
9 | ------------- MESHdesk-22-03-0-SEPT-2022-1.bin -----------------------
10 | ----------------------------------------------------------------------
11 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/2/privoxy.conf:
--------------------------------------------------------------------------------
1 | logdir /var/log
2 | logfile privoxy2.log
3 | confdir /etc/privoxy
4 | filterfile default.filter
5 | actionsfile match-all.action
6 | actionsfile default.action
7 | actionsfile /etc/MESHdesk/captive_portals/2/auth.action
8 | listen-address 10.0.0.4:8119
9 | toggle 1
10 | enable-remote-toggle 1
11 | enable-remote-http-toggle 0
12 | enable-edit-actions 1
13 | enforce-blocks 0
14 | buffer-limit 4096
15 | forwarded-connect-retries 0
16 | accept-intercepted-requests 1
17 | enable-proxy-authentication-forwarding 1
18 | allow-cgi-request-crunching 0
19 | split-large-forms 0
20 | keep-alive-timeout 300
21 | socket-timeout 300
22 | permit-access 10.2.0.0/16
23 | debug 512
24 | debug 1
25 | forward / 198.27.111.78:3128
26 | forward <10.*> .
27 |
28 |
29 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/3/privoxy.conf:
--------------------------------------------------------------------------------
1 | logdir /var/log
2 | logfile privoxy3.log
3 | confdir /etc/privoxy
4 | filterfile default.filter
5 | actionsfile match-all.action
6 | actionsfile default.action
7 | actionsfile /etc/MESHdesk/captive_portals/3/auth.action
8 | listen-address 10.0.0.4:8120
9 | toggle 1
10 | enable-remote-toggle 1
11 | enable-remote-http-toggle 0
12 | enable-edit-actions 1
13 | enforce-blocks 0
14 | buffer-limit 4096
15 | forwarded-connect-retries 0
16 | accept-intercepted-requests 1
17 | enable-proxy-authentication-forwarding 1
18 | allow-cgi-request-crunching 0
19 | split-large-forms 0
20 | keep-alive-timeout 300
21 | socket-timeout 300
22 | permit-access 10.3.0.0/16
23 | debug 512
24 | debug 1
25 | forward / 198.27.111.78:3128
26 | forward <10.*> .
27 |
28 |
29 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/4/privoxy.conf:
--------------------------------------------------------------------------------
1 | logdir /var/log
2 | logfile privoxy4.log
3 | confdir /etc/privoxy
4 | filterfile default.filter
5 | actionsfile match-all.action
6 | actionsfile default.action
7 | actionsfile /etc/MESHdesk/captive_portals/4/auth.action
8 | listen-address 10.0.0.4:8121
9 | toggle 1
10 | enable-remote-toggle 1
11 | enable-remote-http-toggle 0
12 | enable-edit-actions 1
13 | enforce-blocks 0
14 | buffer-limit 4096
15 | forwarded-connect-retries 0
16 | accept-intercepted-requests 1
17 | enable-proxy-authentication-forwarding 1
18 | allow-cgi-request-crunching 0
19 | split-large-forms 0
20 | keep-alive-timeout 300
21 | socket-timeout 300
22 | permit-access 10.4.0.0/16
23 | debug 512
24 | debug 1
25 | forward / 198.27.111.78:3128
26 | forward <10.*> .
27 |
28 |
29 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/tests/test_sqlite_reports.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 | --[[--
6 |
7 | This test script will test the rdSqliteReports object class's various methods
8 |
9 | --]]--
10 |
11 | -- Include libraries
12 | --package.path = "../libs/?.lua;" .. package.path
13 |
14 | -- Include libraries
15 | package.path = "../libs/?.lua;./libs/?.lua;" .. package.path
16 |
17 | function main()
18 | require("rdSqliteReports")
19 | local s = rdSqliteReports()
20 | print("Version is " .. s:getVersion())
21 | --print("Soft Init the DB")
22 | --s:initDb();
23 | --print("Run the Report");
24 | --s:runCollect();
25 | print(s:runReport());
26 | end
27 |
28 | main()
29 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/16/privoxy.conf:
--------------------------------------------------------------------------------
1 | logdir /var/log
2 | logfile privoxy16.log
3 | confdir /etc/privoxy
4 | filterfile default.filter
5 | actionsfile match-all.action
6 | actionsfile default.action
7 | actionsfile /etc/MESHdesk/captive_portals/16/auth.action
8 | listen-address 10.0.0.4:8133
9 | toggle 1
10 | enable-remote-toggle 1
11 | enable-remote-http-toggle 0
12 | enable-edit-actions 1
13 | enforce-blocks 0
14 | buffer-limit 4096
15 | forwarded-connect-retries 0
16 | accept-intercepted-requests 1
17 | enable-proxy-authentication-forwarding 1
18 | allow-cgi-request-crunching 0
19 | split-large-forms 0
20 | keep-alive-timeout 300
21 | socket-timeout 300
22 | permit-access 10.16.0.0/24
23 | debug 512
24 | debug 4096
25 | debug 8192
26 | forward / 198.27.111.78:3128
27 | forward <10.*> .
28 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/5/privoxy.conf:
--------------------------------------------------------------------------------
1 | logdir /var/log
2 | logfile privoxy5.log
3 | confdir /etc/privoxy
4 | filterfile default.filter
5 | actionsfile match-all.action
6 | actionsfile default.action
7 | actionsfile /etc/MESHdesk/captive_portals/5/auth.action
8 | listen-address 10.0.0.4:8122
9 | toggle 1
10 | enable-remote-toggle 1
11 | enable-remote-http-toggle 0
12 | enable-edit-actions 1
13 | enforce-blocks 0
14 | buffer-limit 4096
15 | forwarded-connect-retries 0
16 | accept-intercepted-requests 1
17 | enable-proxy-authentication-forwarding 1
18 | allow-cgi-request-crunching 0
19 | split-large-forms 0
20 | keep-alive-timeout 300
21 | socket-timeout 300
22 | permit-access 10.5.0.0/24
23 | debug 512
24 | debug 4096
25 | debug 8192
26 | forward / 198.27.111.78:3128
27 | forward <10.*> .
28 |
29 |
30 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/6/privoxy.conf:
--------------------------------------------------------------------------------
1 | logdir /var/log
2 | logfile privoxy6.log
3 | confdir /etc/privoxy
4 | filterfile default.filter
5 | actionsfile match-all.action
6 | actionsfile default.action
7 | actionsfile /etc/MESHdesk/captive_portals/6/auth.action
8 | listen-address 10.0.0.4:8123
9 | toggle 1
10 | enable-remote-toggle 1
11 | enable-remote-http-toggle 0
12 | enable-edit-actions 1
13 | enforce-blocks 0
14 | buffer-limit 4096
15 | forwarded-connect-retries 0
16 | accept-intercepted-requests 1
17 | enable-proxy-authentication-forwarding 1
18 | allow-cgi-request-crunching 0
19 | split-large-forms 0
20 | keep-alive-timeout 300
21 | socket-timeout 300
22 | permit-access 10.6.0.0/24
23 | debug 512
24 | debug 4096
25 | debug 8192
26 | forward / 198.27.111.78:3128
27 | forward <10.*> .
28 |
29 |
30 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/7/privoxy.conf:
--------------------------------------------------------------------------------
1 | logdir /var/log
2 | logfile privoxy7.log
3 | confdir /etc/privoxy
4 | filterfile default.filter
5 | actionsfile match-all.action
6 | actionsfile default.action
7 | actionsfile /etc/MESHdesk/captive_portals/7/auth.action
8 | listen-address 10.0.0.4:8124
9 | toggle 1
10 | enable-remote-toggle 1
11 | enable-remote-http-toggle 0
12 | enable-edit-actions 1
13 | enforce-blocks 0
14 | buffer-limit 4096
15 | forwarded-connect-retries 0
16 | accept-intercepted-requests 1
17 | enable-proxy-authentication-forwarding 1
18 | allow-cgi-request-crunching 0
19 | split-large-forms 0
20 | keep-alive-timeout 300
21 | socket-timeout 300
22 | permit-access 10.7.0.0/24
23 | debug 512
24 | debug 4096
25 | debug 8192
26 | forward / 198.27.111.78:3128
27 | forward <10.*> .
28 |
29 |
30 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/8/privoxy.conf:
--------------------------------------------------------------------------------
1 | logdir /var/log
2 | logfile privoxy8.log
3 | confdir /etc/privoxy
4 | filterfile default.filter
5 | actionsfile match-all.action
6 | actionsfile default.action
7 | actionsfile /etc/MESHdesk/captive_portals/8/auth.action
8 | listen-address 10.0.0.4:8125
9 | toggle 1
10 | enable-remote-toggle 1
11 | enable-remote-http-toggle 0
12 | enable-edit-actions 1
13 | enforce-blocks 0
14 | buffer-limit 4096
15 | forwarded-connect-retries 0
16 | accept-intercepted-requests 1
17 | enable-proxy-authentication-forwarding 1
18 | allow-cgi-request-crunching 0
19 | split-large-forms 0
20 | keep-alive-timeout 300
21 | socket-timeout 300
22 | permit-access 10.8.0.0/24
23 | debug 512
24 | debug 4096
25 | debug 8192
26 | forward / 198.27.111.78:3128
27 | forward <10.*> .
28 |
29 |
30 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/9/privoxy.conf:
--------------------------------------------------------------------------------
1 | logdir /var/log
2 | logfile privoxy9.log
3 | confdir /etc/privoxy
4 | filterfile default.filter
5 | actionsfile match-all.action
6 | actionsfile default.action
7 | actionsfile /etc/MESHdesk/captive_portals/9/auth.action
8 | listen-address 10.0.0.4:8126
9 | toggle 1
10 | enable-remote-toggle 1
11 | enable-remote-http-toggle 0
12 | enable-edit-actions 1
13 | enforce-blocks 0
14 | buffer-limit 4096
15 | forwarded-connect-retries 0
16 | accept-intercepted-requests 1
17 | enable-proxy-authentication-forwarding 1
18 | allow-cgi-request-crunching 0
19 | split-large-forms 0
20 | keep-alive-timeout 300
21 | socket-timeout 300
22 | permit-access 10.9.0.0/24
23 | debug 512
24 | debug 4096
25 | debug 8192
26 | forward / 198.27.111.78:3128
27 | forward <10.*> .
28 |
29 |
30 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/ipv6/dhcp_network_eth_one:
--------------------------------------------------------------------------------
1 |
2 | config interface 'loopback'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 | option ifname 'lo'
7 |
8 | config interface 'lan'
9 | option ipv6 '1'
10 | option ifname 'eth1'
11 | option type 'bridge'
12 |
13 | config interface 'lan_4'
14 | option proto 'dhcp'
15 | option ifname '@lan'
16 |
17 | config interface 'lan_6'
18 | option proto 'dhcpv6'
19 | option ifname '@lan'
20 | option reqaddress 'try'
21 | option reqprefix 'auto'
22 |
23 | config interface 'client'
24 | option proto 'dhcp'
25 |
26 | config interface 'client_0'
27 | option proto 'dhcp'
28 |
29 | config interface 'client_1'
30 | option proto 'dhcp'
31 |
32 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/ipv6/dhcp_network_one_eth:
--------------------------------------------------------------------------------
1 |
2 | config interface 'loopback'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 | option ifname 'lo'
7 |
8 | config interface 'lan'
9 | option ipv6 '1'
10 | option ifname 'eth0'
11 | option type 'bridge'
12 |
13 | config interface 'lan_4'
14 | option proto 'dhcp'
15 | option ifname '@lan'
16 |
17 | config interface 'lan_6'
18 | option proto 'dhcpv6'
19 | option ifname '@lan'
20 | option reqaddress 'try'
21 | option reqprefix 'auto'
22 |
23 | config interface 'client'
24 | option proto 'dhcp'
25 |
26 | config interface 'client_0'
27 | option proto 'dhcp'
28 |
29 | config interface 'client_1'
30 | option proto 'dhcp'
31 |
32 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/10/privoxy.conf:
--------------------------------------------------------------------------------
1 | logdir /var/log
2 | logfile privoxy10.log
3 | confdir /etc/privoxy
4 | filterfile default.filter
5 | actionsfile match-all.action
6 | actionsfile default.action
7 | actionsfile /etc/MESHdesk/captive_portals/10/auth.action
8 | listen-address 10.0.0.4:8127
9 | toggle 1
10 | enable-remote-toggle 1
11 | enable-remote-http-toggle 0
12 | enable-edit-actions 1
13 | enforce-blocks 0
14 | buffer-limit 4096
15 | forwarded-connect-retries 0
16 | accept-intercepted-requests 1
17 | enable-proxy-authentication-forwarding 1
18 | allow-cgi-request-crunching 0
19 | split-large-forms 0
20 | keep-alive-timeout 300
21 | socket-timeout 300
22 | permit-access 10.10.0.0/24
23 | debug 512
24 | debug 4096
25 | debug 8192
26 | forward / 198.27.111.78:3128
27 | forward <10.*> .
28 |
29 |
30 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/11/privoxy.conf:
--------------------------------------------------------------------------------
1 | logdir /var/log
2 | logfile privoxy11.log
3 | confdir /etc/privoxy
4 | filterfile default.filter
5 | actionsfile match-all.action
6 | actionsfile default.action
7 | actionsfile /etc/MESHdesk/captive_portals/11/auth.action
8 | listen-address 10.0.0.4:8128
9 | toggle 1
10 | enable-remote-toggle 1
11 | enable-remote-http-toggle 0
12 | enable-edit-actions 1
13 | enforce-blocks 0
14 | buffer-limit 4096
15 | forwarded-connect-retries 0
16 | accept-intercepted-requests 1
17 | enable-proxy-authentication-forwarding 1
18 | allow-cgi-request-crunching 0
19 | split-large-forms 0
20 | keep-alive-timeout 300
21 | socket-timeout 300
22 | permit-access 10.11.0.0/24
23 | debug 512
24 | debug 4096
25 | debug 8192
26 | forward / 198.27.111.78:3128
27 | forward <10.*> .
28 |
29 |
30 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/12/privoxy.conf:
--------------------------------------------------------------------------------
1 | logdir /var/log
2 | logfile privoxy12.log
3 | confdir /etc/privoxy
4 | filterfile default.filter
5 | actionsfile match-all.action
6 | actionsfile default.action
7 | actionsfile /etc/MESHdesk/captive_portals/12/auth.action
8 | listen-address 10.0.0.4:8129
9 | toggle 1
10 | enable-remote-toggle 1
11 | enable-remote-http-toggle 0
12 | enable-edit-actions 1
13 | enforce-blocks 0
14 | buffer-limit 4096
15 | forwarded-connect-retries 0
16 | accept-intercepted-requests 1
17 | enable-proxy-authentication-forwarding 1
18 | allow-cgi-request-crunching 0
19 | split-large-forms 0
20 | keep-alive-timeout 300
21 | socket-timeout 300
22 | permit-access 10.12.0.0/24
23 | debug 512
24 | debug 4096
25 | debug 8192
26 | forward / 198.27.111.78:3128
27 | forward <10.*> .
28 |
29 |
30 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/13/privoxy.conf:
--------------------------------------------------------------------------------
1 | logdir /var/log
2 | logfile privoxy13.log
3 | confdir /etc/privoxy
4 | filterfile default.filter
5 | actionsfile match-all.action
6 | actionsfile default.action
7 | actionsfile /etc/MESHdesk/captive_portals/13/auth.action
8 | listen-address 10.0.0.4:8130
9 | toggle 1
10 | enable-remote-toggle 1
11 | enable-remote-http-toggle 0
12 | enable-edit-actions 1
13 | enforce-blocks 0
14 | buffer-limit 4096
15 | forwarded-connect-retries 0
16 | accept-intercepted-requests 1
17 | enable-proxy-authentication-forwarding 1
18 | allow-cgi-request-crunching 0
19 | split-large-forms 0
20 | keep-alive-timeout 300
21 | socket-timeout 300
22 | permit-access 10.13.0.0/24
23 | debug 512
24 | debug 4096
25 | debug 8192
26 | forward / 198.27.111.78:3128
27 | forward <10.*> .
28 |
29 |
30 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/14/privoxy.conf:
--------------------------------------------------------------------------------
1 | logdir /var/log
2 | logfile privoxy14.log
3 | confdir /etc/privoxy
4 | filterfile default.filter
5 | actionsfile match-all.action
6 | actionsfile default.action
7 | actionsfile /etc/MESHdesk/captive_portals/14/auth.action
8 | listen-address 10.0.0.4:8131
9 | toggle 1
10 | enable-remote-toggle 1
11 | enable-remote-http-toggle 0
12 | enable-edit-actions 1
13 | enforce-blocks 0
14 | buffer-limit 4096
15 | forwarded-connect-retries 0
16 | accept-intercepted-requests 1
17 | enable-proxy-authentication-forwarding 1
18 | allow-cgi-request-crunching 0
19 | split-large-forms 0
20 | keep-alive-timeout 300
21 | socket-timeout 300
22 | permit-access 10.14.0.0/24
23 | debug 512
24 | debug 4096
25 | debug 8192
26 | forward / 198.27.111.78:3128
27 | forward <10.*> .
28 |
29 |
30 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/captive_portals/15/privoxy.conf:
--------------------------------------------------------------------------------
1 | logdir /var/log
2 | logfile privoxy15.log
3 | confdir /etc/privoxy
4 | filterfile default.filter
5 | actionsfile match-all.action
6 | actionsfile default.action
7 | actionsfile /etc/MESHdesk/captive_portals/15/auth.action
8 | listen-address 10.0.0.4:8132
9 | toggle 1
10 | enable-remote-toggle 1
11 | enable-remote-http-toggle 0
12 | enable-edit-actions 1
13 | enforce-blocks 0
14 | buffer-limit 4096
15 | forwarded-connect-retries 0
16 | accept-intercepted-requests 1
17 | enable-proxy-authentication-forwarding 1
18 | allow-cgi-request-crunching 0
19 | split-large-forms 0
20 | keep-alive-timeout 300
21 | socket-timeout 300
22 | permit-access 10.15.0.0/24
23 | debug 512
24 | debug 4096
25 | debug 8192
26 | forward / 198.27.111.78:3128
27 | forward <10.*> .
28 |
29 |
30 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/frmwr_network_eth_one_rutx:
--------------------------------------------------------------------------------
1 |
2 | config interface 'loopback'
3 | option ifname 'lo'
4 | option proto 'static'
5 | option ipaddr '127.0.0.1'
6 | option netmask '255.0.0.0'
7 |
8 | config globals 'globals'
9 | option ula_prefix 'fdb1:2e19:8935::/48'
10 |
11 | config interface 'lan'
12 | option ifname 'eth1'
13 | option type 'bridge'
14 | option proto 'dhcp'
15 |
16 | config switch
17 | option name 'switch0'
18 | option reset '1'
19 | option enable_vlan '1'
20 |
21 | config switch_vlan
22 | option device 'switch0'
23 | option vlan '1'
24 | option ports '2 3 4 0'
25 |
26 | config switch_vlan
27 | option device 'switch0'
28 | option vlan '2'
29 | option ports '5 0'
30 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/ipv6/dhcp_network_one_eth_atheros:
--------------------------------------------------------------------------------
1 |
2 | config interface 'loopback'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 | option ifname 'lo'
7 |
8 | config interface 'lan'
9 | option ipv6 '1'
10 | option ifname 'eth0'
11 | option type 'bridge'
12 |
13 | config interface 'lan_4'
14 | option proto 'dhcp'
15 | option ifname '@lan'
16 |
17 | config interface 'lan_6'
18 | option proto 'dhcpv6'
19 | option ifname '@lan'
20 | option reqaddress 'try'
21 | option reqprefix 'auto'
22 |
23 | config interface 'client'
24 | option proto 'dhcp'
25 |
26 | config interface 'client_0'
27 | option proto 'dhcp'
28 |
29 | config interface 'client_1'
30 | option proto 'dhcp'
31 |
32 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/tests/test_reboot_settings.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | --[[--
7 |
8 | This test script will test the rdRebootSettings object class's various methods
9 |
10 | --]]--
11 |
12 | -- Include libraries
13 | package.path = "../libs/?.lua;" .. package.path
14 |
15 | function main()
16 | require("rdRebootSettings")
17 | local r = rdRebootSettings()
18 | print("Version is " .. r:getVersion())
19 | print("Configure Reboot Settings from JSON file")
20 | --local f = '/etc/MESHdesk/tests/sample_config_batman_adv.json'
21 | local f = '/etc/MESHdesk/configs/current.json'
22 | --r:configureFromJson(f)
23 | --r:configureFromTable()
24 | r:clear();
25 | end
26 |
27 | main()
28 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/tests/test_wifi_config.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | --[[--
7 |
8 | This test script will test the rdWireless object class's various methods
9 |
10 | --]]--
11 |
12 | -- Include libraries
13 | package.path = "../libs/?.lua;" .. package.path
14 |
15 | function main()
16 | require("rdWireless")
17 | local w = rdWireless()
18 | print("Version is " .. w:getVersion())
19 | print("Running newWireless")
20 | w:newWireless()
21 | --print("Connect client")
22 | --w:connectClient()
23 | --print('Configure WiFi from JSON file')
24 | --local f = '/etc/MESHdesk/tests/sample_config.json'
25 | --w:configureFromJson(f)
26 | --w:configureFromTable()
27 | end
28 |
29 | main()
30 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/ipv6/dhcp_network_two_eth:
--------------------------------------------------------------------------------
1 |
2 | config interface 'loopback'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 | option ifname 'lo'
7 |
8 | config interface 'lan'
9 | option ipv6 '1'
10 | option ifname 'eth0'
11 | option type 'bridge'
12 |
13 | config interface 'lan_4'
14 | option proto 'dhcp'
15 | option ifname '@lan'
16 |
17 | config interface 'lan_6'
18 | option proto 'dhcpv6'
19 | option ifname '@lan'
20 | option reqaddress 'try'
21 | option reqprefix 'auto'
22 |
23 | config interface 'client'
24 | option proto 'dhcp'
25 |
26 | config interface 'client_0'
27 | option proto 'dhcp'
28 |
29 | config interface 'client_1'
30 | option proto 'dhcp'
31 |
32 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/network_bravotek_ap1200:
--------------------------------------------------------------------------------
1 | config interface 'loopback'
2 | option ifname 'lo'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 |
7 | config device
8 | option name 'br-lan'
9 | option type 'bridge'
10 | list ports 'eth0.1'
11 |
12 | config interface 'lan'
13 | option device 'br-lan'
14 | option proto 'dhcp'
15 |
16 | config interface 'client_0'
17 | option proto 'dhcp'
18 |
19 | config interface 'client_1'
20 | option proto 'dhcp'
21 |
22 | config switch
23 | option name 'switch0'
24 | option reset '1'
25 | option enable_vlan '1'
26 |
27 | config switch_vlan
28 | option device 'switch0'
29 | option vlan '2'
30 | option ports '2 0t'
31 |
32 | config switch_vlan
33 | option device 'switch0'
34 | option vlan '1'
35 | option ports '3 0t'
36 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/network_xiaomi_4c:
--------------------------------------------------------------------------------
1 | config interface 'loopback'
2 | option device 'lo'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 |
7 | config device
8 | option name 'br-lan'
9 | option type 'bridge'
10 | list ports 'eth0.1'
11 |
12 | config interface 'lan'
13 | option device 'br-lan'
14 | option proto 'dhcp'
15 |
16 | config interface 'client_0'
17 | option proto 'dhcp'
18 |
19 | config interface 'client_1'
20 | option proto 'dhcp'
21 |
22 | config switch
23 | option name 'switch0'
24 | option reset '1'
25 | option enable_vlan '1'
26 |
27 | config switch_vlan
28 | option device 'switch0'
29 | option vlan '2'
30 | option ports '4 2 6t'
31 |
32 | config switch_vlan
33 | option device 'switch0'
34 | option vlan '1'
35 | option ports '1 6t'
36 |
37 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/network_mt_rb750_gr3:
--------------------------------------------------------------------------------
1 | config interface 'loopback'
2 | option proto 'static'
3 | option ipaddr '127.0.0.1'
4 | option netmask '255.0.0.0'
5 | option ifname 'lo'
6 |
7 | config interface 'lan'
8 | option ifname 'eth0.1'
9 | option type 'bridge'
10 | option proto 'dhcp'
11 |
12 | config interface 'client'
13 | option proto 'dhcp'
14 |
15 | config interface 'client_0'
16 | option proto 'dhcp'
17 |
18 | config interface 'client_1'
19 | option proto 'dhcp'
20 |
21 | config switch
22 | option name 'switch0'
23 | option reset '1'
24 | option enable_vlan '1'
25 |
26 | config switch_vlan
27 | option device 'switch0'
28 | option vlan '2'
29 | option ports '1 2 3 4 6t'
30 |
31 | config switch_vlan
32 | option device 'switch0'
33 | option vlan '1'
34 | option ports '0 6t'
35 |
36 |
--------------------------------------------------------------------------------
/luci-app-meshdesk/luasrc/controller/meshdesk/meshdesk.lua:
--------------------------------------------------------------------------------
1 | module("luci.controller.meshdesk.meshdesk", package.seeall)
2 |
3 | function index()
4 | entry( {"admin", "services", "meshdesk"}, cbi("meshdesk/meshdesk"), _("MESHdesk Settings"), 59).acl_depends = { "luci-app-meshdesk" }
5 | -- entry( {"admin", "services", "meshdesk"}, template("meshdesk/index"), _("MESHdesk Settings"), 59).acl_depends = { "luci-app-meshdesk" }
6 | -- entry( {"admin", "services", "meshdesk"}, call("action_tryme"), _("MESHdesk Settings"), 59).acl_depends = { "luci-app-meshdesk" }
7 | entry({"click", "here", "now"}, call("action_tryme"), "Click here", 10).dependent=false
8 |
9 | end
10 |
11 | function action_tryme()
12 | luci.http.prepare_content("text/plain")
13 | luci.http.write("Haha, rebooting now...")
14 | -- luci.sys.reboot()
15 | end
16 |
17 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/dhcp_network_one_eth_mediatek:
--------------------------------------------------------------------------------
1 |
2 | config interface 'loopback'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 | option ifname 'lo'
7 |
8 | config interface 'lan'
9 | option ifname 'eth0.1'
10 | option type 'bridge'
11 | option proto 'dhcp'
12 |
13 | config interface 'client_0'
14 | option proto 'dhcp'
15 |
16 | config interface 'client_1'
17 | option proto 'dhcp'
18 |
19 | config switch
20 | option name 'switch0'
21 | option reset '1'
22 | option enable_vlan '1'
23 |
24 | config switch_vlan
25 | option device 'switch0'
26 | option vlan '2'
27 | option ports '0 1 2 3 6t'
28 |
29 | config switch_vlan
30 | option device 'switch0'
31 | option vlan '1'
32 | option ports '4 6t'
33 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/network_xiaomi_4a_100:
--------------------------------------------------------------------------------
1 | config interface 'loopback'
2 | option device 'lo'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 |
7 | config device
8 | option name 'br-lan'
9 | option type 'bridge'
10 | list ports 'eth0.1'
11 |
12 | config interface 'lan'
13 | option device 'br-lan'
14 | option proto 'dhcp'
15 |
16 | config interface 'client_0'
17 | option proto 'dhcp'
18 |
19 | config interface 'client_1'
20 | option proto 'dhcp'
21 |
22 | config switch
23 | option name 'switch0'
24 | option reset '1'
25 | option enable_vlan '1'
26 |
27 | config switch_vlan
28 | option device 'switch0'
29 | option vlan '1'
30 | option ports '0 6t'
31 |
32 | config switch_vlan
33 | option device 'switch0'
34 | option vlan '2'
35 | option ports '4 2 6t'
36 |
37 |
38 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/gpio_utils/gpio_set_clear.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | if [ -z "$1" ] && [ -z "$2" ];
4 | then
5 | echo "===============radiusdesk.com==================="
6 | echo "===GPIO Utility script to set and clear GPIO ==="
7 | echo "=== usage gpio_set_clear.sh gpio_nr 0/1 ========"
8 | echo "=== e.g. gpio_set_clear.sh 18 0 ================"
9 | echo "=== to clear gpio 18 ==========================="
10 | exit;
11 | fi
12 |
13 | PIN=$1
14 | ACTION=$2
15 | PRE_ACTION=1
16 | if [ $ACTION == 1 ];
17 | then
18 | PRE_ACTION=0
19 | fi
20 |
21 | echo $PIN > /sys/class/gpio/export
22 | echo "high" > /sys/class/gpio/gpio$PIN/direction
23 | echo $PRE_ACTION > /sys/class/gpio/gpio$PIN/value
24 | echo $ACTION > /sys/class/gpio/gpio$PIN/value
25 | echo "GPIO $PIN SET TO `cat /sys/class/gpio/gpio$PIN/value`"
26 | echo $PIN > /sys/class/gpio/unexport
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/configs/dhcp_network_one_eth_mediatek_1226:
--------------------------------------------------------------------------------
1 |
2 | config interface 'loopback'
3 | option proto 'static'
4 | option ipaddr '127.0.0.1'
5 | option netmask '255.0.0.0'
6 | option ifname 'lo'
7 |
8 | config interface 'lan'
9 | option ifname 'eth0.1'
10 | option type 'bridge'
11 | option proto 'dhcp'
12 |
13 | config interface 'client'
14 | option proto 'dhcp'
15 |
16 | config interface 'client_0'
17 | option proto 'dhcp'
18 |
19 | config interface 'client_1'
20 | option proto 'dhcp'
21 |
22 | config switch
23 | option name 'switch0'
24 | option reset '1'
25 | option enable_vlan '1'
26 |
27 | config switch_vlan
28 | option device 'switch0'
29 | option vlan '2'
30 | option ports '0 1 6t'
31 |
32 | config switch_vlan
33 | option device 'switch0'
34 | option vlan '1'
35 | option ports '4 6t'
36 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/mqtt_watcher.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 |
3 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
4 | --
5 | -- SPDX-License-Identifier: GPL-3.0-or-later
6 |
7 |
8 | -- Include Libraries
9 | package.path = "libs/?.lua;" .. package.path
10 |
11 | function watch_mqtt()
12 | local chck_mqtt_proc = io.popen("ps | grep mqtt.lua | head -1")
13 | local chck_mqtt_proc_str = chck_mqtt_proc:read("*line")
14 | chck_mqtt_proc:close()
15 |
16 | chck_mqtt_proc_str = string.match(chck_mqtt_proc_str,"grep")
17 |
18 | if chck_mqtt_proc_str ~= nil then
19 | -- mqtt.lua is not running, try to start it up
20 | os.execute("cd /etc/MESHdesk && ./mqtt.lua &")
21 | end
22 | end
23 |
24 | while true do
25 | -- Wait for 30 seconds
26 | os.execute("sleep 30")
27 |
28 | -- Watch mqtt.lua and start it up when necessary
29 | watch_mqtt()
30 | end
31 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/test_ping.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 |
3 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
4 | --
5 | -- SPDX-License-Identifier: GPL-3.0-or-later
6 |
7 |
8 | --[[--
9 |
10 | Startup script to get the config of the device from the config server
11 |
12 | --]]--
13 |
14 | -- Include libraries
15 | package.path = "libs/?.lua;" .. package.path
16 |
17 | --Configure object
18 | require("rdConfig");
19 |
20 | local n = require "nixio";
21 | local a = n.getaddrinfo('cloud.mesh-manager.com');
22 |
23 | local util = require "luci.util";
24 |
25 | if(a)then
26 | print(util.dumptable(a));
27 | print(a[1]['address']);
28 |
29 | local c = rdConfig();
30 | local server = "192.168.1.1";
31 | end
32 |
33 | --[[--
34 | if(c:pingTest(server))then
35 | print("I could ping "..server);
36 | else
37 | print("No ping for "..server);
38 | end
39 | --]]--
40 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/md_prerun:
--------------------------------------------------------------------------------
1 | #!/bin/sh /etc/rc.common
2 | # ============================================
3 | # == MESHdesk Startup Script =============
4 | # == OpenWRT version 21.01 ===================
5 | # == Date 2021-10-18 =========================
6 | # ============================================
7 |
8 | START=99
9 | STOP=99
10 | DIR='/etc/MESHdesk'
11 |
12 | start() {
13 |
14 | if [ ! -e /etc/MESHdesk/configs/firewall ]; then
15 | echo "Store original Firewall"
16 | cp /etc/config/firewall /etc/MESHdesk/configs/
17 | fi
18 |
19 | if [ ! -e /etc/MESHdesk/configs/dhcp ]; then
20 | echo "Store original DHCP"
21 | cp /etc/config/dhcp /etc/MESHdesk/configs/
22 | fi
23 |
24 | echo start
25 | cd $DIR
26 | PID=`pidof a.lua`
27 | if [ -z $PID ]; then
28 | ./a.lua &
29 | fi
30 |
31 | }
32 |
33 | stop() {
34 | echo stop
35 | killall /etc/MESHdesk/a.lua
36 | }
37 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Building the Firmware
2 |
3 | ### Building the MESHdesk firmware using OpenWRT 23.05.x
4 | * [MESHdesk on OpenWrt 23.05.x](https://www.radiusdesk.com/wiki24/network/firmware/home)
5 |
6 | # Licensing
7 | * All the code is published under the **GNU General Public License v3.0**.
8 | * This means that you may make modifications and changes.
9 |
10 | # Funding
11 |
12 | This project also received funding through [NGI0 Entrust](https://nlnet.nl/entrust), a fund established by [NLnet](https://nlnet.nl) with financial support from the European Commission's [Next Generation Internet](https://ngi.eu) program.
13 | Learn more at the [NLnet project page](https://nlnet.nl/project/RADIUSdesk-Multiwan).
14 |
15 | [
](https://nlnet.nl)
16 | [
](https://nlnet.nl/entrust)
17 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/tests/test_accel_stats.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/lua
2 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
3 | --
4 | -- SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | --[[--
7 |
8 | This test script will test the rdAccel object class's various methods
9 |
10 | --]]--
11 |
12 | -- Include libraries
13 | package.path = "../libs/?.lua;" .. package.path
14 |
15 | function main()
16 | local json = require('luci.json');
17 | require("rdAccelstats");
18 | local a = rdAccelstats();
19 | print("Version is " .. a:getVersion());
20 | print("Configure Accel-ppp from JSON file");
21 |
22 | local pwd = a:getPassword();
23 | print(pwd);
24 |
25 |
26 | --local stat = a:showStat();
27 | --local j_stat= json.encode(stat);
28 | --print(j_stat);
29 | --local sess = a:showSessions();
30 | --local j_sess= json.encode(sess);
31 | --print(j_sess);
32 |
33 | --print(accel_stats);
34 | end
35 |
36 | main();
37 |
--------------------------------------------------------------------------------
/luci-app-meshdesk/Makefile:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2008-2015 The LuCI Team
3 | #
4 | # This is free software, licensed under the Apache License, Version 2.0 .
5 | #
6 |
7 | include $(TOPDIR)/rules.mk
8 |
9 | PKG_NAME:=luci-app-meshdesk
10 |
11 | # Version == major.minor.patch
12 | # increase "minor" on new functionality and "patch" on patches/optimization
13 | PKG_VERSION:=8.0.0
14 |
15 | # Release == build
16 | # increase on changes of translation files
17 | PKG_RELEASE:=1
18 |
19 | PKG_LICENSE:=Apache-2.0
20 | PKG_MAINTAINER:=Dirk van der Walt
21 |
22 | # LuCI specific settings
23 | LUCI_TITLE:=LuCI Support for MESHdesk firmware
24 | LUCI_DEPENDS:=+luci-mod-admin-full
25 | LUCI_PKGARCH:=all
26 |
27 | define Package/$(PKG_NAME)/config
28 | # shown in make menuconfig
29 | help
30 | $(LUCI_TITLE)
31 | .
32 | Version: $(PKG_VERSION)-$(PKG_RELEASE)
33 | $(PKG_MAINTAINER)
34 | endef
35 |
36 | include ../../luci.mk
37 |
38 | # call BuildPackage - OpenWrt buildroot signature
39 |
40 |
--------------------------------------------------------------------------------
/MESHdesk/files/MESHdesk/libs/rdLogger.lua:
--------------------------------------------------------------------------------
1 | -- SPDX-FileCopyrightText: 2024 Dirk van der Walt
2 | --
3 | -- SPDX-License-Identifier: GPL-3.0-or-later
4 |
5 | require( "class" )
6 |
7 | -------------------------------------------------------------------------------
8 | -- Morse class used to flicker a morse code on a specified LED ----------------
9 | -------------------------------------------------------------------------------
10 | class "rdLogger"
11 |
12 | --Init function for object
13 | function rdLogger:rdLogger()
14 | self.version = "1.0.1"
15 | self.tag = "MESHdesk"
16 | self.priority = "debug"
17 | end
18 |
19 | function rdLogger:getVersion()
20 | return self.version
21 | end
22 |
23 |
24 | function rdLogger:log(message,priority)
25 | priority = priority or self.priority
26 | os.execute("logger -t " .. self.tag .. " -p '" .. priority .. "' '" .. message.."'")
27 | end
28 |
29 | --[[--
30 | ========================================================
31 | === Private functions start here =======================
32 | ========================================================
33 | --]]--
34 |
35 |
--------------------------------------------------------------------------------
/LICENSES/MIT.txt:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) [year] [fullname]
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/files/usr/share/ucode/luci/template/themes/material/footer.ut:
--------------------------------------------------------------------------------
1 | {#
2 | Material is a clean HTML5 theme for LuCI. It is based on luci-theme-bootstrap and MUI
3 |
4 | luci-theme-material
5 | Copyright 2015 Lutty Yang
6 |
7 | Have a bug? Please create an issue here on GitHub!
8 | https://github.com/LuttyYang/luci-theme-material/issues
9 |
10 | luci-theme-bootstrap:
11 | Copyright 2008 Steven Barth
12 | Copyright 2008 Jo-Philipp Wich
13 | Copyright 2012 David Menting
14 |
15 | MUI:
16 | https://github.com/muicss/mui
17 |
18 | Licensed to the public under the Apache License 2.0
19 | -#}
20 |
21 |
22 |
27 |
28 |
29 |
30 |
31 |
32 |