diff --git a/config/application.yml b/config/application.yml index b0522da..4a5f470 100644 --- a/config/application.yml +++ b/config/application.yml @@ -8,11 +8,13 @@ spring: url: jdbc:mysql://192.168.44.53:3306/cn_api?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=UTC&failOverReadOnly=false&connectTimeout=10000&socketTimeout=30000 username: root password: 111111 +logging: + config: ./config/logback-spring.xml tsg: system: url: http://192.168.44.3:80 - username: wangwei - password: ImlUl8/Hdt0MaS1LEnyuCg== + username: + password: token: aa2bdec5518ad131f71944b13ce5c298&1& httpTimeout: 3600000 object: @@ -20,25 +22,179 @@ tsg: #指定排除的IP. 1.如果没有可不写值,2.若有多个用英文逗号,分隔如: 127.0.0.1,127.0.0.2,3.可适用IP段匹配,如:127.* excludeValue: 0.0.0.0,255.255.255.255,127.*,8.8.8.8,1.1.1.1 cyberghostvpn_serverip: - id: 1309738 - name: cn_vpn_ip_learning + id: 1 + name: cyberghostvpn_serverip update: - cron: 0 0/1 * * * ? - enable: true + cron: 0 0 0/1 * * ? + enable: false sql: SELECT addr_format AS addrFormat, ip1 AS ip1, ip2 AS ip2 FROM cn_vpn_learning_ip WHERE knowledge_id = 10 delete: - cron: 0 0/1 * * * ? - enable: true + cron: 0 0 0/1 * * ? + enable: false + offsetSecond: -600 + hotspotvpn_serverip: + id: 2 + name: hotspotvpn_serverip + update: + cron: 0 0 0/1 * * ? + enable: false + sql: SELECT addr_format AS addrFormat, ip1 AS ip1, ip2 AS ip2 FROM cn_vpn_learning_ip WHERE knowledge_id = 10 + delete: + cron: 0 0 0/1 * * ? + enable: false + offsetSecond: -600 + ipvanishvpn_serverip: + id: 3 + name: ipvanishvpn_serverip + update: + cron: 0 0 0/1 * * ? + enable: false + sql: SELECT addr_format AS addrFormat, ip1 AS ip1, ip2 AS ip2 FROM cn_vpn_learning_ip WHERE knowledge_id = 10 + delete: + cron: 0 0 0/1 * * ? + enable: false + offsetSecond: -600 + geckovpn_serverip: + id: 4 + name: geckovpn_serverip + update: + cron: 0 0 0/1 * * ? + enable: false + sql: SELECT addr_format AS addrFormat, ip1 AS ip1, ip2 AS ip2 FROM cn_vpn_learning_ip WHERE knowledge_id = 10 + delete: + cron: 0 0 0/1 * * ? + enable: false + offsetSecond: -600 + ivacyvpn_serverip: + id: 5 + name: ivacyvpn_serverip + update: + cron: 0 0 0/1 * * ? + enable: false + sql: SELECT addr_format AS addrFormat, ip1 AS ip1, ip2 AS ip2 FROM cn_vpn_learning_ip WHERE knowledge_id = 10 + delete: + cron: 0 0 0/1 * * ? + enable: false + offsetSecond: -600 + turbovpn_serverip: + id: 6 + name: turbovpn_serverip + update: + cron: 0 0 0/1 * * ? + enable: false + sql: SELECT addr_format AS addrFormat, ip1 AS ip1, ip2 AS ip2 FROM cn_vpn_learning_ip WHERE knowledge_id = 10 + delete: + cron: 0 0 0/1 * * ? + enable: false + offsetSecond: -600 + vpnunlimited_serverip: + id: 7 + name: vpnunlimited_serverip + update: + cron: 0 0 0/1 * * ? + enable: false + sql: SELECT addr_format AS addrFormat, ip1 AS ip1, ip2 AS ip2 FROM cn_vpn_learning_ip WHERE knowledge_id = 10 + delete: + cron: 0 0 0/1 * * ? + enable: false + offsetSecond: -600 + windscribevpn_serverip: + id: 8 + name: windscribevpn_serverip + update: + cron: 0 0 0/1 * * ? + enable: false + sql: SELECT addr_format AS addrFormat, ip1 AS ip1, ip2 AS ip2 FROM cn_vpn_learning_ip WHERE knowledge_id = 10 + delete: + cron: 0 0 0/1 * * ? + enable: false + offsetSecond: -600 + vpn4fame_serverip: + id: 9 + name: vpn4fame_serverip + update: + cron: 0 0 0/1 * * ? + enable: false + sql: SELECT addr_format AS addrFormat, ip1 AS ip1, ip2 AS ip2 FROM cn_vpn_learning_ip WHERE knowledge_id = 10 + delete: + cron: 0 0 0/1 * * ? + enable: false + offsetSecond: -600 + protonvpn_ip: + id: 10 + name: protonvpn_ip + update: + cron: 0 0 0/1 * * ? + enable: false + sql: SELECT addr_format AS addrFormat, ip1 AS ip1, ip2 AS ip2 FROM cn_vpn_learning_ip WHERE knowledge_id = 10 + delete: + cron: 0 0 0/1 * * ? + enable: false + offsetSecond: -600 + expressvpn_ip: + id: 11 + name: expressvpn_ip + update: + cron: 0 0 0/1 * * ? + enable: false + sql: SELECT addr_format AS addrFormat, ip1 AS ip1, ip2 AS ip2 FROM cn_vpn_learning_ip WHERE knowledge_id = 10 + delete: + cron: 0 0 0/1 * * ? + enable: false offsetSecond: -600 fqdn: cyberghostvpn_servername: - id: 1309740 - name: cn_vpn_ip_learning + id: 101 + name: cyberghostvpn_servername update: - cron: 35 0/1 * * * ? - enable: true + cron: 0 0 0/1 * * ? + enable: false sql: SELECT domain AS domain FROM cn_vpn_learning_domain WHERE knowledge_id = 10 delete: - cron: 0 0/1 * * * ? - enable: true + cron: 0 0 0/1 * * ? + enable: false + offsetSecond: -600 + ipvanishvpn_servername: + id: 102 + name: ipvanishvpn_servername + update: + cron: 0 0 0/1 * * ? + enable: false + sql: SELECT domain AS domain FROM cn_vpn_learning_domain WHERE knowledge_id = 10 + delete: + cron: 0 0 0/1 * * ? + enable: false + offsetSecond: -600 + ivacyvpn_servername: + id: 103 + name: ivacyvpn_servername + update: + cron: 0 0 0/1 * * ? + enable: false + sql: SELECT domain AS domain FROM cn_vpn_learning_domain WHERE knowledge_id = 10 + delete: + cron: 0 0 0/1 * * ? + enable: false + offsetSecond: -600 + vpnunlimited_servername: + id: 104 + name: vpnunlimited_servername + update: + cron: 0 0 0/1 * * ? + enable: false + sql: SELECT domain AS domain FROM cn_vpn_learning_domain WHERE knowledge_id = 10 + delete: + cron: 0 0 0/1 * * ? + enable: false + offsetSecond: -600 + vpn4fame_servername: + id: 105 + name: vpn4fame_servername + update: + cron: 0 0 0/1 * * ? + enable: false + sql: SELECT domain AS domain FROM cn_vpn_learning_domain WHERE knowledge_id = 10 + delete: + cron: 0 0 0/1 * * ? + enable: false offsetSecond: -600 \ No newline at end of file diff --git a/config/logback-spring.xml b/config/logback-spring.xml index 2de7f6d..5594906 100644 --- a/config/logback-spring.xml +++ b/config/logback-spring.xml @@ -1,7 +1,7 @@ - + diff --git a/src/main/java/com/geedge/common/constant/TsgObject.java b/src/main/java/com/geedge/common/constant/TsgObject.java index b587da8..9a01eda 100644 --- a/src/main/java/com/geedge/common/constant/TsgObject.java +++ b/src/main/java/com/geedge/common/constant/TsgObject.java @@ -20,6 +20,8 @@ public class TsgObject { public static final String KEY_OBJECT_MEMBER_ITEMS_IP = "ip"; public static final String KEY_OBJECT_MEMBER_ITEMS_STRING = "string"; public static final String KEY_OBJECT_MEMBER_ITEMS_STRING_PATTERNS = "patterns"; + public static final String KEY_OBJECT_MEMBER_ITEMS_STRING_EXPR_TYPE = "expr_type"; + public static final String KEY_OBJECT_MEMBER_ITEMS_STRING_IS_HEXBIN = "is_hexbin"; public static final String KEY_OBJECT_MEMBER_ITEMS_IP_IP_ADDRESS = "ip_address"; public static final String KEY_OBJECT_MEMBER_ITEMS_IP_PORT_RANGE = "port_range"; public static final String KEY_OBJECT_MEMBER_ITEMS_STRING_PATTERNS_KEYWORDS = "keywords"; @@ -32,11 +34,9 @@ public class TsgObject { public static final String VALUE_OBJECT_MEMBER_ITEMS_IP_PORT_RANGE = "0-65535"; public static final String VALUE_OBJECT_MEMBER_ITEMS_OP_ADD = "add"; public static final Integer VALUE_OBJECT_MEMBER_TYPE_1 = 1; - public static final Integer VALUE_VSYS_ID_1 = 1; - - - + public static final Integer VALUE_OBJECT_MEMBER_ITEMS_STRING_EXPR_TYPE_0 = 0; + public static final Integer VALUE_OBJECT_MEMBER_ITEMS_STRING_IS_HEXBIN_0 = 0; } diff --git a/src/main/java/com/geedge/scheduler/FqdnScheduler.java b/src/main/java/com/geedge/scheduler/FqdnScheduler.java index a492162..c85ba04 100644 --- a/src/main/java/com/geedge/scheduler/FqdnScheduler.java +++ b/src/main/java/com/geedge/scheduler/FqdnScheduler.java @@ -3,11 +3,8 @@ package com.geedge.scheduler; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.net.Ipv4Util; -import cn.hutool.core.net.MaskBit; import cn.hutool.core.util.BooleanUtil; import com.geedge.common.constant.TsgObject; -import com.geedge.common.enums.AddressFormat; import com.geedge.common.util.TsgUtil; import com.google.common.base.Stopwatch; import com.google.common.collect.Lists; @@ -19,9 +16,6 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; -import java.net.Inet4Address; -import java.net.Inet6Address; -import java.net.InetAddress; import java.util.Date; import java.util.List; import java.util.Map; @@ -52,17 +46,112 @@ public class FqdnScheduler { @Value("${tsg.object.fqdn.cyberghostvpn_servername.delete.offsetSecond}") private Integer cyberghostvpnServernameOffsetSecond; - @Scheduled(cron = "${tsg.object.fqdn.cyberghostvpn_servername.update.cron}") - public void scheduledExecutorUpdate() { + public void updateCyberghostvpn() { executeUpdate(cyberghostvpnServernameId, cyberghostvpnServernameName, cyberghostvpnServernameUpdateEnable, cyberghostvpnServernameSql); } @Scheduled(cron = "${tsg.object.fqdn.cyberghostvpn_servername.delete.cron}") - public void scheduledExecutorDelete() { + public void deleteCyberghostvpn() { executeDelete(cyberghostvpnServernameId, cyberghostvpnServernameDeleteEnable, cyberghostvpnServernameOffsetSecond); } + @Value("${tsg.object.fqdn.ipvanishvpn_servername.id}") + private Integer ipvanishvpnServernameId; + @Value("${tsg.object.fqdn.ipvanishvpn_servername.name}") + private String ipvanishvpnServernameName; + @Value("${tsg.object.fqdn.ipvanishvpn_servername.update.enable}") + private Boolean ipvanishvpnServernameUpdateEnable; + @Value("${tsg.object.fqdn.ipvanishvpn_servername.update.sql}") + private String ipvanishvpnServernameSql; + @Value("${tsg.object.fqdn.ipvanishvpn_servername.delete.enable}") + private Boolean ipvanishvpnServernameDeleteEnable; + @Value("${tsg.object.fqdn.ipvanishvpn_servername.delete.offsetSecond}") + private Integer ipvanishvpnServernameOffsetSecond; + + @Scheduled(cron = "${tsg.object.fqdn.ipvanishvpn_servername.update.cron}") + public void updateIpvanishvpn() { + executeUpdate(ipvanishvpnServernameId, ipvanishvpnServernameName, ipvanishvpnServernameUpdateEnable, ipvanishvpnServernameSql); + } + + @Scheduled(cron = "${tsg.object.fqdn.ipvanishvpn_servername.delete.cron}") + public void deleteIpvanishvpn() { + executeDelete(ipvanishvpnServernameId, ipvanishvpnServernameDeleteEnable, ipvanishvpnServernameOffsetSecond); + } + + + @Value("${tsg.object.fqdn.ivacyvpn_servername.id}") + private Integer ivacyvpnServernameId; + @Value("${tsg.object.fqdn.ivacyvpn_servername.name}") + private String ivacyvpnServernameName; + @Value("${tsg.object.fqdn.ivacyvpn_servername.update.enable}") + private Boolean ivacyvpnServernameUpdateEnable; + @Value("${tsg.object.fqdn.ivacyvpn_servername.update.sql}") + private String ivacyvpnServernameSql; + @Value("${tsg.object.fqdn.ivacyvpn_servername.delete.enable}") + private Boolean ivacyvpnServernameDeleteEnable; + @Value("${tsg.object.fqdn.ivacyvpn_servername.delete.offsetSecond}") + private Integer ivacyvpnServernameOffsetSecond; + + + @Scheduled(cron = "${tsg.object.fqdn.ivacyvpn_servername.update.cron}") + public void updateIvacyvpn() { + executeUpdate(ivacyvpnServernameId, ivacyvpnServernameName, ivacyvpnServernameUpdateEnable, ivacyvpnServernameSql); + } + + @Scheduled(cron = "${tsg.object.fqdn.ivacyvpn_servername.delete.cron}") + public void deleteIvacyvpn() { + executeDelete(ivacyvpnServernameId, ivacyvpnServernameDeleteEnable, ivacyvpnServernameOffsetSecond); + } + + @Value("${tsg.object.fqdn.vpnunlimited_servername.id}") + private Integer vpnunlimitedServernameId; + @Value("${tsg.object.fqdn.vpnunlimited_servername.name}") + private String vpnunlimitedServernameName; + @Value("${tsg.object.fqdn.vpnunlimited_servername.update.enable}") + private Boolean vpnunlimitedServernameUpdateEnable; + @Value("${tsg.object.fqdn.vpnunlimited_servername.update.sql}") + private String vpnunlimitedServernameSql; + @Value("${tsg.object.fqdn.vpnunlimited_servername.delete.enable}") + private Boolean vpnunlimitedServernameDeleteEnable; + @Value("${tsg.object.fqdn.vpnunlimited_servername.delete.offsetSecond}") + private Integer vpnunlimitedServernameOffsetSecond; + + + @Scheduled(cron = "${tsg.object.fqdn.vpnunlimited_servername.update.cron}") + public void updateVpnunlimited() { + executeUpdate(vpnunlimitedServernameId, vpnunlimitedServernameName, vpnunlimitedServernameUpdateEnable, vpnunlimitedServernameSql); + } + + @Scheduled(cron = "${tsg.object.fqdn.vpnunlimited_servername.delete.cron}") + public void deleteVpnunlimited() { + executeDelete(vpnunlimitedServernameId, vpnunlimitedServernameDeleteEnable, vpnunlimitedServernameOffsetSecond); + } + + @Value("${tsg.object.fqdn.vpn4fame_servername.id}") + private Integer vpn4fameServernameId; + @Value("${tsg.object.fqdn.vpn4fame_servername.name}") + private String vpn4fameServernameName; + @Value("${tsg.object.fqdn.vpn4fame_servername.update.enable}") + private Boolean vpn4fameServernameUpdateEnable; + @Value("${tsg.object.fqdn.vpn4fame_servername.update.sql}") + private String vpn4fameServernameSql; + @Value("${tsg.object.fqdn.vpn4fame_servername.delete.enable}") + private Boolean vpn4fameServernameDeleteEnable; + @Value("${tsg.object.fqdn.vpn4fame_servername.delete.offsetSecond}") + private Integer vpn4fameServernameOffsetSecond; + + + @Scheduled(cron = "${tsg.object.fqdn.vpn4fame_servername.update.cron}") + public void updateVpn4fame() { + executeUpdate(vpn4fameServernameId, vpn4fameServernameName, vpn4fameServernameUpdateEnable, vpn4fameServernameSql); + } + + @Scheduled(cron = "${tsg.object.fqdn.vpn4fame_servername.delete.cron}") + public void deleteVpn4fame() { + executeDelete(vpn4fameServernameId, vpn4fameServernameDeleteEnable, vpn4fameServernameOffsetSecond); + } + private static void executeUpdate(Integer id, String name, Boolean enable, String sql) { log.info("{}: started update task.", id); if (BooleanUtil.isFalse(enable)) { @@ -78,23 +167,32 @@ public class FqdnScheduler { for (Record record : data) { Map item = Maps.newHashMap(); String domain = record.get("domain"); - Map pattern = Maps.newHashMap(); - pattern.put(TsgObject.KEY_OBJECT_MEMBER_ITEMS_STRING_PATTERNS_KEYWORDS, domain); + List> patterns = Lists.newArrayList(); + Map pattern = Maps.newHashMap(); + pattern.put(TsgObject.KEY_OBJECT_MEMBER_ITEMS_STRING_PATTERNS_KEYWORDS, "$" + domain); patterns.add(pattern); + Map str = Maps.newHashMap(); str.put(TsgObject.KEY_OBJECT_MEMBER_ITEMS_STRING_PATTERNS, patterns); + str.put(TsgObject.KEY_OBJECT_MEMBER_ITEMS_STRING_EXPR_TYPE, TsgObject.VALUE_OBJECT_MEMBER_ITEMS_STRING_EXPR_TYPE_0); + str.put(TsgObject.KEY_OBJECT_MEMBER_ITEMS_STRING_IS_HEXBIN, TsgObject.VALUE_OBJECT_MEMBER_ITEMS_STRING_IS_HEXBIN_0); + item.put(TsgObject.KEY_OBJECT_MEMBER_ITEMS_OP, TsgObject.VALUE_OBJECT_MEMBER_ITEMS_OP_ADD); item.put(TsgObject.KEY_OBJECT_MEMBER_ITEMS_STRING, str); + items.add(item); } + Map member = Maps.newHashMap(); member.put(TsgObject.KEY_OBJECT_MEMBER_TYPE, TsgObject.VALUE_OBJECT_MEMBER_TYPE_1); member.put(TsgObject.KEY_OBJECT_MEMBER_ITEMS, items); + Map obj = Maps.newHashMap(); obj.put(TsgObject.KEY_OBJECT_NAME, name); obj.put(TsgObject.KEY_OBJECT_TYPE, TsgObject.VALUE_OBJECT_TYPE_FQDN); obj.put(TsgObject.KEY_OBJECT_MEMBER, member); + Map body = Maps.newHashMap(); body.put(TsgObject.KEY_VSYS_ID, TsgObject.VALUE_VSYS_ID_1); body.put(TsgObject.KEY_OBJECT, obj); diff --git a/src/main/java/com/geedge/scheduler/IpScheduler.java b/src/main/java/com/geedge/scheduler/IpScheduler.java index 3831496..5215eeb 100644 --- a/src/main/java/com/geedge/scheduler/IpScheduler.java +++ b/src/main/java/com/geedge/scheduler/IpScheduler.java @@ -37,6 +37,15 @@ import java.util.concurrent.TimeUnit; @Component public class IpScheduler { public static List excludeList = new ArrayList<>(); + + @Value("${tsg.object.ip.excludeValue}") + public void setExcludeList(String values) { + if (StrUtil.isBlank(values)) { + return; + } + excludeList = Arrays.asList(values.split(",")); + } + @Value("${tsg.object.ip.cyberghostvpn_serverip.id}") private Integer cyberghostvpnServeripId; @Value("${tsg.object.ip.cyberghostvpn_serverip.name}") @@ -50,24 +59,248 @@ public class IpScheduler { @Value("${tsg.object.ip.cyberghostvpn_serverip.delete.offsetSecond}") private Integer cyberghostvpnServeripOffsetSecond; - @Value("${tsg.object.ip.excludeValue}") - public void setExcludeList(String values) { - if (StrUtil.isBlank(values)) { - return; - } - excludeList = Arrays.asList(values.split(",")); - } - @Scheduled(cron = "${tsg.object.ip.cyberghostvpn_serverip.update.cron}") - public void scheduledExecutorUpdate() { + public void updateCyberghostvpn() { executeUpdate(cyberghostvpnServeripId, cyberghostvpnServeripName, cyberghostvpnServeripUpdateEnable, cyberghostvpnServeripSql); } @Scheduled(cron = "${tsg.object.ip.cyberghostvpn_serverip.delete.cron}") - public void scheduledExecutorDelete() { + public void deleteCyberghostvpn() { executeDelete(cyberghostvpnServeripId, cyberghostvpnServeripDeleteEnable, cyberghostvpnServeripOffsetSecond); } + @Value("${tsg.object.ip.hotspotvpn_serverip.id}") + private Integer hotspotvpnServeripId; + @Value("${tsg.object.ip.hotspotvpn_serverip.name}") + private String hotspotvpnServeripName; + @Value("${tsg.object.ip.hotspotvpn_serverip.update.enable}") + private Boolean hotspotvpnServeripUpdateEnable; + @Value("${tsg.object.ip.hotspotvpn_serverip.update.sql}") + private String hotspotvpnServeripSql; + @Value("${tsg.object.ip.hotspotvpn_serverip.delete.enable}") + private Boolean hotspotvpnServeripDeleteEnable; + @Value("${tsg.object.ip.hotspotvpn_serverip.delete.offsetSecond}") + private Integer hotspotvpnServeripOffsetSecond; + + @Scheduled(cron = "${tsg.object.ip.hotspotvpn_serverip.update.cron}") + public void updateHotspotvpn() { + executeUpdate(hotspotvpnServeripId, hotspotvpnServeripName, hotspotvpnServeripUpdateEnable, hotspotvpnServeripSql); + } + + @Scheduled(cron = "${tsg.object.ip.hotspotvpn_serverip.delete.cron}") + public void deleteHotspotvpn() { + executeDelete(hotspotvpnServeripId, hotspotvpnServeripDeleteEnable, hotspotvpnServeripOffsetSecond); + } + + @Value("${tsg.object.ip.ipvanishvpn_serverip.id}") + private Integer ipvanishvpnServeripId; + @Value("${tsg.object.ip.ipvanishvpn_serverip.name}") + private String ipvanishvpnServeripName; + @Value("${tsg.object.ip.ipvanishvpn_serverip.update.enable}") + private Boolean ipvanishvpnServeripUpdateEnable; + @Value("${tsg.object.ip.ipvanishvpn_serverip.update.sql}") + private String ipvanishvpnServeripSql; + @Value("${tsg.object.ip.ipvanishvpn_serverip.delete.enable}") + private Boolean ipvanishvpnServeripDeleteEnable; + @Value("${tsg.object.ip.ipvanishvpn_serverip.delete.offsetSecond}") + private Integer ipvanishvpnServeripOffsetSecond; + + @Scheduled(cron = "${tsg.object.ip.ipvanishvpn_serverip.update.cron}") + public void updateIpvanishvpn() { + executeUpdate(ipvanishvpnServeripId, ipvanishvpnServeripName, ipvanishvpnServeripUpdateEnable, ipvanishvpnServeripSql); + } + + @Scheduled(cron = "${tsg.object.ip.ipvanishvpn_serverip.delete.cron}") + public void deleteIpvanishvpn() { + executeDelete(ipvanishvpnServeripId, ipvanishvpnServeripDeleteEnable, ipvanishvpnServeripOffsetSecond); + } + + @Value("${tsg.object.ip.geckovpn_serverip.id}") + private Integer geckovpnServeripId; + @Value("${tsg.object.ip.geckovpn_serverip.name}") + private String geckovpnServeripName; + @Value("${tsg.object.ip.geckovpn_serverip.update.enable}") + private Boolean geckovpnServeripUpdateEnable; + @Value("${tsg.object.ip.geckovpn_serverip.update.sql}") + private String geckovpnServeripSql; + @Value("${tsg.object.ip.geckovpn_serverip.delete.enable}") + private Boolean geckovpnServeripDeleteEnable; + @Value("${tsg.object.ip.geckovpn_serverip.delete.offsetSecond}") + private Integer geckovpnServeripOffsetSecond; + + @Scheduled(cron = "${tsg.object.ip.geckovpn_serverip.update.cron}") + public void updateGeckovpn() { + executeUpdate(geckovpnServeripId, geckovpnServeripName, geckovpnServeripUpdateEnable, geckovpnServeripSql); + } + + @Scheduled(cron = "${tsg.object.ip.geckovpn_serverip.delete.cron}") + public void deleteGeckovpn() { + executeDelete(geckovpnServeripId, geckovpnServeripDeleteEnable, geckovpnServeripOffsetSecond); + } + + @Value("${tsg.object.ip.ivacyvpn_serverip.id}") + private Integer ivacyvpnServeripId; + @Value("${tsg.object.ip.ivacyvpn_serverip.name}") + private String ivacyvpnServeripName; + @Value("${tsg.object.ip.ivacyvpn_serverip.update.enable}") + private Boolean ivacyvpnServeripUpdateEnable; + @Value("${tsg.object.ip.ivacyvpn_serverip.update.sql}") + private String ivacyvpnServeripSql; + @Value("${tsg.object.ip.ivacyvpn_serverip.delete.enable}") + private Boolean ivacyvpnServeripDeleteEnable; + @Value("${tsg.object.ip.ivacyvpn_serverip.delete.offsetSecond}") + private Integer ivacyvpnServeripOffsetSecond; + + @Scheduled(cron = "${tsg.object.ip.ivacyvpn_serverip.update.cron}") + public void updateIvacyvpn() { + executeUpdate(ivacyvpnServeripId, ivacyvpnServeripName, ivacyvpnServeripUpdateEnable, ivacyvpnServeripSql); + } + + @Scheduled(cron = "${tsg.object.ip.ivacyvpn_serverip.delete.cron}") + public void deleteIvacyvpn() { + executeDelete(ivacyvpnServeripId, ivacyvpnServeripDeleteEnable, ivacyvpnServeripOffsetSecond); + } + + + @Value("${tsg.object.ip.turbovpn_serverip.id}") + private Integer turbovpnServeripId; + @Value("${tsg.object.ip.turbovpn_serverip.name}") + private String turbovpnServeripName; + @Value("${tsg.object.ip.turbovpn_serverip.update.enable}") + private Boolean turbovpnServeripUpdateEnable; + @Value("${tsg.object.ip.turbovpn_serverip.update.sql}") + private String turbovpnServeripSql; + @Value("${tsg.object.ip.turbovpn_serverip.delete.enable}") + private Boolean turbovpnServeripDeleteEnable; + @Value("${tsg.object.ip.turbovpn_serverip.delete.offsetSecond}") + private Integer turbovpnServeripOffsetSecond; + + @Scheduled(cron = "${tsg.object.ip.turbovpn_serverip.update.cron}") + public void updateTurbovpn() { + executeUpdate(turbovpnServeripId, turbovpnServeripName, turbovpnServeripUpdateEnable, turbovpnServeripSql); + } + + @Scheduled(cron = "${tsg.object.ip.turbovpn_serverip.delete.cron}") + public void deleteTurbovpn() { + executeDelete(turbovpnServeripId, turbovpnServeripDeleteEnable, turbovpnServeripOffsetSecond); + } + + @Value("${tsg.object.ip.vpnunlimited_serverip.id}") + private Integer vpnunlimitedServeripId; + @Value("${tsg.object.ip.vpnunlimited_serverip.name}") + private String vpnunlimitedServeripName; + @Value("${tsg.object.ip.vpnunlimited_serverip.update.enable}") + private Boolean vpnunlimitedServeripUpdateEnable; + @Value("${tsg.object.ip.vpnunlimited_serverip.update.sql}") + private String vpnunlimitedServeripSql; + @Value("${tsg.object.ip.vpnunlimited_serverip.delete.enable}") + private Boolean vpnunlimitedServeripDeleteEnable; + @Value("${tsg.object.ip.vpnunlimited_serverip.delete.offsetSecond}") + private Integer vpnunlimitedServeripOffsetSecond; + + @Scheduled(cron = "${tsg.object.ip.vpnunlimited_serverip.update.cron}") + public void updateVpnunlimited() { + executeUpdate(vpnunlimitedServeripId, vpnunlimitedServeripName, vpnunlimitedServeripUpdateEnable, vpnunlimitedServeripSql); + } + + @Scheduled(cron = "${tsg.object.ip.vpnunlimited_serverip.delete.cron}") + public void deleteVpnunlimited() { + executeDelete(vpnunlimitedServeripId, vpnunlimitedServeripDeleteEnable, vpnunlimitedServeripOffsetSecond); + } + + @Value("${tsg.object.ip.windscribevpn_serverip.id}") + private Integer windscribevpnServeripId; + @Value("${tsg.object.ip.windscribevpn_serverip.name}") + private String windscribevpnServeripName; + @Value("${tsg.object.ip.windscribevpn_serverip.update.enable}") + private Boolean windscribevpnServeripUpdateEnable; + @Value("${tsg.object.ip.windscribevpn_serverip.update.sql}") + private String windscribevpnServeripSql; + @Value("${tsg.object.ip.windscribevpn_serverip.delete.enable}") + private Boolean windscribevpnServeripDeleteEnable; + @Value("${tsg.object.ip.windscribevpn_serverip.delete.offsetSecond}") + private Integer windscribevpnServeripOffsetSecond; + + @Scheduled(cron = "${tsg.object.ip.windscribevpn_serverip.update.cron}") + public void updateWindscribevpn() { + executeUpdate(windscribevpnServeripId, windscribevpnServeripName, windscribevpnServeripUpdateEnable, windscribevpnServeripSql); + } + + @Scheduled(cron = "${tsg.object.ip.windscribevpn_serverip.delete.cron}") + public void deleteWindscribevpn() { + executeDelete(windscribevpnServeripId, windscribevpnServeripDeleteEnable, windscribevpnServeripOffsetSecond); + } + + @Value("${tsg.object.ip.vpn4fame_serverip.id}") + private Integer vpn4fameServeripId; + @Value("${tsg.object.ip.vpn4fame_serverip.name}") + private String vpn4fameServeripName; + @Value("${tsg.object.ip.vpn4fame_serverip.update.enable}") + private Boolean vpn4fameServeripUpdateEnable; + @Value("${tsg.object.ip.vpn4fame_serverip.update.sql}") + private String vpn4fameServeripSql; + @Value("${tsg.object.ip.vpn4fame_serverip.delete.enable}") + private Boolean vpn4fameServeripDeleteEnable; + @Value("${tsg.object.ip.vpn4fame_serverip.delete.offsetSecond}") + private Integer vpn4fameServeripOffsetSecond; + + @Scheduled(cron = "${tsg.object.ip.vpn4fame_serverip.update.cron}") + public void updateVpn4fame() { + executeUpdate(vpn4fameServeripId, vpn4fameServeripName, vpn4fameServeripUpdateEnable, vpn4fameServeripSql); + } + + @Scheduled(cron = "${tsg.object.ip.vpn4fame_serverip.delete.cron}") + public void deleteVpn4fame() { + executeDelete(vpn4fameServeripId, vpn4fameServeripDeleteEnable, vpn4fameServeripOffsetSecond); + } + + @Value("${tsg.object.ip.protonvpn_ip.id}") + private Integer protonvpnIpId; + @Value("${tsg.object.ip.protonvpn_ip.name}") + private String protonvpnIpName; + @Value("${tsg.object.ip.protonvpn_ip.update.enable}") + private Boolean protonvpnIpUpdateEnable; + @Value("${tsg.object.ip.protonvpn_ip.update.sql}") + private String protonvpnIpSql; + @Value("${tsg.object.ip.protonvpn_ip.delete.enable}") + private Boolean protonvpnIpDeleteEnable; + @Value("${tsg.object.ip.protonvpn_ip.delete.offsetSecond}") + private Integer protonvpnIpOffsetSecond; + + @Scheduled(cron = "${tsg.object.ip.protonvpn_ip.update.cron}") + public void updateProtonvpn() { + executeUpdate(protonvpnIpId, protonvpnIpName, protonvpnIpUpdateEnable, protonvpnIpSql); + } + + @Scheduled(cron = "${tsg.object.ip.protonvpn_ip.delete.cron}") + public void deleteProtonvpn() { + executeDelete(protonvpnIpId, protonvpnIpDeleteEnable, protonvpnIpOffsetSecond); + } + + @Value("${tsg.object.ip.expressvpn_ip.id}") + private Integer expressvpnIpId; + @Value("${tsg.object.ip.expressvpn_ip.name}") + private String expressvpnIpName; + @Value("${tsg.object.ip.expressvpn_ip.update.enable}") + private Boolean expressvpnIpUpdateEnable; + @Value("${tsg.object.ip.expressvpn_ip.update.sql}") + private String expressvpnIpSql; + @Value("${tsg.object.ip.expressvpn_ip.delete.enable}") + private Boolean expressvpnIpDeleteEnable; + @Value("${tsg.object.ip.expressvpn_ip.delete.offsetSecond}") + private Integer expressvpnIpOffsetSecond; + + @Scheduled(cron = "${tsg.object.ip.expressvpn_ip.update.cron}") + public void updateExpressvpn() { + executeUpdate(expressvpnIpId, expressvpnIpName, expressvpnIpUpdateEnable, expressvpnIpSql); + } + + @Scheduled(cron = "${tsg.object.ip.expressvpn_ip.delete.cron}") + public void deleteExpressvpn() { + executeDelete(expressvpnIpId, expressvpnIpDeleteEnable, expressvpnIpOffsetSecond); + } + + private static void executeUpdate(Integer id, String name, Boolean enable, String sql) { log.info("{}: started update task.", id); if (BooleanUtil.isFalse(enable)) { @@ -85,11 +318,11 @@ public class IpScheduler { Map item = Maps.newHashMap(); String addressFormat = record.get("addrFormat"); String ip1 = record.get("ip1"); - for (String s : excludeList) { - if (s.equals(ip1)) { + for (String excludeItem : excludeList) { + if (excludeItem.equals(ip1)) { continue row; } - if (s.endsWith("*") && ip1.startsWith(s.replace("*", ""))) { + if (excludeItem.endsWith("*") && ip1.startsWith(excludeItem.replace("*", ""))) { continue row; } } @@ -112,6 +345,8 @@ public class IpScheduler { ip.put(TsgObject.KEY_OBJECT_MEMBER_ITEMS_IP_ADDR_TYPE, 4); } else if (inetAddress instanceof Inet6Address) { ip.put(TsgObject.KEY_OBJECT_MEMBER_ITEMS_IP_ADDR_TYPE, 6); + } else { + continue; } item.put(TsgObject.KEY_OBJECT_MEMBER_ITEMS_OP, TsgObject.VALUE_OBJECT_MEMBER_ITEMS_OP_ADD); item.put(TsgObject.KEY_OBJECT_MEMBER_ITEMS_IP, ip); @@ -120,10 +355,12 @@ public class IpScheduler { Map member = Maps.newHashMap(); member.put(TsgObject.KEY_OBJECT_MEMBER_TYPE, TsgObject.VALUE_OBJECT_MEMBER_TYPE_1); member.put(TsgObject.KEY_OBJECT_MEMBER_ITEMS, items); + Map obj = Maps.newHashMap(); obj.put(TsgObject.KEY_OBJECT_NAME, name); obj.put(TsgObject.KEY_OBJECT_TYPE, TsgObject.VALUE_OBJECT_TYPE_IP); obj.put(TsgObject.KEY_OBJECT_MEMBER, member); + Map body = Maps.newHashMap(); body.put(TsgObject.KEY_VSYS_ID, TsgObject.VALUE_VSYS_ID_1); body.put(TsgObject.KEY_OBJECT, obj);