
Research
Security News
Malicious PyPI Package Exploits Deezer API for Coordinated Music Piracy
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
GPX file Import / Export and resource API provider plugin for Signal K Server.
SignalK server plugin and WebApp that:
Allows the upload of selected Routes, Waypoints and Tracks in GPX files to a SignalK server
Acts as a resource provider for Routes, Waypoints and Tracks to make them available via the SignalK API. e.g. http://signalk-server/signalk/v1/api/reources/routes
Accepts updates via HTTP PUT and STREAM PUT actions to enable adding, editing and deleting of resources by applications. (see Configuration below)
Preserves the SignalK UUIDs of exported resources written to the GPX file to avoid resource duplication.
API provider for:
Import / Export GPX resources
Manage Resources screen to allow:
Deletion of resources. (Note: Deleting a Route will also delete the associated Start / End waypoints.)
Setting a route as the Active Route
Support for SignalK HTTP PUT and STREAM PUT actions to enable applications to add, update and delete resources (see Configuration below).
Upgrading from v0.x.x
To Import a GPX file:
Open the Web App at the url: http://signalk-server/gpxload/
Select the Import GPX tab and click Open GPX file
Select a GPX file.
Select some or all of the Routes, Waypoints and Tracks from the displayed list.
To import just selected resources of a particular type click the Load button located within that resources group. To import all selected resources click Load Selected
To Export resources to a GPX file:
Open the Web App at the url: http://signalk-server/gpxload/
Select the Export to GPX tab and a list of available resources are displayed. Click Refresh if you want to re-load the list of resources from the Signal K server.
Select the Routes, Waypoints and Tracks from the displayed list that you want saved to the GPX file.
Click Save to export selected resources to file.
Note:
GPXLoad preserves the uuids of resources exported from Signal K server in the GPX file, so if these GPX files are re-imported they will update the corresponding resource on the Signal K server rather than create a new resource.
GPX files containing elements without Signal K UUID values will have UUIDs assigned each time the file is opened (or re-opened) in the WebUI. This will result in duplicate resources on the Signal K server if a GPX file is: opened, resources imported, re-opened and the same resources imported.
Signal K HTTP and STREAM API processing can be enabled via Signal K server Plugin Config screen.
GPXLoad will only accept HTTP and STREAM update requests for a specified resource id so you will need to provide a complete, valid resource record as per the Signal K schema.
Configuration Settings
Enable / Disable PUT API: Check this option to allow resources to be added or updated via HTTP or STREAM PUT messages.
Allow update via Delta: Check this option to respond to STREAM DELTA messages for the adding or updating of resources.
Allow DELETE: Check this option to allow the deletion of resources in response to HTTP, STREAM API or DELTA messages.
API Examples:
Example: Add / Update route
HTTP PUT http://signalk-server/signalk/v1/api/vessels/self/resources/routes
{
"value":{
"urn:mrn:signalk:uuid:a8554512-5d3b-45a1-92e9-eb93da834aaa": {
"name":"KI",
"description":"KI via Edithburgh",
"distance":164006.423,
"start":"urn:mrn:signalk:uuid:e85c96e7-9bd4-4ed9-81aa-d3a350f0de55",
"end":"urn:mrn:signalk:uuid:fab5c914-b49b-4f15-a1b4-e7b90de52cb5",
"feature":{
"type":"Feature",
"geometry":{
"type":"LineString",
"coordinates":[
[137.780507,-35.781544],[137.633972,-35.557088],[137.582846,-35.551319],[137.534531,-35.589552],[137.752977,-35.08999],[138.432849,-34.885938]
]
},
"properties":{}
}
}
}
}
STREAM:
{
"context":"vessels.self",
"put": {
"path": "resources.routes",
"source": "myapp",
"value":{
"urn:mrn:signalk:uuid:16c1c6bc-e8e8-4a97-9aa8-a00c27badaeb":{
"name":"Route 2",
"description":"Route created 26/09/2016",
"distance":58933.222,"start":"urn:mrn:signalk:uuid:1392c042-56cc-41d3-b696-779f1d39e419",
"end":"urn:mrn:signalk:uuid:7870ecf4-b1d5-4f42-85bf-357ccd81d5fc",
"feature":{
"type":"Feature",
"geometry":{
"type":"LineString",
"coordinates":[[135.3,-29.5],[135.4,-29.6],[135.5,-29.7],[135.6,-29.8],[135.7,-29.9]]
},
"properties":{}
}
}
}
}
}
DELTA Message:
{
"context":"vessels.self",
"updates":[{
"values":[{
"path":"resources.routes",
"value":{
"urn:mrn:signalk:uuid:16c1c6bc-e8e8-4a97-9aa8-a00c27badaeb":{
"name":"Route 2",
"description":"Route created 26/09/2016",
"distance":58933.222,"start":"urn:mrn:signalk:uuid:1392c042-56cc-41d3-b696-779f1d39e419",
"end":"urn:mrn:signalk:uuid:7870ecf4-b1d5-4f42-85bf-357ccd81d5fc",
"feature":{
"type":"Feature",
"geometry":{
"type":"LineString",
"coordinates":[[135.3,-29.5],[135.4,-29.6],[135.5,-29.7],[135.6,-29.8],[135.7,-29.9]]
},
"properties":{}
}
}
}
}]
}]
}
Example: Delete route
HTTP PUT http://signalk-server/signalk/v1/api/vessels/self/resources/routes
{
"value":{
"urn:mrn:signalk:uuid:a8554512-5d3b-45a1-92e9-eb93da834aaa": null
}
}
STREAM:
{
"context":"vessels.self",
"put": {
"path": "resources.routes",
"source": "myapp",
"value":{
"urn:mrn:signalk:uuid:16c1c6bc-e8e8-4a97-9aa8-a00c27badaeb": null
}
}
}
DELTA Message:
{
"context":"vessels.self",
"updates":[{
"values":[{
"path":"resources.routes",
"value":{
"urn:mrn:signalk:uuid:16c1c6bc-e8e8-4a97-9aa8-a00c27badaeb": null
}
}]
}]
}
HTTP:
Acts as a provider for the following paths:
/signalk/v1/api/resources/routes
/signalk/v1/api/resources/waypoints
/signalk/v1/api/resources/tracks
Processes PUT requests for the following paths:
/signalk/v1/api/vessels/self/resources/routes
/signalk/v1/api/vessels/self/resources/waypoints
Stream:
Processes STREAM updates for the following paths:
vessels.self.resources.routes
vessels.self.resources.waypoints
Sends Deltas for the following paths:
resources.routes.<uuid>
resources.waypoints.<uuid>
resources.tracks.<uuid>
navigation.course.activeRoute.href
navigation.course.activeRoute.startTime
FAQs
GPX Import / Export plugin for Signal K Server.
The npm package gpxload receives a total of 32 weekly downloads. As such, gpxload popularity was classified as not popular.
We found that gpxload demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.
Security News
Newly introduced telemetry in devenv 1.4 sparked a backlash over privacy concerns, leading to the removal of its AI-powered feature after strong community pushback.