#!/usr/bin/env bash # shellcheck disable=SC2034 # This file contains a set of device profiles for openwrtbuilder # bash doesn't like nested arrays so we use strings instead # Packages to install for all profiles default_packages="\ luci \ luci-ssl \ nano \ htop \ diffutils \ tar \ iperf3 \ bash \ rsync \ luci-app-statistics \ luci-app-attendedsysupgrade \ collectd-mod-sensors \ collectd-mod-thermal \ collectd-mod-conntrack \ collectd-mod-cpu" ################# # Current devices ################# # Main router declare -Ag r4s r4s['device']="friendlyarm_nanopi-r4s" r4s['target']="rockchip/armv8" r4s['filesystem']="ext4" r4s['packages']="\ $default_packages \ luci-app-wireguard \ luci-proto-wireguard \ luci-app-ddns \ irqbalance \ collectd-mod-df \ usbutils \ kmod-usb-storage \ kmod-usb-storage-uas \ kmod-fs-btrfs \ btrfs-progs \ block-mount \ smcroute \ avahi-daemon \ curl \ ethtool \ ca-bundle \ -libustream-wolfssl" # The following are source mode only r4s['kopts']="\ CONFIG_KERNEL_BTRFS_FS_POSIX_ACL=y \ CONFIG_BTRFS_PROGS_ZSTD=y \ CONFIG_TARGET_ROOTFS_PARTSIZE=512 \ CONFIG_TARGET_KERNEL_PARTSIZE=32" r4s['files']="\ /mnt/backup" # WDS mesh nodes declare -Ag ax6000 ax6000['device']="xiaomi_redmi-router-ax6000-stock" ax6000['target']="mediatek/filogic" ax6000['release']="snapshot" ax6000['filesystem']="squashfs" ax6000['packages']="\ $default_packages \ -dnsmasq \ -odhcpd-ipv6only \ -nftables \ -firewall4" # for 802.11s # mesh11sd \ # -wpad-basic-mbedtls \ # wpad-mesh-mbedtls" # WDS mesh nodes declare -Ag ax6000_ap ax6000_ap['device']="xiaomi_redmi-router-ax6000-stock" ax6000_ap['target']="mediatek/filogic" ax6000_ap['release']="snapshot" ax6000_ap['filesystem']="squashfs" ax6000_ap['packages']="\ $default_packages \ avahi-daemon \ smcroute \ ca-bundle" # For converted uboots # declare -Ag ax6000_uboot # ax6000_uboot['device']="xiaomi_redmi-router-ax6000-ubootmod" # ax6000_uboot['target']="mediatek/filogic" # ax6000_uboot['release']="snapshot" # ax6000_uboot['filesystem']="squashfs" # ax6000_uboot['packages']="\ # $default_packages \ # -dnsmasq \ # -odhcpd-ipv6only \ # -nftables \ # -firewall4 \ # -kmod-nft-offload \ # collectd-mod-iwinfo" # Remote NAS declare -Ag n5100 n5100['device']="generic" n5100['target']="x86/64" n5100['filesystem']="squashfs" n5100['packages']="\ $default_packages \ luci-app-wireguard \ luci-proto-wireguard \ luci-app-ddns \ irqbalance \ collectd-mod-df \ usbutils \ kmod-usb-storage \ kmod-usb-storage-uas \ kmod-fs-btrfs \ btrfs-progs \ block-mount \ cryptsetup \ kmod-crypto-xts \ smcroute \ avahi-daemon \ curl \ ethtool \ ca-bundle \ smartmontools \ intel-microcode \ lm-sensors \ samba4-server \ luci-app-samba4 \ tailscale \ shadow-useradd" # The following are source mode only n5100['kopts']="\ CONFIG_KERNEL_BTRFS_FS_POSIX_ACL=y \ CONFIG_BTRFS_PROGS_ZSTD=y \ CONFIG_TARGET_ROOTFS_PARTSIZE=512 \ CONFIG_TARGET_KERNEL_PARTSIZE=32" n5100['files']="\ /mnt/backup" # Dusty drawer declare -Ag rpi4 rpi4['device']="rpi-4" rpi4['target']="bcm27xx/bcm2711" rpi4['filesystem']="ext4" rpi4['packages']="\ $default_packages \ kmod-usb-net-asix-ax88179 \ kmod-usb-net-rtl8152 \ luci-app-upnp \ luci-app-wireguard \ luci-app-pbr \ -dnsmasq \ dnsmasq-full \ luci-app-ddns \ luci-app-sqm" ################# # Stock builds ################# declare -Ag r4s_stock r4s_stock['device']="friendlyarm_nanopi-r4s" r4s_stock['target']="rockchip/armv8" r4s_stock['filesystem']="ext4" r4s_stock['release']="snapshot" ################# # Old devices ################# declare -Ag totolink totolink['device']="totolink_x5000r" totolink['target']="ramips/mt7621" totolink['filesystem']="squashfs" totolink['packages']="\ $default_packages \ -dnsmasq \ -odhcpd-ipv6only \ -nftables \ -firewall4 \ -kmod-nft-offload \ collectd-mod-iwinfo" declare -Ag archer archer['device']="tplink_archer-c7-v2" archer['target']="ath79/generic" archer['filesystem']="squashfs" archer['packages']="\ $default_packages \ -dnsmasq \ -odhcpd \ -iptables \ -ath10k-firmware-qca988x-ct \ ath10k-firmware-qca988x-ct-full-htt" declare -Ag linksys linksys['device']="linksys_ea8300" linksys['target']="ipq40xx/generic" linksys['filesystem']="squashfs" linksys['packages']="\ $default_packages \ -dnsmasq \ -odhcpd \ -iptables" declare -Ag r2s r2s['device']="friendlyarm_nanopi-r2s" r2s['target']="rockchip/armv8" r2s['filesystem']="ext4" r2s['packages']="\ $default_packages \ luci-app-upnp \ luci-app-wireguard \ luci-app-pbr \ -dnsmasq \ dnsmasq-full \ luci-app-ddns \ luci-app-sqm \ luci-app-statistics \ collectd-mod-sensors \ collectd-mod-thermal \ collectd-mod-conntrack \ smcroute \ curl \ ethtool" declare -Ag r2s_tr r2s_tr['device']="friendlyarm_nanopi-r2s" r2s_tr['target']="rockchip/armv8" r2s_tr['filesystem']="ext4" r2s_tr['packages']="\ $default_packages \ luci-app-upnp \ luci-app-wireguard \ luci-app-pbr \ luci-app-ddns \ luci-app-statistics \ collectd-mod-sensors \ collectd-mod-thermal \ collectd-mod-conntrack \ curl \ ethtool \ travelmate"