Commit Graph

282 Commits

Author SHA1 Message Date
Anders Pitman
23f7a06358
Merge pull request #138 from WGrobler/added-service-docs
Added service docs
2022-02-14 12:40:46 -07:00
Anders Pitman
f6f9c451d2
Merge pull request #140 from WGrobler/lan-fix
proxyRequest with ClientAddress and not localhost
2022-02-14 12:36:28 -07:00
Willem@105.pve1.lan
7d740b7c31 proxyRequest with ClientAddress and not localhost 2022-02-14 17:38:52 +02:00
Willem@105.pve1.lan
e140bee718 pre merge req changes 2022-02-12 12:41:21 +02:00
Willem Grobler
b3d16e18a1
Update README.md 2022-02-12 11:21:45 +02:00
Willem Grobler
6783bba782
Update README.md 2022-02-12 11:05:26 +02:00
Willem Grobler
a520d486dd
Update README.md 2022-02-12 11:03:24 +02:00
Willem Grobler
95d319a4bc
Create README.md 2022-02-12 09:23:19 +02:00
Anders Pitman
02dda12e0e
Move getting help section to top 2022-01-14 15:28:19 -07:00
Anders Pitman
8fa8e08786
Update README.md 2022-01-11 15:37:20 -07:00
Anders Pitman
bec4245764 Add version command to print version info 2022-01-07 14:36:16 -07:00
Anders Pitman
6bfa3e9a47 Only use X-Forwarded-For if not behind proxy
Since you can't trust it when it comes directly from clients.
2022-01-07 12:33:43 -07:00
Anders Pitman
85902ca944 Allow manually setting public IP 2022-01-05 22:49:42 -07:00
Anders Pitman
e38dd91657 Merge branch 'takingnames-link' 2022-01-05 22:42:38 -07:00
Anders Pitman
e5cee3bbb9 Warning instead of fail if no public IP 2022-01-05 22:42:11 -07:00
Anders Pitman
e201a98057
Merge pull request #130 from boringproxy/takingnames-link
Add TakingNames.io sponsor information
2022-01-05 21:59:16 -07:00
Anders Pitman
42dd97e291
Add TakingNames.io sponsor information 2022-01-05 21:58:14 -07:00
Anders Pitman
769097c270 Update to namedrop 0.4.0 2022-01-04 22:55:32 -07:00
Anders Pitman
7b4d8c40c0 Update to namedrop 0.3.0 2022-01-04 21:01:33 -07:00
Anders Pitman
f2d2e13e06 Update namedrop-go version 2022-01-04 20:40:37 -07:00
Anders Pitman
af4ec03240 Improve admin domain UI
Print QR code for TakingNames.io link
2022-01-04 18:29:33 -07:00
Anders Pitman
d0eb966ff6 Remove disclaimer and add IndieBits links 2022-01-03 00:13:48 -07:00
Anders Pitman
a17c04fc15 Fix typo 2022-01-02 00:22:28 -07:00
Anders Pitman
d2ad2571f5 Automatically log in after getting admin domain 2022-01-02 00:20:41 -07:00
Anders Pitman
46bb670b8f Disable ACME when using custom ports
LetsEncrypt currently only supports ports 80/443 for ACME, so if
custom ports are used we need to disable automatically getting
certs.

