2022-10-10 10:30:43 -04:00
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
|
|
|
|
PKG_NAME:=blue-merle
|
2024-06-24 06:11:36 -04:00
|
|
|
PKG_VERSION:=2.0.3
|
2022-10-10 10:30:43 -04:00
|
|
|
PKG_RELEASE:=$(AUTORELEASE)
|
|
|
|
|
|
|
|
PKG_MAINTAINER:=Matthias <matthias@srlabs.de>
|
|
|
|
PKG_LICENSE:=BSD-3-Clause
|
|
|
|
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
|
|
|
|
define Package/blue-merle
|
|
|
|
SECTION:=utils
|
|
|
|
CATEGORY:=Utilities
|
2023-10-16 09:16:00 -04:00
|
|
|
EXTRA_DEPENDS:=luci-base, gl-sdk4-mcu, coreutils-shred, python3-pyserial
|
2022-10-10 10:30:43 -04:00
|
|
|
TITLE:=Anonymity Enhancements for GL-E750 Mudi
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Package/blue-merle/description
|
|
|
|
The blue-merle package enhances anonymity and reduces forensic traceability of the GL-E750 Mudi 4G mobile wi-fi router
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Build/Configure
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Build/Compile
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Package/blue-merle/install
|
|
|
|
$(CP) ./files/* $(1)/
|
|
|
|
$(INSTALL_BIN) ./files/etc/init.d/* $(1)/etc/init.d/
|
2023-10-16 08:03:10 -04:00
|
|
|
$(INSTALL_BIN) ./files/etc/gl-switch.d/* $(1)/etc/gl-switch.d/
|
2023-10-17 08:48:47 -04:00
|
|
|
$(INSTALL_BIN) ./files/usr/bin/* $(1)/usr/bin/
|
2023-10-16 06:44:11 -04:00
|
|
|
$(INSTALL_BIN) ./files/usr/libexec/blue-merle $(1)/usr/libexec/blue-merle
|
2023-10-16 10:25:23 -04:00
|
|
|
$(INSTALL_BIN) ./files/lib/blue-merle/imei_generate.py $(1)/lib/blue-merle/imei_generate.py
|
2022-10-10 10:30:43 -04:00
|
|
|
endef
|
|
|
|
|
|
|
|
define Package/blue-merle/preinst
|
|
|
|
#!/bin/sh
|
|
|
|
[ -n "$${IPKG_INSTROOT}" ] && exit 0 # if run within buildroot exit
|
|
|
|
|
|
|
|
ABORT_GLVERSION () {
|
|
|
|
echo
|
|
|
|
if [ -f "/tmp/sysinfo/model" ] && [ -f "/etc/glversion" ]; then
|
|
|
|
echo "You have a `cat /tmp/sysinfo/model`, running firmware version `cat /etc/glversion`."
|
|
|
|
fi
|
2024-06-24 06:02:36 -04:00
|
|
|
echo "blue-merle has only been tested with GL-E750 Mudi Versions up to 4.3.17"
|
2022-10-10 10:30:43 -04:00
|
|
|
echo "The device or firmware version you are using have not been verified to work with blue-merle."
|
|
|
|
echo -n "Would you like to continue on your own risk? (y/N): "
|
|
|
|
read answer
|
|
|
|
case $$answer in
|
|
|
|
y*) answer=0;;
|
|
|
|
y*) answer=0;;
|
|
|
|
*) answer=1;;
|
|
|
|
esac
|
|
|
|
if [[ "$$answer" -eq 0 ]]; then
|
|
|
|
exit 0
|
|
|
|
else
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
if grep -q "GL.iNet GL-E750" /proc/cpuinfo; then
|
2023-08-25 08:27:31 -04:00
|
|
|
GL_VERSION=$$(cat /etc/glversion)
|
|
|
|
case $$GL_VERSION in
|
2023-10-16 06:44:11 -04:00
|
|
|
4.3.8)
|
2024-05-21 06:53:57 -04:00
|
|
|
echo Version $$GL_VERSION is supported but includes known vulnerabilities please update to latest version
|
2023-08-25 08:27:31 -04:00
|
|
|
exit 0
|
|
|
|
;;
|
2024-02-27 11:11:35 -05:00
|
|
|
4.3.9)
|
2024-05-21 06:53:57 -04:00
|
|
|
echo Version $$GL_VERSION is supported but includes known vulnerabilities please update to latest version
|
2024-02-27 11:11:35 -05:00
|
|
|
exit 0
|
|
|
|
;;
|
2024-05-21 06:53:57 -04:00
|
|
|
4.3.12)
|
2024-06-24 06:02:36 -04:00
|
|
|
echo Version $$GL_VERSION is supported but includes known vulnerabilities please update to latest version
|
|
|
|
|
|
|
|
exit 0
|
|
|
|
;;
|
|
|
|
4.3.17)
|
2024-05-21 06:53:57 -04:00
|
|
|
echo Version $$GL_VERSION is supported
|
|
|
|
exit 0
|
|
|
|
;;
|
2024-02-27 11:11:35 -05:00
|
|
|
4.*)
|
2023-08-25 08:27:31 -04:00
|
|
|
echo Version $$GL_VERSION is *probably* supported
|
|
|
|
ABORT_GLVERSION
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo Unknown version $$GL_VERSION
|
|
|
|
ABORT_GLVERSION
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
CHECK_MCUVERSION
|
2022-10-10 10:30:43 -04:00
|
|
|
else
|
|
|
|
ABORT_GLVERSION
|
|
|
|
fi
|
2023-10-18 08:27:55 -04:00
|
|
|
|
|
|
|
# Our volatile-mac service gets started during the installation
|
|
|
|
# but it modifies the client database held by the gl_clients process.
|
|
|
|
# So we stop that process now, have the database put onto volatile storage
|
|
|
|
# and start the service after installation
|
|
|
|
/etc/init.d/gl_clients stop
|
2022-10-10 10:30:43 -04:00
|
|
|
endef
|
|
|
|
|
|
|
|
define Package/blue-merle/postinst
|
|
|
|
#!/bin/sh
|
2023-10-16 09:16:51 -04:00
|
|
|
uci set switch-button.@main[0].func='sim'
|
|
|
|
uci commit switch-button
|
2023-10-18 08:27:55 -04:00
|
|
|
|
|
|
|
/etc/init.d/gl_clients start
|
|
|
|
|
2023-10-16 10:09:55 -04:00
|
|
|
echo {\"msg\": \"Successfully installed Blue Merle\"} > /dev/ttyS0
|
2022-10-10 10:30:43 -04:00
|
|
|
endef
|
|
|
|
|
|
|
|
define Package/blue-merle/postrm
|
|
|
|
#!/bin/sh
|
2023-10-16 09:16:51 -04:00
|
|
|
uci set switch-button.@main[0].func='tor'
|
2022-10-10 10:30:43 -04:00
|
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,$(PKG_NAME)))
|