<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE properties SYSTEM 'http://java.sun.com/dtd/properties.dtd'> <properties> <!-- SERVER CONFIG --> <entry key='web.enable'>true</entry> <entry key='web.port'>8082</entry> <entry key='web.path'>./web</entry> <entry key='geocoder.enable'>true</entry> <entry key='geocoder.type'>google</entry> <entry key='logger.enable'>true</entry> <entry key='logger.level'>all</entry> <entry key='logger.file'>./logs/tracker-server.log</entry> <entry key='event.enable'>true</entry> <entry key='processing.computedAttributes.enable'>true</entry> <entry key='media.path'>./media</entry> <entry key='server.statistics'>https://www.traccar.org/analytics/</entry> <!-- DATABASE CONFIG --> <entry key='database.ignoreUnknown'>true</entry> <entry key='database.changelog'>./schema/changelog-master.xml</entry> <entry key='database.selectServers'> SELECT * FROM server </entry> <entry key='database.updateServer'> UPDATE server SET registration = :registration, readonly = :readonly, deviceReadonly = :deviceReadonly, map = :map, bingKey = :bingKey, mapUrl = :mapUrl, distanceUnit = :distanceUnit, speedUnit = :speedUnit, latitude = :latitude, longitude = :longitude, zoom = :zoom, twelveHourFormat = :twelveHourFormat, coordinateFormat = :coordinateFormat, forceSettings = :forceSettings, timezone = :timezone, attributes = :attributes WHERE id = :id </entry> <entry key='database.loginUser'> SELECT * FROM users WHERE email = :email </entry> <entry key='database.selectUsersAll'> SELECT * FROM users </entry> <entry key='database.insertUser'> INSERT INTO users (name, email, phone, hashedPassword, salt, readonly, admin, map, distanceUnit, speedUnit, latitude, longitude, zoom, twelveHourFormat, coordinateFormat, disabled, expirationTime, deviceLimit, userLimit, deviceReadonly, token, timezone, attributes) VALUES (:name, :email, :phone, :hashedPassword, :salt, :readonly, :admin, :map, :distanceUnit, :speedUnit, :latitude, :longitude, :zoom, :twelveHourFormat, :coordinateFormat, :disabled, :expirationTime, :deviceLimit, :userLimit, :deviceReadonly, :token, :timezone, :attributes) </entry> <entry key='database.updateUser'> UPDATE users SET name = :name, email = :email, phone = :phone, readonly = :readonly, admin = :admin, map = :map, distanceUnit = :distanceUnit, speedUnit = :speedUnit, latitude = :latitude, longitude = :longitude, zoom = :zoom, twelveHourFormat = :twelveHourFormat, coordinateFormat = :coordinateFormat, disabled = :disabled, expirationTime = :expirationTime, deviceLimit = :deviceLimit, userLimit = :userLimit, deviceReadonly = :deviceReadonly, token = :token, timezone = :timezone, attributes = :attributes WHERE id = :id </entry> <entry key='database.updateUserPassword'> UPDATE users SET hashedPassword = :hashedPassword, salt = :salt WHERE id = :id </entry> <entry key='database.deleteUser'> DELETE FROM users WHERE id = :id </entry> <entry key='database.selectDevicePermissions'> SELECT userId, deviceId FROM user_device </entry> <entry key='database.selectGroupPermissions'> SELECT userId, groupId FROM user_group </entry> <entry key='database.selectDevicesAll'> SELECT * FROM devices </entry> <entry key='database.insertDevice'> INSERT INTO devices (name, uniqueId, groupId, attributes, phone, model, contact, category) VALUES (:name, :uniqueId, :groupId, :attributes, :phone, :model, :contact, :category) </entry> <entry key='database.updateDevice'> UPDATE devices SET name = :name, uniqueId = :uniqueId, groupId = :groupId, attributes = :attributes, phone = :phone, model = :model, contact = :contact, category = :category WHERE id = :id </entry> <entry key='database.updateDeviceStatus'> UPDATE devices SET lastUpdate = :lastUpdate WHERE id = :id </entry> <entry key='database.deleteDevice'> DELETE FROM devices WHERE id = :id </entry> <entry key='database.linkDevice'> INSERT INTO user_device (userId, deviceId) VALUES (:userId, :deviceId) </entry> <entry key='database.unlinkDevice'> DELETE FROM user_device WHERE userId = :userId AND deviceId = :deviceId </entry> <entry key='database.selectGroupsAll'> SELECT * FROM groups </entry> <entry key='database.insertGroup'> INSERT INTO groups (name, groupId, attributes) VALUES (:name, :groupId, :attributes) </entry> <entry key='database.updateGroup'> UPDATE groups SET name = :name, groupId = :groupId, attributes = :attributes WHERE id = :id </entry> <entry key='database.deleteGroup'> DELETE FROM groups WHERE id = :id </entry> <entry key='database.linkGroup'> INSERT INTO user_group (userId, groupId) VALUES (:userId, :groupId) </entry> <entry key='database.unlinkGroup'> DELETE FROM user_group WHERE userId = :userId AND groupId = :groupId </entry> <entry key='database.selectPositions'> SELECT * FROM positions WHERE deviceId = :deviceId AND fixTime BETWEEN :from AND :to ORDER BY fixTime </entry> <entry key='database.selectPosition'> SELECT * FROM positions WHERE id = :id </entry> <entry key='database.insertPosition'> INSERT INTO positions (deviceId, protocol, serverTime, deviceTime, fixTime, valid, latitude, longitude, altitude, speed, course, address, attributes, accuracy, network) VALUES (:deviceId, :protocol, :now, :deviceTime, :fixTime, :valid, :latitude, :longitude, :altitude, :speed, :course, :address, :attributes, :accuracy, :network) </entry> <entry key='database.selectLatestPositions'> SELECT positions.* FROM positions INNER JOIN devices ON positions.id = devices.positionid; </entry> <entry key='database.updateLatestPosition'> UPDATE devices SET positionId = :id WHERE id = :deviceId </entry> <entry key='database.selectEvent'> SELECT * FROM events WHERE id = :id </entry> <entry key='database.insertEvent'> INSERT INTO events (type, serverTime, deviceId, positionId, geofenceId, attributes) VALUES (:type, :serverTime, :deviceId, :positionId, :geofenceId, :attributes) </entry> <entry key='database.selectEvents'> SELECT * FROM events WHERE deviceId = :deviceId AND serverTime BETWEEN :from AND :to ORDER BY serverTime </entry> <entry key='database.selectGeofencesAll'> SELECT * FROM geofences </entry> <entry key='database.insertGeofence'> INSERT INTO geofences (name, description, calendarid, area, attributes) VALUES (:name, :description, :calendarid, :area, :attributes) </entry> <entry key='database.updateGeofence'> UPDATE geofences SET name = :name, description = :description, calendarid = :calendarid, area = :area, attributes = :attributes WHERE id = :id </entry> <entry key='database.deleteGeofence'> DELETE FROM geofences WHERE id = :id </entry> <entry key='database.selectGeofencePermissions'> SELECT userId, geofenceId FROM user_geofence </entry> <entry key='database.linkGeofence'> INSERT INTO user_geofence (userId, geofenceId) VALUES (:userId, :geofenceId) </entry> <entry key='database.unlinkGeofence'> DELETE FROM user_geofence WHERE userId = :userId AND geofenceId = :geofenceId </entry> <entry key='database.selectGroupGeofences'> SELECT groupId, geofenceId FROM group_geofence </entry> <entry key='database.linkGroupGeofence'> INSERT INTO group_geofence (groupId, geofenceId) VALUES (:groupId, :geofenceId) </entry> <entry key='database.unlinkGroupGeofence'> DELETE FROM group_geofence WHERE groupId = :groupId AND geofenceId = :geofenceId </entry> <entry key='database.selectDeviceGeofences'> SELECT deviceId, geofenceId FROM device_geofence </entry> <entry key='database.linkDeviceGeofence'> INSERT INTO device_geofence (deviceId, geofenceId) VALUES (:deviceId, :geofenceId) </entry> <entry key='database.unlinkDeviceGeofence'> DELETE FROM device_geofence WHERE deviceId = :deviceId AND geofenceId = :geofenceId </entry> <entry key='database.selectNotifications'> SELECT * FROM notifications </entry> <entry key='database.insertNotification'> INSERT INTO notifications (userId, type, web, mail, sms, attributes) VALUES (:userId, :type, :web, :mail, :sms, :attributes) </entry> <entry key='database.updateNotification'> UPDATE notifications SET userId = :userId, type = :type, web = :web, mail = :mail, sms = :sms, attributes = :attributes WHERE id = :id </entry> <entry key='database.deleteNotification'> DELETE FROM notifications WHERE id = :id </entry> <entry key='database.deletePositions'> DELETE FROM positions WHERE serverTime < :serverTime AND id NOT IN (SELECT positionId FROM devices) </entry> <entry key='database.deleteEvents'> DELETE FROM events WHERE serverTime < :serverTime </entry> <entry key='database.selectAttributeAliases'> SELECT * FROM attribute_aliases </entry> <entry key='database.insertAttributeAlias'> INSERT INTO attribute_aliases (deviceId, attribute, alias) VALUES (:deviceId, :attribute, :alias) </entry> <entry key='database.updateAttributeAlias'> UPDATE attribute_aliases SET deviceId = :deviceId, attribute = :attribute, alias = :alias WHERE id = :id </entry> <entry key='database.deleteAttributeAlias'> DELETE FROM attribute_aliases WHERE id = :id </entry> <entry key='database.selectStatistics'> SELECT * FROM statistics WHERE captureTime BETWEEN :from AND :to ORDER BY captureTime </entry> <entry key='database.insertStatistics'> INSERT INTO statistics (captureTime, activeUsers, activeDevices, requests, messagesReceived, messagesStored, mailSent, smsSent, geocoderRequests, geolocationRequests, attributes) VALUES (:captureTime, :activeUsers, :activeDevices, :requests, :messagesReceived, :messagesStored, :mailSent, :smsSent, :geocoderRequests, :geolocationRequests, :attributes) </entry> <entry key='database.selectCalendarsAll'> SELECT * FROM calendars </entry> <entry key='database.insertCalendar'> INSERT INTO calendars (name, data, attributes) VALUES (:name, :data, :attributes) </entry> <entry key='database.updateCalendar'> UPDATE calendars SET name = :name, data = :data, attributes = :attributes WHERE id = :id </entry> <entry key='database.deleteCalendar'> DELETE FROM calendars WHERE id = :id </entry> <entry key='database.selectCalendarPermissions'> SELECT userId, calendarId FROM user_calendar </entry> <entry key='database.linkCalendar'> INSERT INTO user_calendar (userId, calendarId) VALUES (:userId, :calendarId) </entry> <entry key='database.unlinkCalendar'> DELETE FROM user_calendar WHERE userId = :userId AND calendarId = :calendarId </entry> <entry key='database.selectUserPermissions'> SELECT userId, managedUserId FROM user_user </entry> <entry key='database.linkUser'> INSERT INTO user_user (userId, managedUserId) VALUES (:userId, :managedUserId) </entry> <entry key='database.unlinkUser'> DELETE FROM user_user WHERE userId = :userId AND managedUserId = :managedUserId </entry> <entry key='database.selectAttributes'> SELECT * FROM attributes </entry> <entry key='database.insertAttribute'> INSERT INTO attributes (description, type, attribute, expression) VALUES (:description, :type, :attribute, :expression) </entry> <entry key='database.updateAttribute'> UPDATE attributes SET description = :description, type = :type, attribute = :attribute, expression = :expression WHERE id = :id </entry> <entry key='database.deleteAttribute'> DELETE FROM attributes WHERE id = :id </entry> <entry key='database.selectAttributePermissions'> SELECT userId, attributeId FROM user_attribute </entry> <entry key='database.linkAttribute'> INSERT INTO user_attribute (userId, attributeId) VALUES (:userId, :attributeId) </entry> <entry key='database.unlinkAttribute'> DELETE FROM user_attribute WHERE userId = :userId AND attributeId = :attributeId </entry> <entry key='database.selectGroupAttributes'> SELECT groupId, attributeId FROM group_attribute </entry> <entry key='database.linkGroupAttribute'> INSERT INTO group_attribute (groupId, attributeId) VALUES (:groupId, :attributeId) </entry> <entry key='database.unlinkGroupAttribute'> DELETE FROM group_attribute WHERE groupId = :groupId AND attributeId = :attributeId </entry> <entry key='database.selectDeviceAttributes'> SELECT deviceId, attributeId FROM device_attribute </entry> <entry key='database.linkDeviceAttribute'> INSERT INTO device_attribute (deviceId, attributeId) VALUES (:deviceId, :attributeId) </entry> <entry key='database.unlinkDeviceAttribute'> DELETE FROM device_attribute WHERE deviceId = :deviceId AND attributeId = :attributeId </entry> <!-- PROTOCOL CONFIG --> <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> </properties>