Also changed it to only emit a warning when ports aren't
reachable from the internet, rather than failing.
2022-01-01 16:32:51 -07:00
Anders Pitman
ec6739ea63 Use github version of namedrop-go 2021-12-30 22:39:34 -07:00
Anders Pitman
20eeeb53e9 Move a bunch more code into namedrop 2021-12-30 22:05:29 -07:00
Anders Pitman
f8281d95a4 Move some stuff into namedrop library 2021-12-30 20:57:28 -07:00
Anders Pitman
f087863a4b Remove remaining dnsapi code 2021-12-30 17:20:55 -07:00
Anders Pitman
ca885d3a02 Implement creating records with namedrop 2021-12-30 16:43:13 -07:00
Anders Pitman
42f0580690 Move namdrop into separate library 2021-12-30 14:52:59 -07:00
Anders Pitman
988bb37bad First draft namedrop API integration 2021-12-30 01:00:52 -07:00
Anders Pitman
b0d187964b Update readme 2021-12-29 21:54:59 -07:00
Anders Pitman
ad133cb4bb Use TakingNames.io to get public IP
Keepin it in the family
2021-12-23 14:10:18 -07:00
Anders Pitman
e83df3478f Improve TakingNames.io request generation
Before we were pre-generating a DNS request ID every time the
add tunnel page was visited. Now we have a separate endpoint for
generating the IDs only after the user indicates they actually
want to perform a TakingNames.io domain request.
2021-12-23 00:02:28 -07:00
Anders Pitman
a3140efb20 Implement domain request failure 2021-12-21 15:18:08 -07:00
Anders Pitman
53946e878f Removed unused tunMan from ui_handler.go 2021-12-21 14:05:14 -07:00
Anders Pitman
811f25ce3e Fix previous commit 2021-12-21 13:59:55 -07:00
Anders Pitman
0934799ccd Clean up Tunnel struct a bit
Removed unused CssId and moved members that should eventually be
removed from the API surface (ie internal values) to be together
so they're easier to identify later.
2021-12-21 13:57:56 -07:00
Anders Pitman
b795ee0bc9 Remove unused custom SSH key code
Was originally planning to allow people to upload public keys to
use for tunnels, but so far no one has asked for this and I
haven't needed it.
2021-12-21 13:14:01 -07:00
Anders Pitman
38cb381051 HTTPS by default, but allow HTTP 2021-12-20 22:37:50 -07:00
Anders Pitman
2745e02b8b
Merge pull request #118 from boringproxy/allow-other-ports
Implement binding non-default ports
2021-12-20 20:56:55 -07:00
Anders Pitman
30358d7808 Implement binding non-default ports
Can now bind to ports other than 80/443, using the -http-port and
-https-port arguments.

Assuming you already have the certs you need, HTTPS even works.

Unfortunately you can't get the certs automatically because
LetsEncrypt doesn't support ports other than 80/443 as far as I
know.
2021-12-20 12:56:50 -07:00
Anders Pitman
cf281fa7f2 Merge branch 'takingnames-io-integration' 2021-12-20 00:46:58 -07:00
Anders Pitman
8f39130674 Add QR code to printed login info 2021-12-20 00:46:26 -07:00
Anders Pitman
cfdae775fa
Merge pull request #115 from boringproxy/takingnames-io-integration
Takingnames io integration
2021-12-19 21:46:46 -07:00
Anders Pitman
7c6077a0fe Implement admin domain with bootstrap domain
TakingNames.io now provides bootstrap domains, which simply
creates an A record based off the ip address of the requesting
server, without requiring any authorization. This allows
boringproxy to always use HTTPS, even when getting the admin
domain.
2021-12-19 21:24:52 -07:00
Anders Pitman
8653583cec Add some common proxy headers
Added X-Forwarded-For and Forwarded for server TLS termination.
Haven't yet figured out a way to make this work for client TLS
termination.
2021-12-19 19:38:17 -07:00
Anders Pitman
49c467f85c Rename webdo to dnsapi
Still need a better name
2021-12-19 17:08:11 -07:00
Anders Pitman
5db952a069 Improve security of TakingNames.io integration
The requests themselves now must be retrieve from the boringproxy
server by TakingNames.io, over HTTPS. This provides several
security benefits:

* You can tell the user the request is coming from a specific
  domain.
* Requests are tied to an ephemeral request-id, to prevent
  prebuilt phishing links.

There is currently a single hard-coded exception for setting a
single A record for an IP address. This is needed for
bootstrapping a service that doesn't have any certs yet (ie the
boringproxy admin domain), and will need to display a big scary
message to users.
2021-12-18 17:40:59 -07:00