Gpsdgs is distributed under a license GPL3+
The purpose of this software is the ability to create your personal server to track own devices, and saving location data without using a third-party servers for storing private information on the whereabouts.
This software is used in conjunction with the client, or any other, which may transmits the information over UDP as following:
Example of valid UDP packet from the client: 123456789 1401610649 45.32175 32.14598 25 139 25 115 00 75 25 0 0
Server is send response, containing the same time stamp that was in the incoming UDP packet, if client data successful parsed and saved.
Example of valid UDP packet from the server: 1401610649
Usage: gpsdgs [OPTION]
--version – print the version number of gpsdgs and exit
--debug – enable loging in stdout
--help – display this help and exit
/etc/gpsdgs.conf — config file. If file is not exist, it will be created with the default values (need root privileges).
Default values:
debug=1 – enable logging in stdout (priority lower than command line option)
udpport=5300 – UDP port
dbname=gpsdata – name of used database
dbhost=localhost – address or name postgresql server
dbport=5432 – postgresql server port
dbuser=gpsuser – username for database connect
dbpass=gpsu – password for database connect
Bugs:
Contact to Michael Tatarko to correct errors or typos.
Addition testing user with uid=0 into users table:
INSERT INTO users VALUES (0,' ',' ',' ',' ',1,0);
Use gpsdgs-bench util for testing:
gpsdgs-bench <domain or ip> <udp port> [packet number (1-1000, default=50)]
The client so fast sends the packet again, until it receives a response from the server. Do not be surprised that sent much more than received.
~ # gpsdgs-bench lumi.pw 5300 1000 Connect to: 194.87.92.77:5300 current:783 total:25898 receive:1000 left:0 Client send 25898 request at 3.393917s. (~7630.711 rps) Server send 1000 answer at 3.393877s. (~294.648 aps)
And then delete garbage from tables users and data:
DELETE FROM users WHERE uid='0'; DELETE FROM data WHERE uid='0';