ac66ebf6cc
Fixed how unexpected Option errors were being worded
2024-01-21 23:19:00 +01:00
78b67a02ad
Make origin::Store::sync async
...
In order for this method to make sense as an async, the returned box
must have its lifetime tied to the store. This did not jive well with
the mock implementation of origin::Store, so I ditched that, along with
the mux tests which depended on it. Oh well.
2024-01-21 16:18:31 +01:00
6dd53f96d8
Handle requested path being a directory correctly
2024-01-16 14:31:32 +01:00
6a611c371c
Retrieve domain settings within each service, rather than in domain manager
...
This allows for fewer dependencies when initializing the services, and
more precise handling of the different cases.
2024-01-15 18:07:49 +01:00
658ac62347
Fix bug in http proxy where response headers would be deduplicated
...
The fix was, ultimately, to upgrade hyper-reverse-proxy to an unreleased
version.
2024-01-14 16:43:33 +01:00
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