For educational reasons I've decided to create my own CA. Here is what I learned.
Lets get some context first.
#!/usr/bin/env groovy | |
import org.eclipse.jetty.server.Server | |
import org.eclipse.jetty.servlet.* | |
import groovy.servlet.* | |
@Grab(group='org.eclipse.jetty.aggregate', module='jetty-all', version='7.6.15.v20140411') | |
def startJetty() { | |
def server = new Server(8080) |
package main | |
import ( | |
"context" | |
"encoding/json" | |
"fmt" | |
"io" | |
"log" | |
"sync/atomic" | |
"time" |
package main | |
import ( | |
"context" | |
"errors" | |
"fmt" | |
"os" | |
"os/signal" | |
"syscall" | |
"time" |
package main | |
import ( | |
"encoding/json" | |
"os" | |
"reflect" | |
"text/template" | |
) |
udptunnel is a small program which can tunnel UDP packets bi-directionally over a TCP connection. Its primary purpose (and original motivation) is to allow multi-media conferences to traverse a firewall which allows only outgoing TCP connections.
# udptunnel -s 443 127.0.0.1/51820
============================================ | |
============================================ | |
============================================ | |
This does what it should: | |
regex: (.+?)(:80)? | |
Also see https://golang.org/pkg/regexp/syntax/ |
sudo apt update && sudo apt upgrade | |
sudo apt install golang | |
sudo apt-get install libmnl-dev libelf-dev build-essential pkg-config | |
git clone https://git.zx2c4.com/wireguard-go | |
cd wireguard-go/ | |
git checkout 0.0.20181001 # Get the desired release tag from `git tag` | |
make | |
sudo make install |