safe-t-daemon-go

command module
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 28, 2018 License: LGPL-3.0 Imports: 9 Imported by: 0

README

safe-t-daemon-go

Safe-T Communication Daemon aka Safe-T Bridge (written in Go)

Only compatible with Chrome (version 53 or later) and Firefox (version 55 or later).

status: spec Chrome Firefox Edge

Install and run from source

go get github.com/archos-safe-t/safe-t-daemon-go
go build github.com/archos-safe-t/safe-t-daemon-go
./safe-t-daemon-go -h

Guide to compiling packages

Prerequisites:

  • go get github.com/karalabe/xgo
  • docker pull karalabe/xgo-latest
  • make sure xgo and docker are in $PATH
  • cd release && make all; the installers are in installers

Quick guide to cross-compiling

Prerequisites:

  • go get github.com/karalabe/xgo
  • docker pull karalabe/xgo-latest

Compiling for officially supported platforms:

  • $GOPATH/bin/xgo -targets=windows/amd64,windows/386,darwin/amd64,linux/amd64,linux/386 .

API documentation

safe-t-daemon starts a HTTP server on http://localhost:21326. AJAX calls are only enabled from safe-t.io subdomains.

Server supports following API calls:

url
method
parameters result type description
/
POST
{version: string} Returns current version of bridge
/enumerate
POST
Array<{path: string,
session: string | null}>
Lists devices.
path uniquely defines device between more connected devices. It might or might not be unique over time; on some platform it changes, on others given USB port always returns the same path.
If session is null, nobody else is using the device; if it's string, it identifies who is using it.
/listen
POST
request body: previous, as JSON like enumerate Listen to changes and returns either on change or after 30 second timeout. Compares change from previous that is sent as a parameter. "Change" is both connecting/disconnecting and session change.
/acquire/PATH/PREVIOUS
POST
PATH: path of device
PREVIOUS: previous session (or string "null")
{session: string} Acquires the device at PATH. By "acquiring" the device, you are claiming the device for yourself.
Before acquiring, checks that the current session is PREVIOUS.
If two applications call acquire on a newly connected device at the same time, only one of them succeed.
/release/SESSION
POST
SESSION: session to release {} Releases the device with the given session.
By "releasing" the device, you claim that you don't want to use the device anymore.
/call/SESSION
POST
SESSION: session to call

request body: hexadecimal string
hexadecimal string Both input and output are hexadecimal, encoded in following way:
first 2 bytes (4 characters in the hexadecimal) is the message type
next 4 bytes (8 in hex) is length of the data
the rest is the actual encoded protobuf data.
Protobuf messages are defined in this protobuf file and the app, calling safe-t-daemon-go, should encode/decode it itself.
/post/SESSION
POST
SESSION: session to call

request body: hexadecimal string
0 Similar to call, just doesn't read response back. Usable mainly for debug link, currently working only with emulator.
  • (C) 2018 Archos S.A.
  • (C) 2018 Karel Bilek, Jan Pochyla
  • CORS Copyright (c) 2013 The Gorilla Handlers Authors, BSD license
  • Licensed under LGPLv3

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL