aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Tananaev <anton@traccar.org>2024-04-17 20:53:14 -0700
committerAnton Tananaev <anton@traccar.org>2024-04-17 20:53:14 -0700
commit93c4e0ef2f882c4818b542b7792e9b02975f9da7 (patch)
tree62bf582fd0767e78802fed2c7dad4d7721da19bf
parentdc6f5d92527624afb11225e94494e6604aaf8082 (diff)
downloadtrackermap-server-93c4e0ef2f882c4818b542b7792e9b02975f9da7.tar.gz
trackermap-server-93c4e0ef2f882c4818b542b7792e9b02975f9da7.tar.bz2
trackermap-server-93c4e0ef2f882c4818b542b7792e9b02975f9da7.zip
Migrate default ports to code
-rw-r--r--debug.xml4
-rw-r--r--setup/default.xml271
-rw-r--r--setup/traccar.xml16
-rw-r--r--src/main/java/org/traccar/ServerManager.java2
-rw-r--r--src/main/java/org/traccar/config/Keys.java2
-rw-r--r--src/main/java/org/traccar/config/PortConfigSuffix.java278
6 files changed, 281 insertions, 292 deletions
diff --git a/debug.xml b/debug.xml
index 89b5a5ba3..15fa57324 100644
--- a/debug.xml
+++ b/debug.xml
@@ -1,11 +1,7 @@
<?xml version='1.0' encoding='UTF-8'?>
-
<!DOCTYPE properties SYSTEM 'http://java.sun.com/dtd/properties.dtd'>
-
<properties>
- <entry key='config.default'>./setup/default.xml</entry>
-
<entry key='web.path'>./traccar-web/simple</entry>
<entry key='web.debug'>true</entry>
<entry key='web.console'>true</entry>
diff --git a/setup/default.xml b/setup/default.xml
deleted file mode 100644
index 02c0650c3..000000000
--- a/setup/default.xml
+++ /dev/null
@@ -1,271 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-
-<!DOCTYPE properties SYSTEM 'http://java.sun.com/dtd/properties.dtd'>
-
-<properties>
-
- <!--
-
- DO NOT MODIFY THIS FILE. Use traccar.xml instead.
-
- -->
-
- <entry key='gps103.port'>5001</entry>
- <entry key='tk103.port'>5002</entry>
- <entry key='gl100.port'>5003</entry>
- <entry key='gl200.port'>5004</entry>
- <entry key='t55.port'>5005</entry>
- <entry key='xexun.port'>5006</entry>
- <entry key='xexun.extended'>false</entry>
- <entry key='totem.port'>5007</entry>
- <entry key='enfora.port'>5008</entry>
- <entry key='meiligao.port'>5009</entry>
- <entry key='trv.port'>5010</entry>
- <entry key='suntech.port'>5011</entry>
- <entry key='progress.port'>5012</entry>
- <entry key='h02.port'>5013</entry>
- <entry key='jt600.port'>5014</entry>
- <entry key='huabao.port'>5015</entry>
- <entry key='v680.port'>5016</entry>
- <entry key='pt502.port'>5017</entry>
- <entry key='tr20.port'>5018</entry>
- <entry key='navis.port'>5019</entry>
- <entry key='meitrack.port'>5020</entry>
- <entry key='skypatrol.port'>5021</entry>
- <entry key='gt02.port'>5022</entry>
- <entry key='gt06.port'>5023</entry>
- <entry key='megastek.port'>5024</entry>
- <entry key='navigil.port'>5025</entry>
- <entry key='gpsgate.port'>5026</entry>
- <entry key='teltonika.port'>5027</entry>
- <entry key='mta6.port'>5028</entry>
- <entry key='tzone.port'>5029</entry>
- <entry key='tlt2h.port'>5030</entry>
- <entry key='taip.port'>5031</entry>
- <entry key='wondex.port'>5032</entry>
- <entry key='cellocator.port'>5033</entry>
- <entry key='galileo.port'>5034</entry>
- <entry key='ywt.port'>5035</entry>
- <entry key='tk102.port'>5036</entry>
- <entry key='intellitrac.port'>5037</entry>
- <entry key='gpsmta.port'>5038</entry>
- <entry key='wialon.port'>5039</entry>
- <entry key='carscop.port'>5040</entry>
- <entry key='apel.port'>5041</entry>
- <entry key='manpower.port'>5042</entry>
- <entry key='globalsat.port'>5043</entry>
- <entry key='atrack.port'>5044</entry>
- <entry key='pt3000.port'>5045</entry>
- <entry key='ruptela.port'>5046</entry>
- <entry key='topflytech.port'>5047</entry>
- <entry key='laipac.port'>5048</entry>
- <entry key='aplicom.port'>5049</entry>
- <entry key='gotop.port'>5050</entry>
- <entry key='sanav.port'>5051</entry>
- <entry key='gator.port'>5052</entry>
- <entry key='noran.port'>5053</entry>
- <entry key='m2m.port'>5054</entry>
- <entry key='osmand.port'>5055</entry>
- <entry key='easytrack.port'>5056</entry>
- <entry key='gpsmarker.port'>5057</entry>
- <entry key='khd.port'>5058</entry>
- <entry key='piligrim.port'>5059</entry>
- <entry key='stl060.port'>5060</entry>
- <entry key='cartrack.port'>5061</entry>
- <entry key='minifinder.port'>5062</entry>
- <entry key='haicom.port'>5063</entry>
- <entry key='eelink.port'>5064</entry>
- <entry key='box.port'>5065</entry>
- <entry key='freedom.port'>5066</entry>
- <entry key='telic.port'>5067</entry>
- <entry key='trackbox.port'>5068</entry>
- <entry key='visiontek.port'>5069</entry>
- <entry key='orion.port'>5070</entry>
- <entry key='riti.port'>5071</entry>
- <entry key='ulbotech.port'>5072</entry>
- <entry key='tramigo.port'>5073</entry>
- <entry key='tr900.port'>5074</entry>
- <entry key='ardi01.port'>5075</entry>
- <entry key='xt013.port'>5076</entry>
- <entry key='autofon.port'>5077</entry>
- <entry key='gosafe.port'>5078</entry>
- <entry key='tt8850.port'>5079</entry>
- <entry key='bce.port'>5080</entry>
- <entry key='xirgo.port'>5081</entry>
- <entry key='calamp.port'>5082</entry>
- <entry key='mtx.port'>5083</entry>
- <entry key='tytan.port'>5084</entry>
- <entry key='avl301.port'>5085</entry>
- <entry key='castel.port'>5086</entry>
- <entry key='mxt.port'>5087</entry>
- <entry key='cityeasy.port'>5088</entry>
- <entry key='aquila.port'>5089</entry>
- <entry key='flextrack.port'>5090</entry>
- <entry key='blackkite.port'>5091</entry>
- <entry key='adm.port'>5092</entry>
- <entry key='watch.port'>5093</entry>
- <entry key='t800x.port'>5094</entry>
- <entry key='upro.port'>5095</entry>
- <entry key='auro.port'>5096</entry>
- <entry key='disha.port'>5097</entry>
- <entry key='thinkrace.port'>5098</entry>
- <entry key='pathaway.port'>5099</entry>
- <entry key='arnavi.port'>5100</entry>
- <entry key='nvs.port'>5101</entry>
- <entry key='kenji.port'>5102</entry>
- <entry key='astra.port'>5103</entry>
- <entry key='homtecs.port'>5104</entry>
- <entry key='fox.port'>5105</entry>
- <entry key='gnx.port'>5106</entry>
- <entry key='arknav.port'>5107</entry>
- <entry key='supermate.port'>5108</entry>
- <entry key='appello.port'>5109</entry>
- <entry key='idpl.port'>5110</entry>
- <entry key='huasheng.port'>5111</entry>
- <entry key='l100.port'>5112</entry>
- <entry key='granit.port'>5113</entry>
- <entry key='carcell.port'>5114</entry>
- <entry key='obddongle.port'>5115</entry>
- <entry key='hunterpro.port'>5116</entry>
- <entry key='raveon.port'>5117</entry>
- <entry key='cradlepoint.port'>5118</entry>
- <entry key='arknavx8.port'>5119</entry>
- <entry key='autograde.port'>5120</entry>
- <entry key='oigo.port'>5121</entry>
- <entry key='jpkorjar.port'>5122</entry>
- <entry key='cguard.port'>5123</entry>
- <entry key='fifotrack.port'>5124</entry>
- <entry key='smokey.port'>5125</entry>
- <entry key='extremtrac.port'>5126</entry>
- <entry key='trakmate.port'>5127</entry>
- <entry key='at2000.port'>5128</entry>
- <entry key='maestro.port'>5129</entry>
- <entry key='ais.port'>5130</entry>
- <entry key='gt30.port'>5131</entry>
- <entry key='tmg.port'>5132</entry>
- <entry key='pretrace.port'>5133</entry>
- <entry key='pricol.port'>5134</entry>
- <entry key='siwi.port'>5135</entry>
- <entry key='starlink.port'>5136</entry>
- <entry key='dmt.port'>5137</entry>
- <entry key='xt2400.port'>5138</entry>
- <entry key='dmthttp.port'>5139</entry>
- <entry key='alematics.port'>5140</entry>
- <entry key='gps056.port'>5141</entry>
- <entry key='flexcomm.port'>5142</entry>
- <entry key='vt200.port'>5143</entry>
- <entry key='owntracks.port'>5144</entry>
- <entry key='vtfms.port'>5145</entry>
- <entry key='tlv.port'>5146</entry>
- <entry key='esky.port'>5147</entry>
- <entry key='genx.port'>5148</entry>
- <entry key='flespi.port'>5149</entry>
- <entry key='dway.port'>5150</entry>
- <entry key='recoda.port'>5151</entry>
- <entry key='oko.port'>5152</entry>
- <entry key='ivt401.port'>5153</entry>
- <entry key='sigfox.port'>5154</entry>
- <entry key='t57.port'>5155</entry>
- <entry key='spot.port'>5156</entry>
- <entry key='m2c.port'>5157</entry>
- <entry key='austinnb.port'>5158</entry>
- <entry key='opengts.port'>5159</entry>
- <entry key='cautela.port'>5160</entry>
- <entry key='continental.port'>5161</entry>
- <entry key='egts.port'>5162</entry>
- <entry key='robotrack.port'>5163</entry>
- <entry key='pt60.port'>5164</entry>
- <entry key='telemax.port'>5165</entry>
- <entry key='sabertek.port'>5166</entry>
- <entry key='retranslator.port'>5167</entry>
- <entry key='svias.port'>5168</entry>
- <entry key='eseal.port'>5169</entry>
- <entry key='freematics.port'>5170</entry>
- <entry key='avema.port'>5171</entry>
- <entry key='autotrack.port'>5172</entry>
- <entry key='tek.port'>5173</entry>
- <entry key='wristband.port'>5174</entry>
- <entry key='lacak.port'>5175</entry>
- <entry key='milesmate.port'>5176</entry>
- <entry key='anytrek.port'>5177</entry>
- <entry key='smartsole.port'>5178</entry>
- <entry key='its.port'>5179</entry>
- <entry key='xrb28.port'>5180</entry>
- <entry key='c2stek.port'>5181</entry>
- <entry key='nyitech.port'>5182</entry>
- <entry key='neos.port'>5183</entry>
- <entry key='satsol.port'>5184</entry>
- <entry key='globalstar.port'>5185</entry>
- <entry key='sanul.port'>5186</entry>
- <entry key='minifinder2.port'>5187</entry>
- <entry key='radar.port'>5188</entry>
- <entry key='techtlt.port'>5189</entry>
- <entry key='starcom.port'>5190</entry>
- <entry key='mictrack.port'>5191</entry>
- <entry key='plugin.port'>5192</entry>
- <entry key='leafspy.port'>5193</entry>
- <entry key='naviset.port'>5194</entry>
- <entry key='racedynamics.port'>5195</entry>
- <entry key='rst.port'>5196</entry>
- <entry key='pt215.port'>5197</entry>
- <entry key='pacifictrack.port'>5198</entry>
- <entry key='topin.port'>5199</entry>
- <entry key='outsafe.port'>5200</entry>
- <entry key='solarpowered.port'>5201</entry>
- <entry key='motor.port'>5202</entry>
- <entry key='omnicomm.port'>5203</entry>
- <entry key='s168.port'>5204</entry>
- <entry key='vnet.port'>5205</entry>
- <entry key='blue.port'>5206</entry>
- <entry key='pst.port'>5207</entry>
- <entry key='dingtek.port'>5208</entry>
- <entry key='wli.port'>5209</entry>
- <entry key='niot.port'>5210</entry>
- <entry key='portman.port'>5211</entry>
- <entry key='moovbox.port'>5212</entry>
- <entry key='futureway.port'>5213</entry>
- <entry key='polte.port'>5214</entry>
- <entry key='net.port'>5215</entry>
- <entry key='mobilogix.port'>5216</entry>
- <entry key='swiftech.port'>5217</entry>
- <entry key='iotm.port'>5218</entry>
- <entry key='dolphin.port'>5219</entry>
- <entry key='ennfu.port'>5220</entry>
- <entry key='navtelecom.port'>5221</entry>
- <entry key='startek.port'>5222</entry>
- <entry key='gs100.port'>5223</entry>
- <entry key='mavlink2.port'>5224</entry>
- <entry key='uux.port'>5225</entry>
- <entry key='r12w.port'>5226</entry>
- <entry key='flexiblereport.port'>5227</entry>
- <entry key='thinkpower.port'>5228</entry>
- <entry key='stb.port'>5229</entry>
- <entry key='b2316.port'>5230</entry>
- <entry key='hoopo.port'>5231</entry>
- <entry key='dualcam.port'>5232</entry>
- <entry key='xexun2.port'>5233</entry>
- <entry key='techtocruz.port'>5234</entry>
- <entry key='flexapi.port'>5235</entry>
- <entry key='dsf22.port'>5236</entry>
- <entry key='jido.port'>5237</entry>
- <entry key='armoli.port'>5238</entry>
- <entry key='teratrack.port'>5239</entry>
- <entry key='envotech.port'>5240</entry>
- <entry key='bstpl.port'>5241</entry>
- <entry key='thuraya.port'>5242</entry>
- <entry key='ndtpv6.port'>5243</entry>
- <entry key='g1rus.port'>5244</entry>
- <entry key='rftrack.port'>5245</entry>
- <entry key='vlt.port'>5246</entry>
- <entry key='transync.port'>5247</entry>
- <entry key='t622iridium.port'>5248</entry>
- <entry key='pui.port'>5249</entry>
- <entry key='nto.port'>5250</entry>
- <entry key='ramac.port'>5251</entry>
- <entry key='positrex.port'>5252</entry>
- <entry key='dragino.port'>5253</entry>
- <entry key='fleetguide.port'>5254</entry>
- <entry key='valtrack.port'>5255</entry>
- <entry key='snapper.port'>5256</entry>
-
-</properties>
diff --git a/setup/traccar.xml b/setup/traccar.xml
index aab9ba311..d5bd87e9c 100644
--- a/setup/traccar.xml
+++ b/setup/traccar.xml
@@ -1,22 +1,8 @@
<?xml version='1.0' encoding='UTF-8'?>
-
<!DOCTYPE properties SYSTEM 'http://java.sun.com/dtd/properties.dtd'>
-
<properties>
- <entry key='config.default'>./conf/default.xml</entry>
-
- <!--
-
- This is the main configuration file. All your configuration parameters should be placed in this file.
-
- Default configuration parameters are located in the "default.xml" file. You should not modify it to avoid issues
- with upgrading to a new version. Parameters in the main config file override values in the default file. Do not
- remove "config.default" parameter from this file unless you know what you are doing.
-
- For list of available parameters see following page: https://www.traccar.org/configuration-file/
-
- -->
+ <!-- Documentation: https://www.traccar.org/configuration-file/ -->
<entry key='database.driver'>org.h2.Driver</entry>
<entry key='database.url'>jdbc:h2:./data/database</entry>
diff --git a/src/main/java/org/traccar/ServerManager.java b/src/main/java/org/traccar/ServerManager.java
index 22af66b41..1b0c441cf 100644
--- a/src/main/java/org/traccar/ServerManager.java
+++ b/src/main/java/org/traccar/ServerManager.java
@@ -54,7 +54,7 @@ public class ServerManager implements LifecycleObject {
for (Class<?> protocolClass : ClassScanner.findSubclasses(BaseProtocol.class, "org.traccar.protocol")) {
String protocolName = BaseProtocol.nameFromClass(protocolClass);
if (enabledProtocols == null || enabledProtocols.contains(protocolName)) {
- if (config.hasKey(Keys.PROTOCOL_PORT.withPrefix(protocolName))) {
+ if (config.getInteger(Keys.PROTOCOL_PORT.withPrefix(protocolName)) > 0) {
BaseProtocol protocol = (BaseProtocol) injector.getInstance(protocolClass);
connectorList.addAll(protocol.getConnectorList());
protocolList.put(protocol.getName(), protocol);
diff --git a/src/main/java/org/traccar/config/Keys.java b/src/main/java/org/traccar/config/Keys.java
index 44037fb2e..a2aa42e1c 100644
--- a/src/main/java/org/traccar/config/Keys.java
+++ b/src/main/java/org/traccar/config/Keys.java
@@ -33,7 +33,7 @@ public final class Keys {
* Port number for the protocol. Most protocols use TCP on the transport layer. Some protocols use UDP. Some
* support both TCP and UDP.
*/
- public static final ConfigSuffix<Integer> PROTOCOL_PORT = new IntegerConfigSuffix(
+ public static final ConfigSuffix<Integer> PROTOCOL_PORT = new PortConfigSuffix(
".port",
List.of(KeyType.CONFIG));
diff --git a/src/main/java/org/traccar/config/PortConfigSuffix.java b/src/main/java/org/traccar/config/PortConfigSuffix.java
new file mode 100644
index 000000000..11d6f2dbb
--- /dev/null
+++ b/src/main/java/org/traccar/config/PortConfigSuffix.java
@@ -0,0 +1,278 @@
+package org.traccar.config;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class PortConfigSuffix extends ConfigSuffix<Integer> {
+
+ private static final Map<String, Integer> PORTS = new HashMap<>();
+
+ static {
+ PORTS.put("gps103", 5001);
+ PORTS.put("tk103", 5002);
+ PORTS.put("gl100", 5003);
+ PORTS.put("gl200", 5004);
+ PORTS.put("t55", 5005);
+ PORTS.put("xexun", 5006);
+ PORTS.put("totem", 5007);
+ PORTS.put("enfora", 5008);
+ PORTS.put("meiligao", 5009);
+ PORTS.put("trv", 5010);
+ PORTS.put("suntech", 5011);
+ PORTS.put("progress", 5012);
+ PORTS.put("h02", 5013);
+ PORTS.put("jt600", 5014);
+ PORTS.put("huabao", 5015);
+ PORTS.put("v680", 5016);
+ PORTS.put("pt502", 5017);
+ PORTS.put("tr20", 5018);
+ PORTS.put("navis", 5019);
+ PORTS.put("meitrack", 5020);
+ PORTS.put("skypatrol", 5021);
+ PORTS.put("gt02", 5022);
+ PORTS.put("gt06", 5023);
+ PORTS.put("megastek", 5024);
+ PORTS.put("navigil", 5025);
+ PORTS.put("gpsgate", 5026);
+ PORTS.put("teltonika", 5027);
+ PORTS.put("mta6", 5028);
+ PORTS.put("tzone", 5029);
+ PORTS.put("tlt2h", 5030);
+ PORTS.put("taip", 5031);
+ PORTS.put("wondex", 5032);
+ PORTS.put("cellocator", 5033);
+ PORTS.put("galileo", 5034);
+ PORTS.put("ywt", 5035);
+ PORTS.put("tk102", 5036);
+ PORTS.put("intellitrac", 5037);
+ PORTS.put("gpsmta", 5038);
+ PORTS.put("wialon", 5039);
+ PORTS.put("carscop", 5040);
+ PORTS.put("apel", 5041);
+ PORTS.put("manpower", 5042);
+ PORTS.put("globalsat", 5043);
+ PORTS.put("atrack", 5044);
+ PORTS.put("pt3000", 5045);
+ PORTS.put("ruptela", 5046);
+ PORTS.put("topflytech", 5047);
+ PORTS.put("laipac", 5048);
+ PORTS.put("aplicom", 5049);
+ PORTS.put("gotop", 5050);
+ PORTS.put("sanav", 5051);
+ PORTS.put("gator", 5052);
+ PORTS.put("noran", 5053);
+ PORTS.put("m2m", 5054);
+ PORTS.put("osmand", 5055);
+ PORTS.put("easytrack", 5056);
+ PORTS.put("gpsmarker", 5057);
+ PORTS.put("khd", 5058);
+ PORTS.put("piligrim", 5059);
+ PORTS.put("stl060", 5060);
+ PORTS.put("cartrack", 5061);
+ PORTS.put("minifinder", 5062);
+ PORTS.put("haicom", 5063);
+ PORTS.put("eelink", 5064);
+ PORTS.put("box", 5065);
+ PORTS.put("freedom", 5066);
+ PORTS.put("telic", 5067);
+ PORTS.put("trackbox", 5068);
+ PORTS.put("visiontek", 5069);
+ PORTS.put("orion", 5070);
+ PORTS.put("riti", 5071);
+ PORTS.put("ulbotech", 5072);
+ PORTS.put("tramigo", 5073);
+ PORTS.put("tr900", 5074);
+ PORTS.put("ardi01", 5075);
+ PORTS.put("xt013", 5076);
+ PORTS.put("autofon", 5077);
+ PORTS.put("gosafe", 5078);
+ PORTS.put("tt8850", 5079);
+ PORTS.put("bce", 5080);
+ PORTS.put("xirgo", 5081);
+ PORTS.put("calamp", 5082);
+ PORTS.put("mtx", 5083);
+ PORTS.put("tytan", 5084);
+ PORTS.put("avl301", 5085);
+ PORTS.put("castel", 5086);
+ PORTS.put("mxt", 5087);
+ PORTS.put("cityeasy", 5088);
+ PORTS.put("aquila", 5089);
+ PORTS.put("flextrack", 5090);
+ PORTS.put("blackkite", 5091);
+ PORTS.put("adm", 5092);
+ PORTS.put("watch", 5093);
+ PORTS.put("t800x", 5094);
+ PORTS.put("upro", 5095);
+ PORTS.put("auro", 5096);
+ PORTS.put("disha", 5097);
+ PORTS.put("thinkrace", 5098);
+ PORTS.put("pathaway", 5099);
+ PORTS.put("arnavi", 5100);
+ PORTS.put("nvs", 5101);
+ PORTS.put("kenji", 5102);
+ PORTS.put("astra", 5103);
+ PORTS.put("homtecs", 5104);
+ PORTS.put("fox", 5105);
+ PORTS.put("gnx", 5106);
+ PORTS.put("arknav", 5107);
+ PORTS.put("supermate", 5108);
+ PORTS.put("appello", 5109);
+ PORTS.put("idpl", 5110);
+ PORTS.put("huasheng", 5111);
+ PORTS.put("l100", 5112);
+ PORTS.put("granit", 5113);
+ PORTS.put("carcell", 5114);
+ PORTS.put("obddongle", 5115);
+ PORTS.put("hunterpro", 5116);
+ PORTS.put("raveon", 5117);
+ PORTS.put("cradlepoint", 5118);
+ PORTS.put("arknavx8", 5119);
+ PORTS.put("autograde", 5120);
+ PORTS.put("oigo", 5121);
+ PORTS.put("jpkorjar", 5122);
+ PORTS.put("cguard", 5123);
+ PORTS.put("fifotrack", 5124);
+ PORTS.put("smokey", 5125);
+ PORTS.put("extremtrac", 5126);
+ PORTS.put("trakmate", 5127);
+ PORTS.put("at2000", 5128);
+ PORTS.put("maestro", 5129);
+ PORTS.put("ais", 5130);
+ PORTS.put("gt30", 5131);
+ PORTS.put("tmg", 5132);
+ PORTS.put("pretrace", 5133);
+ PORTS.put("pricol", 5134);
+ PORTS.put("siwi", 5135);
+ PORTS.put("starlink", 5136);
+ PORTS.put("dmt", 5137);
+ PORTS.put("xt2400", 5138);
+ PORTS.put("dmthttp", 5139);
+ PORTS.put("alematics", 5140);
+ PORTS.put("gps056", 5141);
+ PORTS.put("flexcomm", 5142);
+ PORTS.put("vt200", 5143);
+ PORTS.put("owntracks", 5144);
+ PORTS.put("vtfms", 5145);
+ PORTS.put("tlv", 5146);
+ PORTS.put("esky", 5147);
+ PORTS.put("genx", 5148);
+ PORTS.put("flespi", 5149);
+ PORTS.put("dway", 5150);
+ PORTS.put("recoda", 5151);
+ PORTS.put("oko", 5152);
+ PORTS.put("ivt401", 5153);
+ PORTS.put("sigfox", 5154);
+ PORTS.put("t57", 5155);
+ PORTS.put("spot", 5156);
+ PORTS.put("m2c", 5157);
+ PORTS.put("austinnb", 5158);
+ PORTS.put("opengts", 5159);
+ PORTS.put("cautela", 5160);
+ PORTS.put("continental", 5161);
+ PORTS.put("egts", 5162);
+ PORTS.put("robotrack", 5163);
+ PORTS.put("pt60", 5164);
+ PORTS.put("telemax", 5165);
+ PORTS.put("sabertek", 5166);
+ PORTS.put("retranslator", 5167);
+ PORTS.put("svias", 5168);
+ PORTS.put("eseal", 5169);
+ PORTS.put("freematics", 5170);
+ PORTS.put("avema", 5171);
+ PORTS.put("autotrack", 5172);
+ PORTS.put("tek", 5173);
+ PORTS.put("wristband", 5174);
+ PORTS.put("lacak", 5175);
+ PORTS.put("milesmate", 5176);
+ PORTS.put("anytrek", 5177);
+ PORTS.put("smartsole", 5178);
+ PORTS.put("its", 5179);
+ PORTS.put("xrb28", 5180);
+ PORTS.put("c2stek", 5181);
+ PORTS.put("nyitech", 5182);
+ PORTS.put("neos", 5183);
+ PORTS.put("satsol", 5184);
+ PORTS.put("globalstar", 5185);
+ PORTS.put("sanul", 5186);
+ PORTS.put("minifinder2", 5187);
+ PORTS.put("radar", 5188);
+ PORTS.put("techtlt", 5189);
+ PORTS.put("starcom", 5190);
+ PORTS.put("mictrack", 5191);
+ PORTS.put("plugin", 5192);
+ PORTS.put("leafspy", 5193);
+ PORTS.put("naviset", 5194);
+ PORTS.put("racedynamics", 5195);
+ PORTS.put("rst", 5196);
+ PORTS.put("pt215", 5197);
+ PORTS.put("pacifictrack", 5198);
+ PORTS.put("topin", 5199);
+ PORTS.put("outsafe", 5200);
+ PORTS.put("solarpowered", 5201);
+ PORTS.put("motor", 5202);
+ PORTS.put("omnicomm", 5203);
+ PORTS.put("s168", 5204);
+ PORTS.put("vnet", 5205);
+ PORTS.put("blue", 5206);
+ PORTS.put("pst", 5207);
+ PORTS.put("dingtek", 5208);
+ PORTS.put("wli", 5209);
+ PORTS.put("niot", 5210);
+ PORTS.put("portman", 5211);
+ PORTS.put("moovbox", 5212);
+ PORTS.put("futureway", 5213);
+ PORTS.put("polte", 5214);
+ PORTS.put("net", 5215);
+ PORTS.put("mobilogix", 5216);
+ PORTS.put("swiftech", 5217);
+ PORTS.put("iotm", 5218);
+ PORTS.put("dolphin", 5219);
+ PORTS.put("ennfu", 5220);
+ PORTS.put("navtelecom", 5221);
+ PORTS.put("startek", 5222);
+ PORTS.put("gs100", 5223);
+ PORTS.put("mavlink2", 5224);
+ PORTS.put("uux", 5225);
+ PORTS.put("r12w", 5226);
+ PORTS.put("flexiblereport", 5227);
+ PORTS.put("thinkpower", 5228);
+ PORTS.put("stb", 5229);
+ PORTS.put("b2316", 5230);
+ PORTS.put("hoopo", 5231);
+ PORTS.put("dualcam", 5232);
+ PORTS.put("xexun2", 5233);
+ PORTS.put("techtocruz", 5234);
+ PORTS.put("flexapi", 5235);
+ PORTS.put("dsf22", 5236);
+ PORTS.put("jido", 5237);
+ PORTS.put("armoli", 5238);
+ PORTS.put("teratrack", 5239);
+ PORTS.put("envotech", 5240);
+ PORTS.put("bstpl", 5241);
+ PORTS.put("thuraya", 5242);
+ PORTS.put("ndtpv6", 5243);
+ PORTS.put("g1rus", 5244);
+ PORTS.put("rftrack", 5245);
+ PORTS.put("vlt", 5246);
+ PORTS.put("transync", 5247);
+ PORTS.put("t622iridium", 5248);
+ PORTS.put("pui", 5249);
+ PORTS.put("nto", 5250);
+ PORTS.put("ramac", 5251);
+ PORTS.put("positrex", 5252);
+ PORTS.put("dragino", 5253);
+ PORTS.put("fleetguide", 5254);
+ PORTS.put("valtrack", 5255);
+ PORTS.put("snapper", 5256);
+ }
+
+ PortConfigSuffix(String key, List<KeyType> types) {
+ super(key, types, null);
+ }
+
+ @Override
+ public ConfigKey<Integer> withPrefix(String protocol) {
+ return new IntegerConfigKey(protocol + keySuffix, types, PORTS.get(protocol));
+ }
+}