Anders Pitman
8a37355bb6
Implement openssh key management
...
I had been moving in the direction of implementing a custom SSH
server in golang. That would be pretty easy if using a custom
application protocol, but I want to support tcpip-forward which
looks like it would be a lot more work. It also would be nice to
support generic CLI clients like OpenSSH.
The point of using SSH in the first place is that it's known to be a
solid tunneling solution. To that end, I've decided to rely on
OpenSSH for now, since that program may have tunneled more bits than any
other since the dawn of time. This requires a bit of hackery to generate
SSH keys and place them in authorized_keys (as well as shipping the
private key to the client), but I think this will work well for now.
Plus OpenSSH is already installed on pretty much every server
I'd expect to run boringproxy.
2020-10-02 16:57:09 -06:00
Anders Pitman
95ab97f043
Move password handling so we can extract it
2020-10-01 17:42:38 -06:00
Anders Pitman
59c824bfca
Start implementing custom ssh server
...
Turns out SSH has robust semantics for opening generic channels.
Looks like I'll be able to set up tunnels without ever needing to
forward ports on the server, since I can connect the channels with
a custom protocol.
Of course I'll eventually want to support generic SSH clients, but
this makes starting much easier.
2020-10-01 17:22:54 -06:00
Anders Pitman
84b7c0828e
Start implementing custom client
...
Basic SSH plumbing in place. Go makes this way too easy.
2020-09-30 23:49:03 -06:00
Anders Pitman
10f79beec6
Add error handling for cert failure
2020-09-29 23:24:22 -06:00
Anders Pitman
9bd415af50
Implement add/delete tunnels from UI
2020-09-29 23:10:06 -06:00
Anders Pitman
bcd786e5d8
Get basic UI plumbing in place
2020-09-29 22:29:30 -06:00
Anders Pitman
bae4eaf02d
Modify login for browser forms instead of API
2020-09-29 22:03:34 -06:00
Anders Pitman
0cb3250711
Add go.rice dependency
2020-09-29 20:51:57 -06:00
Anders Pitman
b83fd6eb41
Start using go modules
2020-09-29 20:26:02 -06:00
Anders Pitman
58bd38befd
Run go fmt
2020-09-29 20:12:54 -06:00
Anders Pitman
17b37ab2ed
Remove SirTunnel stuff from readme
2020-09-29 15:53:10 -06:00
Anders Pitman
b351a4265d
Replace persistTunnels with saveJson function
2020-09-28 22:49:52 -06:00
Anders Pitman
42f4695381
Start implementing auth
2020-09-28 22:46:35 -06:00
Anders Pitman
501af0c3dc
Start implementing main config
2020-09-28 14:07:54 -06:00
Anders Pitman
92affa7718
Implement tunnel persistence between restarts
2020-09-28 13:46:01 -06:00
Anders Pitman
6302bba56c
Remove yet-another SirTunnel file...
2020-09-27 23:22:26 -06:00
Anders Pitman
9206371411
Remove some more SirTunnel files
2020-09-27 23:21:38 -06:00
Anders Pitman
99da909cde
Remove a couple old SirTunnel files
2020-09-27 22:27:31 -06:00
Anders Pitman
f24b5fe77b
Integrate CertMagic for auto TLS certs
2020-09-27 22:24:03 -06:00
Anders Pitman
09770d2c7a
Split into separate files and add todo
2020-09-26 15:56:57 -06:00
Anders Pitman
c55b7283ec
Implement tunnel delete
2020-09-26 15:47:56 -06:00
Anders Pitman
98a049b2e6
Implement basic SNI routing and HTTP admin stuff
...
* Tunnels work
* Can list and dynamically add tunnels via HTTP
2020-09-26 15:41:47 -06:00
Anders Pitman
faa4ca503b
Rename to boreman for now
2020-09-26 15:41:01 -06:00
Anders Pitman
c4321d1bbd
Rename main.go
2020-09-25 16:46:58 -06:00
Anders Pitman
8571e380a6
Remove license
...
May want to do BSL or similiar
2020-09-25 16:43:27 -06:00
Anders Pitman
6ce1c347ae
Make host and port separate arguments
2020-09-23 13:18:01 -06:00
Anders Pitman
864236c1fa
Standard client is not unique
2020-09-23 10:47:02 -06:00
Anders Pitman
f7689465fc
Add instructions for running server
2020-09-23 10:39:14 -06:00
Anders Pitman
1008abdc44
Write first draft of readme
2020-09-23 10:28:18 -06:00
Anders Pitman
d07e056b6e
Create README.md
2020-09-23 09:54:47 -06:00
Anders Pitman
56f00117ed
Merge pull request #1 from anderspitman/add-license-1
...
Create LICENSE
2020-09-23 09:54:25 -06:00
Anders Pitman
7fc23c5ac4
Create LICENSE
2020-09-23 09:54:15 -06:00
Anders Pitman
df13fa9cda
Rename python script
2020-09-23 00:45:08 -06:00
Anders Pitman
7f1a92f611
Add python client implementation
2020-09-23 00:30:43 -06:00
Anders Pitman
151b904d36
Update scripts
2020-09-22 23:30:42 -06:00
Anders Pitman
27cb468e02
Add install and run scripts
2020-09-22 23:27:01 -06:00
Anders Pitman
da175ae7dc
Add tunnel.sh
2020-09-22 23:06:03 -06:00
Anders Pitman
9692803d90
Add caddy config
2020-09-22 18:14:19 -06:00
Anders Pitman
cc8b4adaf2
Initial working version
2020-09-22 18:13:32 -06:00