Solderpunk
88daabe091
Overhaul TOFU checking code.
...
Main motivation for this was to switch from keying the cache cert
database off hostname + address to hostname + port. While making
the necessary changes I refactored to reduce code duplication and
make the overall flow of the TOFU checks more transparent.
The check of whether the "previous certificate" has expired has
been changed from using the most frequently seen previous cert to
the most recently seen, which makes a *lot* more sense and is
arguably a bug fix.
The address column of the DB is now used only for reporting, but
the column is not maintained well, or rather, the semantics are
currently "address cert was first received from", and we may want
something less static?
2024-01-17 20:58:59 +01:00
Solderpunk
fc056ef680
Merge pull request 'Print <META> string before user input' ( #44 ) from continue/AV-98:master into master
...
Reviewed-on: solderpunk/AV-98#44
2024-01-17 17:44:05 +00:00
Aleksey Ryndin
6d489e6ab3
Print <META> string before user input
2024-01-04 18:58:54 +03:00
Solderpunk
4b06b23e2a
Merge pull request 'Fix: ERROR: local variable 'certdir' referenced before assignment' ( #43 ) from continue/AV-98:master into master
...
Reviewed-on: solderpunk/AV-98#43
2023-12-09 19:06:16 +00:00
Aleksey Ryndin
bf0db27d6f
Merge branch 'master' of tildegit.org:continue/AV-98
2023-12-07 17:49:25 +03:00
Alexey Ryndin
3361c79c1e
Fix: ERROR: local variable 'certdir' referenced before assignment
2023-12-06 13:57:56 +03:00
Alexey Ryndin
474787dab7
Merge branch 'master' of tildegit.org:solderpunk/AV-98
2023-12-06 11:58:46 +03:00
Aleksey Ryndin
fae71f5746
Merge branch 'master' of tildegit.org:solderpunk/AV-98
2023-12-06 09:08:42 +03:00
Solderpunk
854369afad
Add a 'user' command, analogous to 'root' but jumps to a pubnix user's capsule if the URL starts with ~username.
2023-11-26 12:36:49 +01:00
Solderpunk
0e9953882c
Don't treat filename collisions as fatal.
2023-11-26 12:17:42 +01:00
Solderpunk
e96d373eec
Fix bug with default response to Y/N prompts.
2023-11-26 12:12:19 +01:00
Solderpunk
0e91b4f894
Rename the gus command to search, and the old search to filter. Add option to set search endpoint.
2023-11-25 16:16:54 +01:00
Solderpunk
0268cd426b
Further splitting up and renaming of files.
...
Now that everything lives in src/av98/ as per the latest Python
fashion, it's a problem to have a file named av98.py. So split
it out into main.py (which just implements the argument parsing)
and client.py. The old clientcerts.py has become certmanager.py
so that tab completion for client.py is quick and easy.
2023-11-25 16:12:46 +01:00
Solderpunk
4b759aec70
Add --output command line option for use with --download.
2023-11-25 13:08:36 +01:00
Solderpunk
48c8fd9543
Get on board with modern Python packaging conventions.
...
Remember when we used to make fun of Java people for sticking
everything in a `src/` directory?
2023-11-22 11:20:05 +01:00
Solderpunk
188cacca1f
Restore coloured debug output, like we had before the logging module was adopted.
2023-11-19 16:49:07 +01:00
Solderpunk
b46b15905b
Prepare to cut 1.1.0.
2023-11-19 16:26:48 +01:00
Solderpunk
3abf44d18c
Make the new --download option play nicely with --tls_cert and --tls_key.
2023-11-19 16:23:36 +01:00
Solderpunk
203ffaea90
Replace VF-1's flight-themed sign off with AV-98 policing-themed sign off.
2023-11-19 15:25:29 +01:00
Solderpunk
cbbc410976
Add curl/wget style --download option.
2023-11-19 15:24:26 +01:00
Solderpunk
305f7f9f2c
Make do_quit() silent, move the farewell message to main().
2023-11-19 14:40:26 +01:00
Solderpunk
4df88896a8
Ensure we drive a useable filename for saving items whose URL does not provide one.
2023-11-19 14:38:55 +01:00
Solderpunk
c8c12cab86
Don't trigger a traceback in debug mode for 4x or 5x status codes.
2023-11-19 14:35:13 +01:00
Solderpunk
a0eedac532
Include temporary buffer file name in debug output.
2023-11-19 14:34:29 +01:00
Solderpunk
a459e49fa0
Extract titles from gemtext and use them as GeminiItem.name if that's missing.
2023-11-19 14:27:47 +01:00
Solderpunk
0a9846b342
Correctly report downloaded file size in debug messages.
...
Previously, the return value of fp.write() was used, however for
text files this counts the number of characters written, not the
number of bytes, and for non-ASCII content these differ.
2023-11-19 12:29:48 +01:00
Solderpunk
9970f21e47
Move a little more clutter from av98.py into util.py.
2023-11-19 10:41:08 +01:00
Solderpunk
73ce79310d
Reuse a consistent function for getting Y/N type user input.
2023-11-19 10:20:54 +01:00
Solderpunk
03b90fcd5e
Put config dir discovery/creation in own method, store computed filename of bookmarks.
2023-11-18 19:28:15 +01:00
Solderpunk
62972c0228
Restore cert prompt functionality.
2023-11-18 19:27:42 +01:00
Solderpunk
0393ae3ea3
Correctly track domains which a client cert has been sent to.
2023-11-18 17:15:17 +01:00
Solderpunk
2a70985176
General tidy-up of entire av98.py file.
...
Most a matter of rearranging the order of methods to flow
sensibly, as well writing or updating docstrings, getting rid of
old unused return values, and fixing a few very minor defects.
2023-11-18 15:59:36 +01:00
Solderpunk
247f01e3e7
Update bookmarks to reflect permanent redirects upon exiting.
2023-11-18 14:23:56 +01:00
Solderpunk
de7e5dc254
Factor out client certificate management into its own class/file.
2023-11-18 14:22:32 +01:00
Solderpunk
607223c25a
Get real persnickety about nice option/blackbox alignment.
2023-11-17 20:08:48 +01:00
Solderpunk
a9b34278a8
Don't hardcode black box spacing values.
2023-11-17 19:59:12 +01:00
Solderpunk
4f354ab291
Nicely align setting names and values.
2023-11-17 19:56:47 +01:00
Solderpunk
bd7c5c2110
Log network errors a little more carefully.
2023-11-17 19:44:06 +01:00
Solderpunk
71f8a3dc86
Gracefully handle requests for file:// URLs which point at a directory.
2023-11-16 19:18:30 +01:00
Solderpunk
0ce09f37a6
Gracefully handle requests for file:// URLs where the file does not exist.
2023-11-16 19:14:22 +01:00
Solderpunk
681b11b8a4
Include local file and cached resource handling inside nice try/except error printing.
2023-11-16 19:13:20 +01:00
Solderpunk
91ff51a0ef
Fix subtle breakage on some certs, when ssl_dnsname_match throws a non-CertificateError exception.
2023-11-15 19:47:17 +01:00
Solderpunk
50c43c75b4
Provider progress animation when downloading files > 100 KiB.
2023-11-15 19:46:01 +01:00
Solderpunk
f78b6ff780
Move handling of permanent redirects inside of _fetch_over_network().
2023-11-15 19:45:36 +01:00
Solderpunk
9e2cce7ce0
Print full tracebacks from exceptions when debugging is enabled.
2023-11-15 19:38:45 +01:00
Solderpunk
23b0597b6d
Update email address and copyright years.
2023-11-15 19:38:13 +01:00
Solderpunk
67729fb711
Count redirects in black box recorder.
2023-11-15 18:40:48 +01:00
Solderpunk
480f2cc15f
Rejig how do_bookmark() handles an argument to simplify go_to_gi().
2023-11-15 18:29:52 +01:00
Solderpunk
d2fe381c3e
Change Cache to use a TemporaryDirectory for its storage to
...
ensure and simplify thorough cleanups upon shutdown.
Thanks to Ghost for making me aware of this possibility!
2023-11-15 18:21:11 +01:00
Solderpunk
048b04bed2
Extensively refactor the way temporary files are used.
...
Instead of littering /tmp with one file per download plus one per
rendered gemtext file, just reuse the same two files over and
over. If enabled, caching creates separate copies.
Pretty sure this solves Issue #35 , but I'll test and close that
after also improving the use of cache files...
2023-11-15 18:06:33 +01:00
Solderpunk
713616d556
Refactor of networking logic.
...
1. Move client certificate handling stuff inside of _send_request().
2. Change _fetch_over_network() to not be recursive, by just looping
through calls to _send_request(). This facilitates moving the
redirect-tracking state inside _fetch_over_network(), instead of
keeping it in GeminiClient.
3. Also allow _fetch_over_network() to save response to a provided
filename, and use this to implement do_save(), rather than
_go_to_gi(). This avoids the need for awkward gymnastics with
the internal state.
2023-11-14 19:40:40 +01:00
Solderpunk
01da844141
Pull response parsing inside of _send_request().
2023-11-14 08:56:39 +01:00
Solderpunk
7f1aa5cbf3
Remove unused imports.
2023-11-14 00:38:00 +01:00
Solderpunk
33e66b439b
Test for saveability against a fetched GI, not a tempfile.
2023-11-14 00:36:43 +01:00
Solderpunk
d689cbd04f
Fix _get_active_tmpfile to handle local file GIs.
2023-11-14 00:35:47 +01:00
Solderpunk
3aedd549e5
Remove unecessary duplication of handling code between _handle_gemtext() and _go_to_gi().
2023-11-14 00:33:48 +01:00
Solderpunk
e4a44679dc
Fix saving of local files.
2023-11-14 00:29:59 +01:00
Solderpunk
588d599cb4
Add actual support for reading local files, use it for bookmarks.
2023-11-14 00:15:32 +01:00
Solderpunk
c6886d7eb9
Don't clutter go_to_gi() with error logging.
2023-11-13 23:58:12 +01:00
Solderpunk
cdb2b0282c
Don't expose Cache object's trim method.
2023-11-13 20:24:54 +01:00
Solderpunk
053dcb7254
Factor out certificate validation into its own class/file.
2023-11-12 15:36:54 +01:00
Solderpunk
79a6187eac
Restore debugging output from cache using logging module.
2023-11-12 15:14:05 +01:00
Solderpunk
e678bca089
Factor out caching functionality into own class/file.
2023-11-12 14:49:01 +01:00
Solderpunk
87473fee1b
Acknowledge contributors of recently merged PRs.
2023-11-12 14:19:23 +01:00
Solderpunk
522047a209
Merge pull request 'Pass extra information to _handle_cert_request' ( #29 ) from govynnus/AV-98:fix-cert-request into master
...
Reviewed-on: solderpunk/AV-98#29
2023-11-12 10:37:28 +00:00
Solderpunk
b9d0633f38
Merge pull request 'Add support for touring a range where the start index is bigger than the end index' ( #25 ) from rmgr/AV-98:reverse-range into master
...
Reviewed-on: solderpunk/AV-98#25
2023-11-12 10:33:10 +00:00
Solderpunk
24b02327b0
Merge pull request 'Add support for http/https -> gemini proxy' ( #24 ) from rmgr/AV-98:http into master
...
Reviewed-on: solderpunk/AV-98#24
2023-11-12 10:28:52 +00:00
Solderpunk
d5666c9c19
Merge pull request 'Swap GUS for geminispace.info' ( #36 ) from sario528/AV-98:search-fix into master
...
Reviewed-on: solderpunk/AV-98#36
2023-11-12 10:22:39 +00:00
Solderpunk
a1cb220113
Merge pull request 'improve compatibility with Python 3.10' ( #40 ) from nic/AV-98:master into master
...
Reviewed-on: solderpunk/AV-98#40
2023-11-12 10:18:29 +00:00
Solderpunk
cb1cbfec85
Merge pull request 'Fix: ValueError if MIME is empty string (like a #20 )' ( #42 ) from continue/AV-98:fix-empty-mime into master
...
Reviewed-on: solderpunk/AV-98#42
2023-11-12 10:12:37 +00:00
Aleksey Ryndin
d84872d23f
Revert "Fix: input() UnicodeDecodeError tolerance"
...
This reverts commit 8f1642c9a1
.
2023-09-06 23:08:27 +03:00
Aleksey Ryndin
8f1642c9a1
Fix: input() UnicodeDecodeError tolerance
2023-09-06 13:15:29 +03:00
Aleksey Ryndin
22c7efce7c
Fix: ValueError if MIME is empty string (like a #20 )
2023-08-27 16:49:36 +03:00
Nic Waller
6ee2a0716d
improve compatibility with Python 3.10
2022-06-29 20:57:34 -07:00
sario528
5dfe62fc63
Swap GUS for geminispace.info
2021-04-15 05:04:58 -05:00
Callum Brown
92da876795
Pass extra information to _handle_cert_request
...
This fixes a bug introduced in f45630 when handling a certificate request was
factored out of _fetch_over_network.
Also make the options consistent in terms of grammar.
2021-01-03 11:07:22 +00:00
Solderpunk
265a69a6ed
Document RC files. Closes #27 .
2020-12-24 13:27:18 +01:00
rmgr
ab913ebf54
Add support for touring a range where the start index is bigger than the end index
2020-09-15 20:19:32 +09:30
rmgr
20395cb826
Add support for http/https -> gemini proxy
2020-09-15 20:02:29 +09:30
Solderpunk
129c56c1d4
Fix another hasty cache hack bug.
2020-09-03 21:21:04 +02:00
Solderpunk
ba0f707669
Ignore the cache when reloading a page.
2020-09-01 23:27:59 +02:00
Solderpunk
67f9c662b3
Add option to disable caching.
2020-09-01 23:11:55 +02:00
Solderpunk
545d5f917d
Count cache hits in black box output.
2020-09-01 21:14:17 +02:00
Solderpunk
f45630450f
Make sure early terminations of _fetch_over_network happen via an exception, not by returning None. Factor out certificate handling interface.
2020-08-31 21:18:15 +02:00
Solderpunk
4e8f3dcd05
Fix variable name bug introduced by hasty hacking of cache system.
2020-08-31 21:17:06 +02:00
Solderpunk
08c60e202b
Turn some magic numbers into constants.
2020-08-30 23:17:21 +02:00
Solderpunk
0f328141b9
Initial implementation of short-term caching.
2020-08-30 20:21:15 +02:00
Solderpunk
4d652e0fef
Remove more transient client certificate stuff.
2020-08-30 18:16:31 +02:00
Solderpunk
da8b6cc7f3
Visually distinguish non-Gemini links from Gemini links.
2020-08-30 17:23:36 +02:00
Solderpunk
969d3c1b18
Permit use of ~ in key/cert files.
2020-08-30 16:52:06 +02:00
Solderpunk
e20ac17107
Stop treating transient client certificates as a special case.
2020-08-18 21:41:51 +02:00
Solderpunk
d39cddcc84
Make default MIME handlers more generic.
2020-08-18 21:14:04 +02:00
Solderpunk
03be5bfebf
Use proper handler resolution logic for the text/gemini case (so that settings for text/* can apply).
2020-08-18 21:13:26 +02:00
Solderpunk
72754114f4
Error out if a URL attempts to redirect to itself.
2020-08-18 21:06:12 +02:00
Solderpunk
1509f895f1
Rename handle_index handle_gemtext, for clarity. It should have been called handle_menu in VF-1 in the first place, anyway.
2020-08-18 21:05:49 +02:00
Solderpunk
4e634a539b
Merge pull request 'Fix some bugs in the 'cert' UI' ( #22 ) from govynnus/AV-98:bugfix-cert into master
...
Reviewed-on: solderpunk/AV-98#22
2020-08-15 11:40:32 +00:00
govynnus
99e5ceec65
Fix some bugs in the 'cert' UI
...
- os.path.exists() allows directories so use os.path.isfile() instead
- os.path.isfile() does not interpret '~' as /home/<user> so add note to users
- Use right certificate directory in `mycert` example
- Display a message and abort if no previously generated certs
2020-08-14 22:13:21 +01:00
Solderpunk
ce834dd231
Use correct handler for text/gemini content.
2020-08-11 22:01:47 +02:00
Solderpunk
96cf8e13fe
ACTUALLY fix time conversion bug as attempted in 76d7d, grumble, grumble...
2020-06-14 12:28:34 +02:00
Solderpunk
097458754e
Bump version for development.
2020-06-13 23:42:36 +02:00
Solderpunk
b972ca7d5d
Release 1.0.1.
2020-06-13 23:39:04 +02:00
Solderpunk
76d7d23a2a
Fix time conversion bug in blackbox command.
2020-06-13 15:36:05 +02:00
solderpunk
afa67f40ae
Merge pull request 'Standardize abbrevs formatting' ( #19 ) from vee/AV-98:vee/abbrevs-formatting into master
2020-06-13 09:16:09 -04:00
Vee
3cf447cc3a
Standardize abbrevs formatting
...
The output format for `help` includes a trailing and leading blank line,
which were missing from `abbrevs` output. Additionally, `help` includes
a colon at the end of the header line, which this commit also adds to
`abbrevs` output.
2020-06-13 06:39:18 -04:00
Solderpunk
dfa1dd7fd0
Don't choke on non gopher/gemini/http(s) links. Closes #18 .
2020-06-09 22:13:42 +02:00
Solderpunk
44ee42ba8a
Check that a file exists before trying to delete it. Rare errors can cause code paths leading to attempted double deletion.
2020-06-08 21:52:28 +02:00
Solderpunk
9526c384db
Bump version for development.
2020-06-08 18:49:26 +02:00
Solderpunk
9a80987587
Cut 1.0.0!
2020-06-07 22:51:02 +02:00
Solderpunk
d7082d23e5
Add setup.py
2020-06-07 22:48:44 +02:00
Solderpunk
be20eb4a50
Add docstrings for client cert methods.
2020-06-07 20:42:19 +02:00
Solderpunk
c09ae60167
Flesh out README.
2020-06-07 19:55:49 +02:00
Solderpunk
b8fa8233bc
Support new status code 11.
2020-06-07 19:13:00 +02:00
Solderpunk
94cf54df18
Recognise quote line type.
2020-06-07 19:09:53 +02:00
Solderpunk
5331d5254d
Update recognition of list item lines to match recent spec update.
2020-06-07 19:07:30 +02:00
Solderpunk
6306e4ef58
Do not strip non-breaking spaces from advanced line types.
2020-06-07 19:06:39 +02:00
Solderpunk
98dc9a96b4
Fill out LICENSE template! Closes #17 .
2020-06-04 20:29:03 +02:00
Solderpunk
1bc6a69bb9
Permit use of ECDSA.
2020-06-04 16:21:11 +02:00
Solderpunk
8d7715ee4b
Add dancek to contributors, sort contributors alphabetically.
2020-06-02 22:57:48 +02:00
solderpunk
fd8ee5bfb7
Merge pull request 'Add gemini:// support directly to urllib.parse' ( #16 ) from dancek/AV-98:simplify-urljoin into master
...
Thanks a lot! I've never bothered to poke inside `urljoin` before so didn't realise this was so easy to do. I agree that this is far more readable and maintainable.
2020-06-02 14:45:48 -04:00
Hannu Hartikainen
9c82b63ff1
Add gemini:// support directly to urllib.parse
2020-06-01 10:22:49 +03:00
Solderpunk
2fd8fe919b
Do not read more than the maximum number of bytes in a valid response header.
2020-05-31 18:33:32 +02:00
Solderpunk
d5ed0c5d7a
Don't crash when buggy servers send no header at all.
2020-05-31 18:33:08 +02:00
Solderpunk
08ce625575
Arglblargl *actually* fix redirects.
2020-05-31 14:24:23 +02:00
Solderpunk
34e97e4cf3
Fix redirect logic.
2020-05-31 14:23:30 +02:00
Solderpunk
5187e75566
Fix cross-domain redirect warning, and add cross-protocol redirect warning.
2020-05-31 14:06:23 +02:00
Solderpunk
088c415987
Make openssl binary calls compatible with LibreSSL.
2020-05-31 10:58:45 +02:00
Solderpunk
16dc7dc831
Cipher hardening.
2020-05-31 00:02:37 +02:00
Solderpunk
fecd46378c
Use current UTC time for comparison against certificate validity. Closes #14 . Thanks, mozz!
2020-05-28 21:01:04 +02:00
solderpunk
6b17792546
Merge pull request 'Add `abbrevs` command' ( #13 ) from vee/AV-98:vee/abbrevs into master
2020-05-27 14:46:54 -04:00
Vee
e558c80740
Add `abbrevs` command
...
It lists all available AV-98 command abbreviations.
2020-05-27 09:16:22 -04:00
Solderpunk
dbe08ee787
Another silly bug fix, closes #12 .
2020-05-27 09:00:42 +02:00
Solderpunk
49531bfb25
Fix silly copy/paste bug. Closes #11 .
2020-05-27 08:57:44 +02:00
Solderpunk
a3fd543aa6
Correctly test individual names, not Common Name over and over.
2020-05-23 17:20:26 +02:00
Solderpunk
16cf9fecb6
Don't crash when cert has no Common Name.
2020-05-23 17:13:30 +02:00
Solderpunk
94e8abe934
Slightly better wording around certs.
2020-05-23 13:35:13 +02:00
Solderpunk
2c7e6502f8
Fix umask call.
2020-05-23 13:24:39 +02:00
Solderpunk
c48c85b5e1
Notify upon creation of config directory.
2020-05-23 13:18:37 +02:00
Solderpunk
68d5f9b42e
Set umask so that config directory is private.
2020-05-23 13:17:12 +02:00
Solderpunk
8945fa4f7e
Don't follow cross-domain redirects automatically.
2020-05-23 12:53:20 +02:00
Solderpunk
7a3f1c77a5
Present expiration information about previous certificates in TOFU warning messages.
2020-05-23 12:53:02 +02:00
Solderpunk
e455d2ec85
Actually create a missing config directory!
2020-05-22 23:24:49 +02:00
Solderpunk
a68e092593
Add option to toggle between CA and TOFU certificate validation.
2020-05-19 23:14:09 +02:00
Solderpunk
ec07491578
Check alternative subject names.
2020-05-17 22:36:10 +02:00
Solderpunk
094e3117c4
Better reporting of certificate errors.
2020-05-17 22:36:00 +02:00
Solderpunk
9ce8d2481a
Use cryptography library to do better certificate checking, if it's available.
2020-05-17 20:38:06 +02:00
Solderpunk
ca1a0a62e6
Cache certificates to disk in the expectation of more advanced cert wrangling in future.
2020-05-17 18:35:35 +02:00
Solderpunk
68e55d245a
Add AV-98 contributors, in place of VF-1 contributors.
2020-05-17 17:57:34 +02:00
Solderpunk
991de05512
Immediately commit all changes to the TOFU DB, so it gets unlocked and multiple clients can access it at once.
2020-05-17 14:02:36 +02:00
Solderpunk
13f885c226
Make transient clients expire after 1 day, not 365!
2020-05-17 12:18:09 +02:00
Solderpunk
d1412377da
Initial implementation of TOFU security model.
2020-05-16 18:58:53 +02:00
solderpunk
cbd1ff48e9
Merge pull request 'Limit server header response length' ( #9 ) from jprjr/AV-98:header-limit into master
2020-05-16 12:54:00 -04:00
jprjr
78e0134c8a
spec states meta max length is 1024
2020-05-16 13:59:05 +00:00
jprjr
0b79cd174f
enforce a maximum header line length
2020-05-16 13:58:33 +00:00
solderpunk
3769ddebc6
Merge pull request 'Add command to search GUS' ( #8 ) from vee/AV-98:vee/gus into master
2020-05-15 17:47:14 -04:00
Vee
c174836159
Add command to search GUS
2020-05-15 07:38:51 -04:00
Solderpunk
d828965979
Fix bug introduced when refactoring rcfile path wrangling.
2020-05-14 09:37:12 +02:00
Solderpunk
08bc6e2102
Don't do client certificates in restricted mode.
2020-05-12 22:23:22 +02:00
Solderpunk
8af6d9e478
Better presentation of query prompts.
2020-05-12 22:00:35 +02:00
Solderpunk
74d8511474
Properly escape query text before putting it into a URL.
2020-05-12 22:00:17 +02:00
Solderpunk
42e81ee859
Don't assume a gopher-to-gemini proxy is running on localhost by default.
2020-05-12 21:20:36 +02:00
Solderpunk
a05ecfad4f
Add easy loading of previously generated certs.
2020-05-11 23:27:48 +02:00
Solderpunk
676ab85a9e
Add support for transient client certificates.
2020-05-11 22:33:04 +02:00
Solderpunk
cf92e12653
Make locations of files more consistent.
2020-05-10 22:51:33 +02:00
Solderpunk
0d49b3e859
Put bookmark and rc files in same location as certificates.
2020-05-10 18:53:31 +02:00
Solderpunk
34cfa54de6
Tiny tweak to Macros -> Patlabor theme change. :)
2020-05-10 18:47:07 +02:00
Solderpunk
94e796ee5e
Opt out of transient certs for now, better messaging about certificates.
2020-05-10 18:46:16 +02:00
Solderpunk
e0552df853
Add support for generating client certs (if openssl is installed).
2020-05-10 17:25:03 +02:00
Solderpunk
d4e9feebc5
Small bugfix.
2020-05-10 17:00:30 +02:00
Solderpunk
24563acf6d
Give 'cert' command a menu interface, and trigger a similar interface in response to status codes 6x.
2020-05-10 16:09:54 +02:00
Solderpunk
b272a563cb
Use ansiwrap if available.
2020-05-10 15:02:24 +02:00
Solderpunk
28cf34e585
Add version info. Closes #1 .
2020-05-10 14:34:48 +02:00
Solderpunk
d8ef677ab1
Make sure supplied filenames exist.
2020-05-10 14:32:41 +02:00
Solderpunk
cbb7b3fd6c
Offer to reload previously used certificates for domains visited earlier.
2020-05-10 14:19:12 +02:00
Solderpunk
d04c472600
Reduce code duplication.
2020-05-10 14:17:35 +02:00
Solderpunk
cd2faaa958
Fix input parsing bug.
2020-05-10 14:17:20 +02:00
Solderpunk
6cb9f6a65e
Nicer prompts.
2020-05-10 14:17:07 +02:00
Solderpunk
3207f8b382
Reduce code duplication.
2020-05-10 13:48:25 +02:00
Solderpunk
6bb2e20e69
Try to prevent 'certificate leaks' when visiting a new domain with an active client cert.
2020-05-10 13:44:40 +02:00
Solderpunk
a2aff0d2a5
Move client certificate details out of the options dictionary and into their own, so that the 'cert' and 'set' commands don't become parallel interfaces to the same config.
2020-05-10 12:59:26 +02:00
Solderpunk
6d4c8e2dc9
First stab at putting an interactive interface on client certificates.
2020-05-10 12:35:46 +02:00
Solderpunk
f6f0c5d34a
Various inscrutible TLS changes.
2020-04-12 21:20:29 +02:00
Solderpunk
8b3e77fa41
Add restricted mode for gemini.circumlunar.space kiosk.
2020-04-07 22:46:05 +02:00
Solderpunk
8e5e175a7e
Fix TLS for Python 3.8. See #6 .
2020-04-02 22:15:39 +02:00
Solderpunk
c934237cbe
Enhance bookmarks command to accept a numeric index. Closes #4 .
2020-03-24 20:41:37 +01:00
solderpunk
d5831a131d
Merge pull request 'Add support for TLS client certificates' ( #5 ) from michael-lazar/AV-98:client_certificates into master
2020-03-24 15:11:49 -04:00
Michael Lazar
b078e4315d
Add support for TLS client certificates
2020-03-22 22:12:00 -04:00
Solderpunk
a701145459
Handle unorderd items and headings.
2020-03-07 21:30:34 +01:00
Solderpunk
7f89b94f25
Handle preformatted content.
2020-03-07 21:11:49 +01:00