From 28b996d66f370517e5653b7ee5a4f3e5b3616520 Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Mon, 21 Aug 2017 22:58:40 +0800 Subject: [PATCH] luci-app-shadowsocks-libev: support for option dst_forward_recentrst Signed-off-by: Yousong Zhou --- .../model/cbi/shadowsocks-libev/rules.lua | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua b/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua index 1e2a491bc..4a01bed24 100644 --- a/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua +++ b/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua @@ -88,4 +88,22 @@ o = s:taboption('dst', ListValue, "dst_default", translate("Default action for packets whose dst address do not match any of the dst ip list")) ss.values_actions(o) +local installed = os.execute("iptables -m recent -h &>/dev/null") == 0 +if installed then + o = s:taboption('dst', Flag, "dst_forward_recentrst") +else + m:set('ss_rules', 'dst_forward_recentrst', "0") + o = s:taboption("dst", Button, "_install") + o.inputtitle = translate("Install package iptables-mod-conntrack-extra") + o.inputstyle = "apply" + o.write = function() + return luci.http.redirect( + luci.dispatcher.build_url("admin/system/packages") .. + "?submit=1&install=iptables-mod-conntrack-extra" + ) + end +end +o.title = translate("Forward recentrst") +o.description = translate("Forward those packets whose dst have recently sent to us multiple tcp-rst") + return m -- 2.25.1