diff --git a/CHANGELOG.md b/CHANGELOG.md index 0c7a586..09e3423 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Edit current URL with e (#87) - If `emoji_favicons` is enabled, new bookmarks will have the domain's favicon prepended (#69, #90) - The `BROWSER` env var is now also checked when opening web links on Unix (#93) -- Allow specifying a client certificate +- Support client certificates through config (#112) ### Changed - Disabling the `color` config setting also disables ANSI colors in pages (#79, #86) diff --git a/README.md b/README.md index dfd6434..632a959 100644 --- a/README.md +++ b/README.md @@ -121,15 +121,16 @@ Features in *italics* are in the master branch, but not in the latest release. - Disabled by default, enable in config - [x] Proxying - Schemes like Gopher or HTTP can be proxied through a Gemini server +- [x] *Client certificate support* + - [ ] Full client certificate UX within the client + - Create transient and permanent certs within the client, per domain + - Manage and browse them + - Similar to [Kristall](https://github.com/MasterQ32/kristall) + - https://lists.orbitalfox.eu/archives/gemini/2020/001400.html - [ ] Subscribe to RSS and Atom feeds and display them - Subscribing to page changes, similar to how Spacewalk works, will also be supported - *In progress on `feeds` branch* - [ ] Stream support -- [ ] Full client certificate UX within the client - - Create transient and permanent certs within the client, per domain - - Manage and browse them - - Similar to [Kristall](https://github.com/MasterQ32/kristall) - - https://lists.orbitalfox.eu/archives/gemini/2020/001400.html - [ ] Table of contents for pages - [ ] Search in pages with Ctrl-F - [ ] Support Markdown rendering diff --git a/client/client.go b/client/client.go index f5d4b99..2ec65d5 100644 --- a/client/client.go +++ b/client/client.go @@ -18,7 +18,7 @@ func clientCert(host string) ([]byte, []byte) { return cert[0], cert[1] } - // Expand paths staring with ~/ + // Expand paths starting with ~/ certPath, err := homedir.Expand(viper.GetString("auth.certs." + host)) if err != nil { certPath = viper.GetString("auth.certs." + host) diff --git a/config/default.go b/config/default.go index cac1ad8..4d0e854 100644 --- a/config/default.go +++ b/config/default.go @@ -64,10 +64,12 @@ emoji_favicons = false [auth.certs] # Client certificates +# Set domain name equal to path to client cert # "example.com" = "mycert.crt" [auth.keys] # Client certificate keys +# Set domain name equal to path to key for the client cert above # "example.com" = "mycert.key" diff --git a/default-config.toml b/default-config.toml index 4256091..900fcbe 100644 --- a/default-config.toml +++ b/default-config.toml @@ -61,10 +61,12 @@ emoji_favicons = false [auth.certs] # Client certificates +# Set domain name equal to path to client cert # "example.com" = "mycert.crt" [auth.keys] # Client certificate keys +# Set domain name equal to path to key for the client cert above # "example.com" = "mycert.key"