An HTTP proxy over Yggdrasil, using CoAP.
Add ruby to CI environment
Add simple HTTP GET integration test
Add basic structure for integration tests

refs

master
browse log

clone

read-only
https://git.sr.ht/~fnux/matrix-yggdrasil-http-proxy
read/write
git@git.sr.ht:~fnux/matrix-yggdrasil-http-proxy

You can also use your local clone with git send-email.

Matrix Yggdrasil HTTP Proxy

https://builds.sr.ht/~fnux/matrix-yggdrasil-http-proxy

This application proxy HTTP requests over Yggdrasil using the CoAP protocol. It uses a patched version of go-coap which natively support Yggdrasil connections.

Building

The projects depends on Go >= 1.13 and is built as follow:

go get -v # or `make getDeps`
go build # or `make`

Usage

FIXME: provides examples and details setup.

./yggdrasil-http-proxy -help
Usage of ./yggdrasil-http-proxy:
  -coap-target string
        Force the host+port of the CoAP server to talk to
  -http-bind-host string
        The HTTP host to listen on (default "0.0.0.0")
  -http-port string
        The HTTP port to listen on (default "8888")
  -http-target string
        Force the host+port of the HTTP server to talk to (default "http://127.0.0.1:8008")
  -only-coap
        Only proxy CoAP requests to HTTP and not the other way around
  -only-http
        Only proxy HTTP requests to CoAP and not the other way around
  -useconf
        read HJSON/JSON config from stdin
  -useconffile string
        read HJSON/JSON config from specified file path

Acknowledgment & Licensing

The config.go file has been imported almost as-in from yggdrasil-go (LGPLv3) while the proxy logic is heavily inspired from matrix-org's coap-proxy (GPL-3.0).

I haven't decided on anything for the remaining parts yet, please complain if you need one.