about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rwxr-xr-xbollux6
-rw-r--r--bollux.132
-rw-r--r--bollux.conf.542
3 files changed, 48 insertions, 32 deletions
diff --git a/bollux b/bollux index 1aaa70f..9b8d5fa 100755 --- a/bollux +++ b/bollux
@@ -336,10 +336,9 @@ gemini_request() {
336 server="${server%%/*}" 336 server="${server%%/*}"
337 337
338 ssl_cmd=(openssl s_client -crlf -quiet -connect "$server:$port") 338 ssl_cmd=(openssl s_client -crlf -quiet -connect "$server:$port")
339 # disable old TLS/SSL versions (thanks makeworld!) 339 # disable old TLS/SSL versions
340 ssl_cmd+=(-no_ssl3 -no_tls1 -no_tls1_1) 340 ssl_cmd+=(-no_ssl3 -no_tls1 -no_tls1_1)
341 341
342 # always try to connect with TLS v1.3 first
343 run "${ssl_cmd[@]}" <<<"$url" 2>/dev/null 342 run "${ssl_cmd[@]}" <<<"$url" 2>/dev/null
344} 343}
345 344
@@ -849,9 +848,8 @@ bollux_init() {
849} 848}
850 849
851bollux_cleanup() { 850bollux_cleanup() {
852 # XXX 851 # Stubbed in case of need in future
853 : 852 :
854 #kill $(jobs -p)
855} 853}
856 854
857history_append() { # history_append url TITLE 855history_append() { # history_append url TITLE
diff --git a/bollux.1 b/bollux.1 index 4b6948d..122934d 100644 --- a/bollux.1 +++ b/bollux.1
@@ -1,6 +1,7 @@
1.TH bollux 1 0.3.0 1.TH bollux 1 0.4.0
2.SH NAME 2.SH NAME
3bollux \- gemini protocol browser written in bash(1) 3bollux \- gemini protocol browser written in
4.BR bash (1)
4.SH SYNOPSIS 5.SH SYNOPSIS
5.B bollux 6.B bollux
6.RI [ \-h ] 7.RI [ \-h ]
@@ -26,11 +27,11 @@ Be quiet: don't show any messages, even fatal ones
26.TP 27.TP
27.B \-v 28.B \-v
28Be verbose: show all messages, even debug ones 29Be verbose: show all messages, even debug ones
29.TP 30.\".TP
30.B \-c CONFIG 31.\".B \-c CONFIG
31Use CONFIG file to configure 32.\"Use CONFIG file to configure
32.BR bollux (1) 33.\".BR bollux (1)
33instead of the default: $XDG_CONFIG_HOME/bollux/bollux.conf. 34.\"instead of the default: $XDG_CONFIG_HOME/bollux/bollux.conf.
34.TP 35.TP
35.B URL 36.B URL
36The gemini URL to navigate to 37The gemini URL to navigate to
@@ -67,10 +68,21 @@ quit bollux
67If a new URL is selected, 68If a new URL is selected,
68.BR bollux (1) 69.BR bollux (1)
69will repeat the download-and-display loop with the new URL. 70will repeat the download-and-display loop with the new URL.
70.SH ISSUES 71.PP
71There is currently no history storage or recall. 72If the mimetype is other than text/*,
72.BR bollux (1) 73.BR bollux (1)
73can get confused on some URLs \-\- munging them correctly is an area of active research. 74will attempt to download the file to
75.B $BOLLUX_DOWNDIR
76(which defaults to '.').
77.PP
78.BR bollux (1)
79also supports the gopher protocol,
80which is browsed the same way as the gemini protocol
81(except the URL starts with 'gopher://').
82Gopher support is as of now rudimentary.
83.SH ISSUES
84Certificate handling needs to be much improved: TOFU needs to be implemented
85and bollux should be able to generate client certificates.
74.SH SEE ALSO 86.SH SEE ALSO
75.BR bollux.conf (5) 87.BR bollux.conf (5)
76.SH BUGS 88.SH BUGS
diff --git a/bollux.conf.5 b/bollux.conf.5 index 9cee1b5..9f431db 100644 --- a/bollux.conf.5 +++ b/bollux.conf.5
@@ -1,4 +1,4 @@
1.TH bollux.conf 5 0.3.0 1.TH bollux.conf 5 0.4.0
2.SH NAME 2.SH NAME
3.B bollux.conf 3.B bollux.conf
4\- configuration file for 4\- configuration file for
@@ -17,7 +17,7 @@ Here are actually useful variables that are good things to set in your
17in order of usefulness. 17in order of usefulness.
18.TP 18.TP
19.BR BOLLUX_URL 19.BR BOLLUX_URL
20valid values are URLs; default is ''. 20valid values are URLs; default is ''.
21.br 21.br
22If 22If
23.B BOLLUX_URL 23.B BOLLUX_URL
@@ -28,7 +28,7 @@ otherwise it asks the user for where to go.
28Setting this variable works like setting a home page. 28Setting this variable works like setting a home page.
29.TP 29.TP
30.BR BOLLUX_DOWNDIR 30.BR BOLLUX_DOWNDIR
31valid values are directories; default is '.'. 31valid values are directories; default is '.'.
32.br 32.br
33The directory to attempt to save downloads in. 33The directory to attempt to save downloads in.
34.BR bollux (1) 34.BR bollux (1)
@@ -42,14 +42,14 @@ or if there's another file with the same name,
42will report the name of the temporary file it saved. 42will report the name of the temporary file it saved.
43.TP 43.TP
44.BR BOLLUX_DATADIR 44.BR BOLLUX_DATADIR
45valid values are directories; default is '$XDG_DATA_DIR/bollux'. 45valid values are directories; default is '$XDG_DATA_DIR/bollux'.
46.br 46.br
47The directory 47The directory
48.BR bollux (1) 48.BR bollux (1)
49will put its data files, such as history, cert fingerprints, etc. 49will put its data files, such as history, cert fingerprints, etc.
50.TP 50.TP
51.BR BOLLUX_MAXREDIR 51.BR BOLLUX_MAXREDIR
52valid values are integers; default is '5'. 52valid values are integers; default is '5'.
53.br 53.br
54The maximum number of redirects before 54The maximum number of redirects before
55.BR bollux (1) 55.BR bollux (1)
@@ -57,7 +57,7 @@ decides to quit.
57The default is 5 as per some RFC spec. 57The default is 5 as per some RFC spec.
58.TP 58.TP
59.BR BOLLUX_LOGLEVEL 59.BR BOLLUX_LOGLEVEL
60valid values are '', DEBUG or QUIET; default is ''. 60valid values are '', DEBUG or QUIET; default is ''.
61.br 61.br
62How verbose 62How verbose
63.BR bollux (1) 63.BR bollux (1)
@@ -80,13 +80,13 @@ the default function is pretty nice (at least in my opinion).
80The following variables control how text/gemini content is rendered: 80The following variables control how text/gemini content is rendered:
81.TP 81.TP
82.BR T_MARGIN 82.BR T_MARGIN
83valid values are integers; default is 4. 83valid values are integers; default is 4.
84.br 84.br
85The left margin for text. 85The left margin for text.
86Should be at least 3, since line-markers will be displayed in the left margin. 86Should be at least 3, since line-markers will be displayed in the left margin.
87.TP 87.TP
88.BR T_WIDTH 88.BR T_WIDTH
89valid values are integers; default is 0. 89valid values are integers; default is 0.
90.br 90.br
91The total width of the window, including 91The total width of the window, including
92.BR T_MARGIN . 92.BR T_MARGIN .
@@ -104,22 +104,22 @@ meaning valid values are anything between those that are valid terminal
104color escapes. 104color escapes.
105.TP 105.TP
106.BR C_SIGIL 106.BR C_SIGIL
107default: 35 (fg: magenta) 107default: 35 (fg: magenta)
108.br 108.br
109The color of the line type as defined by text/gemini. 109The color of the line type as defined by text/gemini.
110.TP 110.TP
111.BR C_LINK_NUMBER 111.BR C_LINK_NUMBER
112default: 1 (bold) 112default: 1 (bold)
113.br 113.br
114The color of the link number added by typeset_gemini. 114The color of the link number added by typeset_gemini.
115.TP 115.TP
116.BR C_LINK_TITLE 116.BR C_LINK_TITLE
117default: 4 (underline) 117default: 4 (underline)
118.br 118.br
119The color of the link's title, or if titleless, the URL. 119The color of the link's title, or if titleless, the URL.
120.TP 120.TP
121.BR C_LINK_URL 121.BR C_LINK_URL
122default: 36 (fg: cyan) 122default: 36 (fg: cyan)
123.br 123.br
124The color of the link's URL. 124The color of the link's URL.
125If the link doesn't have a title, this isn't used. 125If the link doesn't have a title, this isn't used.
@@ -134,12 +134,12 @@ for level 3 is
134.IR 3 . 134.IR 3 .
135.TP 135.TP
136.BR C_LIST 136.BR C_LIST
137default: 0 (no formatting) 137default: 0 (no formatting)
138.br 138.br
139The color of list items. 139The color of list items.
140.TP 140.TP
141.BR C_PRE 141.BR C_PRE
142default: 0 (no formatting) 142default: 0 (no formatting)
143.br 143.br
144The color of preformatted lines, as delimited by '```'. 144The color of preformatted lines, as delimited by '```'.
145.SS Variables that could be configured, but probably shouldn't be 145.SS Variables that could be configured, but probably shouldn't be
@@ -152,26 +152,32 @@ work differently, like browsing gopher instead of gemini,
152but that capability has not been tested. 152but that capability has not been tested.
153.TP 153.TP
154.BR BOLLUX_PORT 154.BR BOLLUX_PORT
155valid values are port numbers (1-65535); default is '1965'. 155valid values are port numbers (1-65535); default is '1965'.
156.br 156.br
157The port 157The port
158.BR bollux (1) 158.BR bollux (1)
159tries to connect to on the server. 159tries to connect to on the server.
160.TP 160.TP
161.BR BOLLUX_PROTO 161.BR BOLLUX_PROTO
162valid values are protocol names (strings); default is 'gemini'. 162valid values are protocol names (strings); default is 'gemini'.
163.br 163.br
164The protocol to use. 164The protocol to use.
165.TP 165.TP
166.BR BOLLUX_TIMEOUT
167valid values are as specified in 'help read'; default is '30'.
168.br
169The request timeout duration.
170Specified in seconds.
171.TP
166.BR BOLLUX_LESSKEY 172.BR BOLLUX_LESSKEY
167valid values are files; default is '$BOLLUX_DATADIR/lesskey'. 173valid values are files; default is '$BOLLUX_DATADIR/lesskey'.
168.br 174.br
169Where to store the generated 175Where to store the generated
170.BR lesskey (1) 176.BR lesskey (1)
171file. 177file.
172.TP 178.TP
173.BR BOLLUX_PAGESRC 179.BR BOLLUX_PAGESRC
174valid values are files; default is '$BOLLUX_DATADIR/pagesrc'. 180valid values are files; default is '$BOLLUX_DATADIR/pagesrc'.
175.br 181.br
176Where to store the page source of the site being visited. 182Where to store the page source of the site being visited.
177It's not used right now by 183It's not used right now by