92254047b2
Remove https requirement to use external_domains
2024-01-14 16:03:25 +01:00
c95f4b9b39
Split domain manager "sync all domains" task into separate ones
...
Each new task corresponds to syncing a particular kind of thing for each
domain, e.g. origins, https certs, etc...
2024-01-14 15:51:12 +01:00
70c78b823a
add task_stack.push_spawn_periodically, use for domain manager sync job
2024-01-14 14:40:14 +01:00
dbb8e442c8
Fixes from clippy
2024-01-10 10:42:48 +01:00
4ded1c4ab4
Use builtin tokio ctrl-c rather than signal-hook-tokio
...
signal-hook-tokio does not support windows, and the builtin ctrl-c
function does everything domani really needs.
2023-11-11 21:39:40 +01:00
023dffe70c
Add support for i686-linux
2023-11-10 12:58:11 +01:00
6cabb9b742
Honor proxied_domains' https_disabled when doing https redirects
2023-08-25 19:01:30 +02:00
0b02400f4e
Redirect HTTP requests when HTTPS is enabled
2023-08-25 13:21:46 +02:00
eadb53db0b
Implement external domain cert syncing
2023-08-22 20:37:10 +02:00
Brian Picciano
65933b5cb3
Fix color scheme for dark mode
2023-08-09 16:15:39 +02:00
Brian Picciano
f56acd65b0
More polish to the interface, grammar edits from Kelly
2023-08-05 11:24:04 +02:00
Brian Picciano
bd6684ea2a
Even more polish of the web experience
2023-08-04 18:48:04 +02:00
Brian Picciano
17070b30b3
Polish up user interface somewhat
2023-08-04 16:16:55 +02:00
Brian Picciano
c0006e40ce
Small bug fixes in interface
2023-08-04 15:04:56 +02:00
Brian Picciano
36052de0c1
Remove apex zone check
2023-08-04 15:02:47 +02:00
Brian Picciano
92f7d3d52a
Ensure that the interface_domain gets a cert requested for it
2023-08-04 12:31:04 +02:00
Brian Picciano
818c728258
Move interface_domain under domain configuration
2023-08-04 10:34:09 +02:00
Brian Picciano
0e164f739d
Small fixes after some testing
2023-08-03 16:28:28 +02:00
Brian Picciano
dcbf45ec85
Allow for disabling https for proxied domains
2023-08-03 14:58:49 +02:00
Brian Picciano
7a1a2297d4
Move proxy config into domain (bigger change than it sounds like)
2023-08-03 14:14:51 +02:00
Brian Picciano
b44fd575a9
Rename primary_domain to interface_domain, and make it optional
2023-08-03 11:18:31 +02:00
Brian Picciano
e67cd6725a
Return all domains from all_domains
...
This fixes an issue where the domain manager sync job wouldn't have
synced private builtin domains ever.
2023-08-03 10:29:57 +02:00
Brian Picciano
7f8e40c19f
Fixed tests for git and acme::store
2023-08-03 10:02:03 +02:00
Brian Picciano
337f3c9cef
Do cert syncing within domain manager
2023-08-02 19:59:05 +02:00
Brian Picciano
96b38f2c97
Support for gemini fully fleshed out
2023-08-01 16:44:16 +02:00
Brian Picciano
d429b51cf8
Fix self-signed cert generation, not_before is required apparently
2023-07-31 20:48:00 +02:00
Brian Picciano
5a15f07872
Include builtins in origin syncing
2023-07-27 16:43:09 +02:00
Brian Picciano
795817f99d
Implement gemini cert store
2023-07-27 16:09:44 +02:00
Brian Picciano
4c1f843048
Move Certificate and PrivateKey into their own tls module
2023-07-27 14:29:04 +02:00
Brian Picciano
7a9ae81376
rename sync_cert to sync_https_cert
2023-07-27 14:12:22 +02:00
Brian Picciano
cdd0eacdd8
Update gemini proxying according to feedback from the tokio_rustls issue
2023-07-27 12:50:56 +02:00
Brian Picciano
c1659fab2a
Got gemini proxy working, via a custom tokio_rustls branch
2023-07-24 19:06:01 +02:00
Brian Picciano
c8176c819f
Got basic gemini listening working. Proxying does not yet work, nor does serving the origin
2023-07-22 11:31:55 +02:00
Brian Picciano
2d1e237735
A bit of module structure tidying
2023-07-21 14:43:39 +02:00
Brian Picciano
31782be10d
Moved http proxy under the service module
2023-07-19 22:36:29 +02:00
Brian Picciano
f7ecafbc17
Rename Proxy descr to HttpProxy
2023-07-19 21:36:57 +02:00
Brian Picciano
b81b59fc0a
Get rid of remove_path_prefix, it's not useful
2023-07-19 21:27:03 +02:00
Brian Picciano
188ebaa30b
Add add/remove_path_prefix fields to domain settings
2023-07-19 17:38:37 +02:00
Brian Picciano
edadaab792
Remove serve_protocols option for now, it's not useful
2023-07-19 15:24:43 +02:00
Brian Picciano
63f4975d5a
Fix deserialization of FlatDomainSettings boolean flags
2023-07-18 19:05:51 +02:00
Brian Picciano
ccd2285b11
Prevent users from seeing proxy config in web interface
2023-07-18 19:00:37 +02:00
Brian Picciano
87c779ebb6
Fix rendering on domain.html
2023-07-18 18:31:36 +02:00
Brian Picciano
7049252787
Support serve_protocols
field on domain settings
2023-07-17 20:22:22 +02:00
Brian Picciano
5099f79260
Add ability to add request headers to proxied requests
2023-07-17 16:54:03 +02:00
Brian Picciano
651f3f4bb7
Pass the full domain::Settings into the proxy code
2023-07-17 16:19:25 +02:00
Brian Picciano
8f74757f23
send x-forwarded-proto header from proxy
2023-07-16 17:54:56 +02:00
Brian Picciano
b060cafa8e
Fix config to match the README, add proxy to README
2023-07-16 17:43:31 +02:00
Brian Picciano
a917f32f04
Got proxy origin working, more or less
2023-07-16 17:10:13 +02:00
Brian Picciano
9beeffcdcf
Revert "Have get_file accept and return structs, which will be easier to extend going forward"
...
This reverts commit a86020eedf
.
Turns out that even with this change proxying won't work properly via
origin::Store, it'll just have to be a special case. I'm keeping the
commit around in case we want this for a later case.
2023-07-16 16:09:37 +02:00
Brian Picciano
4a2ac7460f
Initial implementation of proxy module
2023-07-16 16:09:20 +02:00