# Copyright (C) 2018-2020 L-WRT Team # Copyright (C) 2021 xiaorouji # This is free software, licensed under the GNU General Public License v3. # include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-passwall PKG_VERSION:=4 PKG_RELEASE:=12 PKG_DATE:=20210127 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) include $(INCLUDE_DIR)/package.mk define Package/$(PKG_NAME)/config menu "Configuration" config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks bool "Include Shadowsocks" default y config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Server bool "Include Shadowsocks Server" default y config PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR bool "Include ShadowsocksR" default y config PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Server bool "Include ShadowsocksR Server" default y config PACKAGE_$(PKG_NAME)_INCLUDE_Xray bool "Include Xray" default y if i386||x86_64||arm||aarch64 config PACKAGE_$(PKG_NAME)_INCLUDE_V2ray bool "Include V2ray" default n config PACKAGE_$(PKG_NAME)_INCLUDE_Trojan_Plus bool "Include Trojan_Plus" default y config PACKAGE_$(PKG_NAME)_INCLUDE_Trojan_GO bool "Include Trojan_GO" default y if i386||x86_64||arm||aarch64 config PACKAGE_$(PKG_NAME)_INCLUDE_Brook bool "Include Brook" default n config PACKAGE_$(PKG_NAME)_INCLUDE_NaiveProxy bool "Include NaiveProxy" default n config PACKAGE_$(PKG_NAME)_INCLUDE_kcptun bool "Include kcptun" default n config PACKAGE_$(PKG_NAME)_INCLUDE_haproxy bool "Include haproxy" default y config PACKAGE_$(PKG_NAME)_INCLUDE_ChinaDNS_NG bool "Include ChinaDNS-NG" default n config PACKAGE_$(PKG_NAME)_INCLUDE_dns2socks bool "Include dns2socks" default n config PACKAGE_$(PKG_NAME)_INCLUDE_v2ray-plugin bool "Include v2ray-plugin (Shadowsocks plugin)" default y if i386||x86_64||arm||aarch64 config PACKAGE_$(PKG_NAME)_INCLUDE_simple-obfs bool "Include simple-obfs (Shadowsocks plugin)" default y if i386||x86_64||arm||aarch64 endmenu endef define Package/$(PKG_NAME) CATEGORY:=LuCI SUBMENU:=3. Applications TITLE:=LuCI support for PassWall PKGARCH:=all DEPENDS:=+libmbedtls +iptables-mod-tproxy +ip +ipset +coreutils +coreutils-base64 +coreutils-nohup +luci-lib-jsonc \ +curl +ca-certificates +resolveip +unzip +dnsmasq-full +tcping +libuci-lua \ +ipt2socks \ +microsocks \ +pdnsd-alt \ +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks:shadowsocks-libev-ss-redir \ +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks:shadowsocks-libev-ss-local \ +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Server:shadowsocks-libev-ss-server \ +PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR:shadowsocksr-libev-ssr-redir \ +PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR:shadowsocksr-libev-ssr-local \ +PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Server:shadowsocksr-libev-ssr-server \ +PACKAGE_$(PKG_NAME)_INCLUDE_Xray:xray \ +PACKAGE_$(PKG_NAME)_INCLUDE_Trojan_Plus:trojan-plus \ +PACKAGE_$(PKG_NAME)_INCLUDE_Trojan_GO:trojan-go \ +PACKAGE_$(PKG_NAME)_INCLUDE_NaiveProxy:naiveproxy \ +PACKAGE_$(PKG_NAME)_INCLUDE_Brook:brook \ +PACKAGE_$(PKG_NAME)_INCLUDE_kcptun:kcptun-client \ +PACKAGE_$(PKG_NAME)_INCLUDE_haproxy:haproxy \ +PACKAGE_$(PKG_NAME)_INCLUDE_ChinaDNS_NG:chinadns-ng \ +PACKAGE_$(PKG_NAME)_INCLUDE_dns2socks:dns2socks \ +PACKAGE_$(PKG_NAME)_INCLUDE_v2ray-plugin:v2ray-plugin \ +PACKAGE_$(PKG_NAME)_INCLUDE_simple-obfs:simple-obfs endef define Build/Prepare endef define Build/Configure endef define Build/Compile endef define Package/$(PKG_NAME)/conffiles /etc/config/passwall /etc/config/passwall_server /usr/share/passwall/rules/direct_host /usr/share/passwall/rules/direct_ip /usr/share/passwall/rules/proxy_host /usr/share/passwall/rules/proxy_ip endef define Package/$(PKG_NAME)/install $(INSTALL_DIR) $(1)/etc/config $(INSTALL_CONF) ./root/etc/config/passwall $(1)/etc/config/passwall $(INSTALL_CONF) ./root/etc/config/passwall_server $(1)/etc/config/passwall_server $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./root/etc/init.d/passwall $(1)/etc/init.d/passwall $(INSTALL_BIN) ./root/etc/init.d/passwall_server $(1)/etc/init.d/passwall_server $(INSTALL_DIR) $(1)/etc/uci-defaults $(INSTALL_CONF) ./root/etc/uci-defaults/* $(1)/etc/uci-defaults $(INSTALL_DIR) $(1)/usr/share/passwall cp -pR ./root/usr/share/passwall/* $(1)/usr/share/passwall $(INSTALL_CONF) ./root/etc/config/passwall $(1)/usr/share/passwall/config.default $(INSTALL_DIR) $(1)/usr/share/rpcd/acl.d cp -pR ./root/usr/share/rpcd/acl.d/* $(1)/usr/share/rpcd/acl.d $(INSTALL_DIR) $(1)/usr/lib/lua/luci cp -pR ./luasrc/* $(1)/usr/lib/lua/luci/ $(INSTALL_DIR) $(1)/usr/lib/lua/luci/i18n po2lmo ./po/zh_Hans/passwall.po $(1)/usr/lib/lua/luci/i18n/passwall.zh-cn.lmo endef define Package/$(PKG_NAME)/postinst #!/bin/sh chmod a+x $${IPKG_INSTROOT}/usr/share/passwall/* >/dev/null 2>&1 chmod a+x $${IPKG_INSTROOT}/usr/lib/lua/luci/model/cbi/passwall/server/api/app.lua >/dev/null 2>&1 touch $${IPKG_INSTROOT}/etc/config/passwall_show >/dev/null 2>&1 exit 0 endef $(eval $(call BuildPackage,$(PKG_NAME)))