--- Begin Message ---
Package: wnpp
Severity: wishlist
Owner: Chris Keller <xylo04@gmail.com>
* Package name : kel-agent
Version : 0.0~git20201103.9b8976a-1
Upstream Author : K0SWE
* URL : https://github.com/k0swe/kel-agent
* License : Apache-2.0
Programming Lang: Go
Description : An agent program for translating between amateur
radio installed programs and WebSockets
kel-agent An agent program for translating between various amateur radio
installed programs and WebSockets. This will allow the creation of
cloud-based amateur radio applications while using integration points
only available through local processes.
.
Architecture
.
At first this will support receiving status and log messages from
WSJT-X. Planned support includes rigctld and Ham Radio Deluxe for
transceiver remote control. Running on localhost In the simplest case,
kel-agent is running on the same computer as your radio programs and
browser. In this case, you can have kel-agent bind to localhost which
will only allow programs on the same computer to connect. This is
straightforward, safe and the default.
.
.
$ kel-agent 2020/10/10 18:50:32 kel-agent ready to serve at
ws://localhost:8081
.
Running on another machine If you want to run your radio programs
and kel-agent on one computer and your browser on another, this is
possible. There are a couple of approaches. Neither is super easy,
which I hope to fix.
.
NOTE: I do not recommend serving this in a way that's exposed to the
internet because there is no authentication. If exposed to the internet,
anyone could potentially initiate transmissions with your radio. SSH port
forwarding This method is relatively simple and quick to execute, but
is more brittle than serving secure websockets because there is some
setup each time you want to use the agent remotely, and conceptually
a little harder. Your remote machine must be running an SSH server for
this to work.
.
On the remote machine with your radio software, run kel-agent normally. It
can be bound to localhost.
.
.
$ kel-agent 2020/10/10 18:50:32 kel-agent ready to serve at
ws://localhost:8081
.
.
On the machine with your browser, start a command line and establish an
SSH tunnel with port forwarding:
.
.
$ ssh -N -L localhost:8081:localhost:8081 radio-pi
.
.
The first localhost:8081 means "on this (browser) machine, bind to port
8081 and only expose to localhost so other computers can't use it." The
second localhost:8081 means "once you log into the remote computer, start
forwarding traffic to port 8081 on its (remote) localhost." Finally,
radio-pi in my example is the remote hostname which is running kel-agent
and the SSH server.
.
The command will look like it's not doing anything; just let it run,
and the tunnel will stay open.
.
Now your web application can be configured to connect to
localhost. Traffic bound for localhost:8081 will get securely forwarded
to the remote machine. Both the browser and kel-agent think they're
talking to local processes, and you won't get mixed content warnings.
Secure Websocket with TLS This method needs a little more set up ahead
of time, but is easier to use once it's set up.
.
First, you'll need kel-agent to bind to 0.0.0.0 to allow connections
from other computers. Second, due to the mixed content policy which is
standard in web browsers, you'll need to specify a TLS certificate and
private key. Eventually I hope to make this easy, but for now you'll
need to follow https://stackoverflow.com/a/60516812/587091. In short,
• generate a CA key and root certificate, then• a server key and
certificate signing request with the server's hostname,• sign the
request to generate the server certificate, then finally• install the
root certificate in your browser's trusted authorities. Yeah, I really
need to make this easier.
.
.
$ kel-agent -host 0.0.0.0:8081 -key server.key -cert server.crt 2020/10/10
19:05:39 kel-agent ready to serve at wss://0.0.0.0:8081
.
.
Once running this way, your web application can be configured to
connect directly to the remote computer. Allowed origins As part of
the same-origin policy which is standard in web browsers, kel-agent
will only accept browser connections from certain origins (basically,
websites). By default, only the website https://log.k0swe.radio plus
some local developer addresses are allowed to connect to kel-agent,
but this can be customized if others develop web applications that use
kel-agent. I'm happy to accept pull requests to expand the default list!
.
.
$ kel-agent -origins "https://log.k0swe.radio,https://someother.nifty.app"
2020/10/10 19:18:52 Allowed origins are [https://log.k0swe.radio
https://someother.nifty.app]
--- End Message ---
--- Begin Message ---
Source: kel-agent
Source-Version: 0.1.2-1
Done: Chris Keller <xylo04@gmail.com>
We believe that the bug you reported is fixed in the latest version of
kel-agent, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 973707@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Chris Keller <xylo04@gmail.com> (supplier of updated kel-agent package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Sun, 29 Nov 2020 13:22:37 -0700
Source: kel-agent
Binary: kel-agent
Architecture: source amd64
Version: 0.1.2-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Go Packaging Team <team+pkg-go@tracker.debian.org>
Changed-By: Chris Keller <xylo04@gmail.com>
Description:
kel-agent - Web interface for amateur radio installed programs (program)
Closes: 973707
Changes:
kel-agent (0.1.2-1) unstable; urgency=medium
.
[ Chris Keller ]
* Initial release (Closes: 973707)
* Added manual page
* Updated dependencies
.
[ tony mancill ]
* Added myself to Uploaders
* Bumped Standards-Version to 4.5.1
Checksums-Sha1:
3512a04005b3dc73f4807583fd45bb7bfcc233ce 2174 kel-agent_0.1.2-1.dsc
520528d1668320ebf16f92b238f19a65f75ec1b0 14141 kel-agent_0.1.2.orig.tar.gz
49729cf35506871bdc4aa3d88c062cb47f02212b 3324 kel-agent_0.1.2-1.debian.tar.xz
ee1802c7cb96d977f2bd7716cafc10a49b1db896 6085 kel-agent_0.1.2-1_amd64.buildinfo
9c1f717d733207191e0ef725000dd247eaff9647 1637592 kel-agent_0.1.2-1_amd64.deb
Checksums-Sha256:
239fb9dee5cee2a26644105b243a74edc7f2e991e693d6a9b001fd4cc9d651a9 2174 kel-agent_0.1.2-1.dsc
ecb8b91bfa0364d1b3d2ee6a6abc47105e2ce56e042625a238aeeb0407080795 14141 kel-agent_0.1.2.orig.tar.gz
c745105eb9f8afe6b49d02462fe6693eb92c4f8ee620ca3cc932245237c5616a 3324 kel-agent_0.1.2-1.debian.tar.xz
0552c900467e19992ecfaf3bd2e64f743e3c1e60443b07f4375e86bda754fa82 6085 kel-agent_0.1.2-1_amd64.buildinfo
05a95c8876ab696507fbf188d4757a0bb7a6228f2a8ca59f6fafec3ae7990e29 1637592 kel-agent_0.1.2-1_amd64.deb
Files:
88b7addf5963893a274fe94d20dd4f7a 2174 hamradio optional kel-agent_0.1.2-1.dsc
9166ef375c5204037a5ba5923da4df18 14141 hamradio optional kel-agent_0.1.2.orig.tar.gz
380d5c358fd228b5f26bcc40dea65606 3324 hamradio optional kel-agent_0.1.2-1.debian.tar.xz
629237b1b99fdf9583f002b328e9f2eb 6085 hamradio optional kel-agent_0.1.2-1_amd64.buildinfo
06a754dac5204cb2ec5bbd36f591ce26 1637592 hamradio optional kel-agent_0.1.2-1_amd64.deb
-----BEGIN PGP SIGNATURE-----
iQJIBAEBCgAyFiEE5Qr9Va3SequXFjqLIdIFiZdLPpYFAl/NLvsUHHRtYW5jaWxs
QGRlYmlhbi5vcmcACgkQIdIFiZdLPpb95g/+MpYh3A+Km86jQCs9XoAoDriro1nk
v/l2Yr1aopnTboSIJMt3jIXqVTrK0knJzzI8xA+nN3pue6TzehMVlAhOH/nDxZzP
uQMpFfI1PwF3j+XrGtejx+8kYjmouW1muMSD1REOPd2jhnkbwYts++AOzuJRxefR
FCr/e5AIHKHWjGFas7AJDJmDg1iluJFZlXBRLJVgDhQAxhbXdno0WM4tE3Z6dChA
D2MK0y5xvlL0hynnGsmZHE4FuJ8ZucDyfp7nwAwsq1UaJd4kT2a8r2xRORmM4mWK
L8c5iyHa9yqDhrbtwBE/9JtWp0kuGjZmNgp/zjrPmbgK7jUugSAVHPQjzDCQtc/F
7TzCO2038BRlguCx0CfLMaEyagM2xQPmlsRpv2Ns27ZpamS0lxSZKHL+hZ0qlOW6
lTzTDzN8+MrANVjYeOX53UxbuYYxZ+LEeMPIfyfWLXqHKQGvnMS5z19IgbgBizm+
gwYEBbtIAS40zOaqeaivCp9HXhsPs02ChyJnzyQhFX8LkP1gJNhVZ8tIBAl2pdBO
e2x5H3wWS2OfYgUpisM9NJwjKYDcRxG90emGVGhqTYUqXKfi1h6gQ4bgu57pRZ1M
qOa94u2rM7BUZy4qdFa3oOyNW4dh6WTtzHuDxQTN8RTdxQs8SAuHJrCDwZxnnKah
/QzFcdqBVjte1ew=
=g/wq
-----END PGP SIGNATURE-----
--- End Message ---