216 Commits
Author SHA1 Message Date
Anders Pitman aa04f15283 Merge pull request #107 from boringproxy/add-bsd-builds
Add freebsd and openbsd builds
v0.7.0
2021-12-05 13:02:20 -07:00
Anders Pitman b887f40b93 Add freebsd and openbsd builds 2021-12-05 12:59:05 -07:00
Anders Pitman 82241ecc0c Merge pull request #106 from boringproxy/fix-authorized-keys
Fix authorized keys
2021-12-05 12:48:55 -07:00
Anders Pitman b9d07f9663 Prevent duplicate domains
Now checks to make sure a domain isn't already used by a previous
tunnel. This prevents accidental silent modifications to tunnels
and also fixes a bug where multiple entries were being made in
the authorized_keys file.
2021-12-03 17:50:02 -07:00
Anders Pitman 12ec55cf37 Clear authorized_keys before writing
Was writing both the old content of authorized_keys and the new
tunnel every time a tunnel was created. This essentially made the
file double in size for every new tunnel added.
2021-12-03 17:38:06 -07:00
Anders Pitman e4b6598274 Don't follow redirects in client HTTP client 2021-10-02 11:04:47 -06:00
Anders Pitman 0bb64b23b3 Merge pull request #81 from nickshanks347/master
Update Dockerfile to build properly
2021-04-06 21:35:45 -06:00
Nick 65106da6f7 Update Dockerfile to build properly
Credit goes to iamcgn at https://www.reddit.com/r/docker/comments/mh35w3/architecture_issue_with_running_a_docker_project/ for creating this Dockerfile.
2021-04-01 22:20:17 +01:00
Anders Pitman 7d430f581e Update README.md 2021-03-29 11:13:28 -06:00
Anders Pitman 5b4f685392 Merge pull request #78 from fbartels/docker-fix
Specify output filename and set executable permissions
2021-03-29 11:02:13 -06:00
Felix Bartels 64a1a6beb4 Specify output filename and set executable permissions
Signed-off-by: Felix Bartels <felix@9wd.eu>
2021-03-29 08:33:40 +02:00
Anders Pitman bab13efdbf Strip connection headers
When going from HTTP/1.1 to HTTP/2
2021-02-22 23:04:43 -07:00
Anders Pitman 37774429df Fix cancellation v0.6.0 2021-02-17 10:56:29 -07:00
Anders Pitman 2b74f6ee0c Implement selecting tunnel port
This is useful for when you want to use boringproxy more like a
normal reverse proxy, ie if boringproxy and your service are on
the same machine, you can just use the port of the service as the
tunnel port and boringproxy will forward directly to it without
using SSH.

This would normally be used with no client set.
2021-02-16 18:37:31 -07:00
Anders Pitman ffc8e45e85 Make Client Name options less ambiguous
Choosing client "Any" is confusing, as it suggests any client
can connect to the tunnel. In reality this options means no client
can connect to the tunnel. Changed it to "No client" in the UI and
"none" in the database.
2021-02-16 18:12:34 -07:00
Anders Pitman e0ef693e99 Create authorized_keys file if it doesn't exist
Fixes #53
2021-02-15 12:24:54 -07:00
Anders Pitman 349ec7997f Forget some stuff
Fixes #45
2021-02-15 12:24:12 -07:00
Anders Pitman 680bb38c50 Change naming from amd64 ro x86_64
amd64 was too similar to arm64 which caused confusion for the
downloads.

Fixes #45
2021-02-15 12:00:36 -07:00
Anders Pitman 8753c11f57 Fix invalid method HTTP error code
Fixes #54
2021-02-15 11:50:27 -07:00
Anders Pitman c3a182e956 Merge pull request #50 from luke2m/patch-1
Add README.md file for the docs
2021-02-07 21:11:36 -07:00
luke2m a0515a55db Add readme file for the docs 2021-02-07 07:57:03 -05:00
Anders Pitman 420b02c093 Pass context down 2021-01-23 11:25:29 -07:00
Anders Pitman 56e9f0244b Remove more log.Fatals
Also tried to simplify the sync logic somewhat.
2021-01-23 11:16:50 -07:00
Anders Pitman 884a887b6a Return errors instead of exiting
Also removed one level of goroutine from BoreTunnel
2021-01-23 10:07:26 -07:00
Anders Pitman 10c0958c36 Default to upserting tunnels 2021-01-23 09:17:28 -07:00
Anders Pitman dd7bbf7314 Set some JSON encoding options 2021-01-22 22:04:14 -07:00
Anders Pitman 8e743ad304 Properly set owner on tunnel creation 2021-01-22 22:03:57 -07:00
Anders Pitman e09a7d91df Override tunnel SSH server ports at runtime
This is a bit of a hack. Problem is if the server is restarted
with a different SSH port, all the tunnels in the db have the
incorrect port setting, so we're overriding at runtime.

