Plugin options are properties of shadowsocks deployment as a whole,
including both server and each client components. Multiple client
instances accessing the same server will need to share the same plugin
settings
With this change, plugin options will need to specified to "server" and
"ss-server" section, not to each component section.
Fixes: c19e949
("shadowsocks-libev: add plugin options support")
Reference: https://github.com/openwrt/packages/issues/8903#issuecomment-489674137
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
125 lines
3.4 KiB
Makefile
125 lines
3.4 KiB
Makefile
#
|
|
# Copyright (C) 2017-2019 Yousong Zhou <yszhou4tech@gmail.com>
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
# Checklist when bumping versions
|
|
#
|
|
# - update cipher list by checking src/crypto.c:crypto_init()
|
|
# - check if default mode has changed from being tcp_only
|
|
#
|
|
PKG_NAME:=shadowsocks-libev
|
|
PKG_VERSION:=3.2.5
|
|
PKG_RELEASE:=3
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
|
PKG_SOURCE_URL:=https://github.com/shadowsocks/shadowsocks-libev/releases/download/v$(PKG_VERSION)
|
|
PKG_HASH:=02273d571b8bea067eefb203a43c142d052042179904f9050a1f20cb8dc5d242
|
|
|
|
PKG_MAINTAINER:=Yousong Zhou <yszhou4tech@gmail.com>
|
|
|
|
PKG_LICENSE:=GPL-3.0+
|
|
PKG_LICENSE_FILES:=LICENSE
|
|
|
|
PKG_FIXUP:=autoreconf
|
|
PKG_INSTALL:=1
|
|
PKG_USE_MIPS16:=0
|
|
PKG_BUILD_PARALLEL:=1
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
|
|
define Package/shadowsocks-libev-config
|
|
SECTION:=net
|
|
CATEGORY:=Network
|
|
SUBMENU:=Web Servers/Proxies
|
|
TITLE:=shadowsocks-libev config scripts
|
|
URL:=https://github.com/shadowsocks/shadowsocks-libev
|
|
endef
|
|
|
|
define Package/shadowsocks-libev-config/install
|
|
$(INSTALL_DIR) $(1)/etc/config
|
|
$(INSTALL_DATA) ./files/shadowsocks-libev.config $(1)/etc/config/shadowsocks-libev
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
|
$(INSTALL_BIN) ./files/shadowsocks-libev.init $(1)/etc/init.d/shadowsocks-libev
|
|
endef
|
|
|
|
|
|
define Package/shadowsocks-libev/Default
|
|
define Package/shadowsocks-libev-$(1)
|
|
SECTION:=net
|
|
CATEGORY:=Network
|
|
SUBMENU:=Web Servers/Proxies
|
|
TITLE:=shadowsocks-libev $(1)
|
|
URL:=https://github.com/shadowsocks/shadowsocks-libev
|
|
DEPENDS:=+libcares +libev +libmbedtls +libpcre +libpthread +libsodium +shadowsocks-libev-config +zlib
|
|
endef
|
|
|
|
define Package/shadowsocks-libev-$(1)/install
|
|
$$(INSTALL_DIR) $$(1)/usr/bin
|
|
$$(INSTALL_BIN) $$(PKG_INSTALL_DIR)/usr/bin/$(1) $$(1)/usr/bin
|
|
endef
|
|
|
|
endef
|
|
|
|
SHADOWSOCKS_COMPONENTS:=ss-local ss-redir ss-tunnel ss-server
|
|
define shadowsocks-libev/templates
|
|
$(foreach component,$(SHADOWSOCKS_COMPONENTS),
|
|
$(call Package/shadowsocks-libev/Default,$(component))
|
|
)
|
|
endef
|
|
$(eval $(call shadowsocks-libev/templates))
|
|
|
|
|
|
define Package/shadowsocks-libev-ss-rules
|
|
SECTION:=net
|
|
CATEGORY:=Network
|
|
SUBMENU:=Web Servers/Proxies
|
|
TITLE:=shadowsocks-libev ss-rules
|
|
URL:=https://github.com/shadowsocks/shadowsocks-libev
|
|
DEPENDS:=+ip +ipset +iptables-mod-tproxy +resolveip +shadowsocks-libev-ss-redir +shadowsocks-libev-config
|
|
endef
|
|
|
|
define Package/shadowsocks-libev-ss-rules/install
|
|
$(INSTALL_DIR) $(1)/usr/bin
|
|
$(INSTALL_BIN) ./files/ss-rules $(1)/usr/bin
|
|
$(INSTALL_DIR) $(1)/etc/uci-defaults
|
|
$(INSTALL_DATA) ./files/firewall.ss-rules $(1)/etc
|
|
$(INSTALL_BIN) ./files/ss-rules.defaults $(1)/etc/uci-defaults
|
|
endef
|
|
|
|
define Package/shadowsocks-libev-ss-rules/prerm
|
|
#!/bin/sh
|
|
s=firewall.ss_rules
|
|
uci get "$$s" >/dev/null || exit 0
|
|
uci batch <<-EOF
|
|
delete $$s
|
|
commit firewall
|
|
EOF
|
|
endef
|
|
|
|
define Build/Prepare
|
|
$(call Build/Prepare/Default)
|
|
$(FIND) $(PKG_BUILD_DIR) \
|
|
-name '*.o' \
|
|
-o -name '*.lo' \
|
|
-o -name '.deps' \
|
|
-o -name '.libs' \
|
|
| $(XARGS) rm -rvf
|
|
endef
|
|
|
|
CONFIGURE_ARGS += \
|
|
--disable-documentation \
|
|
--disable-silent-rules \
|
|
--disable-assert \
|
|
--disable-ssp \
|
|
|
|
$(eval $(call BuildPackage,shadowsocks-libev-config))
|
|
$(eval $(call BuildPackage,shadowsocks-libev-ss-rules))
|
|
$(foreach component,$(SHADOWSOCKS_COMPONENTS), \
|
|
$(eval $(call BuildPackage,shadowsocks-libev-$(component))) \
|
|
)
|