Really should update all the db entries but that's messy too.

Probably the real solution is to decouple runtime tunnel settings
from permanent tunnel settings, and only store the permanent ones
in the db.
2021-01-13 10:22:19 -07:00
Anders Pitman c0f884f049 Improve argument parsing and error messages v0.5.0 2021-01-08 14:18:51 -07:00
Anders Pitman 72fe16abe6 Remove Android builds
The linux-arm builds work fine on Android.
2021-01-08 13:52:07 -07:00
Anders Pitman 4150f87aec Merge branch 'update-master' into merge-upstream 2021-01-06 10:22:11 -07:00
Anders Pitman e419be6f05 Move main.go 2021-01-06 10:08:59 -07:00
Anders Pitman ee96c2e457 Merge pull request #27 from voidrot/systemd-setup
Systemd Integration and Docs
2021-01-05 17:24:02 -07:00
Buck Brady d6ff17de5a fixing curl/wget to not use sudo 2021-01-05 17:09:21 -07:00
Anders Pitman abe36a58d1 Merge pull request #29 from arp242/admin-domain
Use "fmt.Print()" instead of "log.Print()" when asking for admin domain
2021-01-05 09:31:16 -07:00
Anders Pitman 40fda7776f Merge pull request #28 from arp242/usage
Add usage information
2021-01-05 09:30:57 -07:00
Martin Tournoij 384b42ef54 Use "fmt.Print()" instead of "log.Print()" when asking for admin domain
When using "boringproxy server" it asks for the admin domain. All grand,
but it looks rather strange:

	2021/01/05 22:11:05 Starting up
	2021/01/05 22:11:05 Enter Admin Domain:
	[cursor is here]

It wasn't really clear to me this was asking a question, as it includes
the date like a log message and the cursor is on the next line.

So, change it to just fmt.Print()

Maybe the "starting up" should also be moved a bit further down, but
that would conflict with my other PR 🙃
2021-01-05 22:12:25 +08:00
Martin Tournoij a67253c55a Add usage information
Before not giving any command didn't really give much feedback beyond
"invalid arguments". This adds a basic usage message, and tells people
that you can use "boringproxy server -h".

I moved the "Starting up" log message because otherwise that would get
printed when asking for "server -h".

I also added error checks for the flag parsing; I think this isn't
*strictly* needed, but I remember running in to problems once by
omitting it (although I've forgotten what that problem was, exactly).
2021-01-05 22:04:08 +08:00
Buck Brady 8efb6c4491 fixed server service download command url 2021-01-04 23:42:05 -07:00
Buck Brady c027c22aa5 small cleanup to systemd docs 2021-01-04 23:27:43 -07:00
Buck Brady 8ae5acac4c corrected project name and fixed docs/systemd files as requested. 2021-01-04 23:24:32 -07:00
Buck Brady 9da3db7a17 adding systemd service files and howto docs 2021-01-04 02:40:17 -07:00
Anders Pitman ddb11d00ec Switch to streaming requests
Previously we were reading the entire downstream request into
memory before making the new request to the upstream. Now we're
just passing it through. Might be some dragons here (already ran
into issues with Content-Length) but seems to be working so far.
2020-12-22 14:47:03 -07:00
Anders Pitman aea6c6d2f0 Make client easier to import into other code 2020-12-10 23:14:34 -07:00
Anders Pitman 20f7d53c0f Rename instances of BoringProxy
Full name isn't necessary now that it's a library.

BoringProxy -> Server
BoringProxyClient -> Client
BoringProxyConfig -> Config
2020-12-07 21:50:33 -07:00
Anders Pitman 45f609b8ba Move executable into separate package
Enables us to move towards being able to import as a library.
2020-12-07 21:41:45 -07:00
Anders Pitman 7034cb8671 Avoid unnecessary server certs
The server doesn't need to get certs unless TlsTermination is set
to server.
v0.4.0
2020-11-28 11:53:45 -07:00
Anders Pitman 28a67a4285 Fix client TLS termination bug
Problem had to do with certmagic. Details in code.
2020-11-28 11:48:23 -07:00
Anders Pitman 7e728b1261 Add build_arch.sh script 2020-11-28 10:07:02 -07:00
Anders Pitman 35874f7df0 Update builds to use CGO_ENABLED=0
Particularly useful for Android, since it avoids having to acquire
an Android NDK compiler.
2020-11-27 22:17:32 -07:00