|
@@ -203,9 +203,114 @@ function pad_string {
|
203
|
203
|
echo -n -e "$1" | sed -e :a -e 's/^.\{1,25\}$/& /;ta'
|
204
|
204
|
}
|
205
|
205
|
|
|
206
|
+function show_tor_bridges {
|
|
207
|
+ if ! grep -q "#BridgeRelay" /etc/tor/torrc; then
|
|
208
|
+ if grep -q "BridgeRelay 1" /etc/tor/torrc; then
|
|
209
|
+ read_config_param 'TOR_BRIDGE_PORT'
|
|
210
|
+ read_config_param 'TOR_BRIDGE_NICKNAME'
|
|
211
|
+ if [ ${#TOR_BRIDGE_NICKNAME} -gt 0 ]; then
|
|
212
|
+ W+=($"Your Tor Bridge" "$(get_ipv4_address):${TOR_BRIDGE_PORT} ${TOR_BRIDGE_NICKNAME}")
|
|
213
|
+ fi
|
|
214
|
+ fi
|
|
215
|
+ fi
|
|
216
|
+ bridges_list=$(grep "Bridge " /etc/tor/torrc | grep -v '##')
|
|
217
|
+ if [ ${#bridges_list} -gt 0 ]; then
|
|
218
|
+ for i in "${bridges_list[@]}"
|
|
219
|
+ do
|
|
220
|
+ bridgestr=$(i//Bridge /)
|
|
221
|
+ W+=($"Tor Bridge" "$bridgestr")
|
|
222
|
+ done
|
|
223
|
+ fi
|
|
224
|
+}
|
|
225
|
+
|
206
|
226
|
function show_domains {
|
207
|
227
|
read_config_param "DEFAULT_DOMAIN_NAME"
|
208
|
228
|
|
|
229
|
+ W=()
|
|
230
|
+
|
|
231
|
+ if grep -q "ssh onion domain" "$COMPLETION_FILE"; then
|
|
232
|
+ domain_onion=$(grep 'ssh onion domain' "${COMPLETION_FILE}" | awk -F ':' '{print $2}')
|
|
233
|
+ W+=("ssh" "${DEFAULT_DOMAIN_NAME} / ${domain_onion}")
|
|
234
|
+ fi
|
|
235
|
+ if grep -q "email onion domain" "$COMPLETION_FILE"; then
|
|
236
|
+ domain_onion=$(grep 'email onion domain' "${COMPLETION_FILE}" | awk -F ':' '{print $2}')
|
|
237
|
+ W+=("Email" "${DEFAULT_DOMAIN_NAME} / ${domain_onion}")
|
|
238
|
+ fi
|
|
239
|
+ if grep -q "sks onion domain" "$COMPLETION_FILE"; then
|
|
240
|
+ read_config_param "KEYSERVER_DOMAIN_NAME"
|
|
241
|
+ domain_onion=$(grep 'sks onion domain' "${COMPLETION_FILE}" | awk -F ':' '{print $2}')
|
|
242
|
+ W+=("SKS" "${KEYSERVER_DOMAIN_NAME} / ${domain_onion}")
|
|
243
|
+ fi
|
|
244
|
+
|
|
245
|
+ INTRODUCER_FILENAME=/home/tahoelafs/data/private/introducer.furl
|
|
246
|
+ if [ -f $INTRODUCER_FILENAME ]; then
|
|
247
|
+ W+=("Tahoe-LAFS" "$(cat $INTRODUCER_FILENAME)")
|
|
248
|
+ fi
|
|
249
|
+
|
|
250
|
+ show_tor_bridges
|
|
251
|
+
|
|
252
|
+ # shellcheck disable=SC2068
|
|
253
|
+ for app_name in ${APPS_INSTALLED_NAMES[@]}
|
|
254
|
+ do
|
|
255
|
+ if ! grep -q "SHOW_ON_ABOUT=1" "/usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-${app_name}"; then
|
|
256
|
+ continue
|
|
257
|
+ fi
|
|
258
|
+
|
|
259
|
+ # handle the foibles of capitalisation
|
|
260
|
+ if ! grep -q "${app_name} domain" "$COMPLETION_FILE"; then
|
|
261
|
+ app_name_upper=$(echo "${app_name}" | awk '{print toupper($0)}')
|
|
262
|
+ if grep -q "${app_name_upper} domain" "$COMPLETION_FILE"; then
|
|
263
|
+ app_name=${app_name_upper}
|
|
264
|
+ else
|
|
265
|
+ app_name_first_upper="$(tr '[:lower:]' '[:upper:]' <<< "${app_name:0:1}")${app_name:1}"
|
|
266
|
+ if grep -q "${app_name_first_upper} domain" "$COMPLETION_FILE"; then
|
|
267
|
+ app_name=${app_name_first_upper}
|
|
268
|
+ fi
|
|
269
|
+ fi
|
|
270
|
+ fi
|
|
271
|
+
|
|
272
|
+ if [ ${#app_name} -gt 0 ]; then
|
|
273
|
+ icann_address=$(get_app_icann_address "$app_name")
|
|
274
|
+ if grep -q "SHOW_ICANN_ADDRESS_ON_ABOUT=0" "/usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-${app_name}"; then
|
|
275
|
+ icann_address='-'
|
|
276
|
+ fi
|
|
277
|
+ if [[ "$ONION_ONLY" != 'no' ]]; then
|
|
278
|
+ if [[ "${icann_address}" != "${LOCAL_NAME}.local" ]]; then
|
|
279
|
+ icann_address='-'
|
|
280
|
+ fi
|
|
281
|
+ fi
|
|
282
|
+ onion_address=$(get_app_onion_address "$app_name")
|
|
283
|
+ if [ ${#onion_address} -eq 0 ]; then
|
|
284
|
+ onion_address="-"
|
|
285
|
+ fi
|
|
286
|
+
|
|
287
|
+ W+=("${app_name}" "${icann_address} / ${onion_address}")
|
|
288
|
+
|
|
289
|
+ if grep -q "mobile${app_name} onion domain" "$COMPLETION_FILE"; then
|
|
290
|
+ onion_address=$(get_app_onion_address "${app_name}" "mobile")
|
|
291
|
+ W+=("${app_name} (mobile)" "${icann_address} / ${onion_address}")
|
|
292
|
+ fi
|
|
293
|
+ fi
|
|
294
|
+ done
|
|
295
|
+
|
|
296
|
+ if grep -q "rss reader domain" "$COMPLETION_FILE"; then
|
|
297
|
+ if [ -d /var/lib/tor/hidden_service_ttrss ]; then
|
|
298
|
+ domain_onion=$(cat /var/lib/tor/hidden_service_ttrss/hostname)
|
|
299
|
+ W+=("RSS Reader" "${domain_onion}")
|
|
300
|
+ fi
|
|
301
|
+ if [ -d /var/lib/tor/hidden_service_mobilerss ]; then
|
|
302
|
+ domain_onion=$(cat /var/lib/tor/hidden_service_mobilerss/hostname)
|
|
303
|
+ W+=("RSS mobile" "${domain_onion}")
|
|
304
|
+ fi
|
|
305
|
+ fi
|
|
306
|
+
|
|
307
|
+ # shellcheck disable=SC2068
|
|
308
|
+ dialog --backtitle $"Freedombone Control Panel" --title $"Domains" --menu $"You can use shift+cursors to select text" 28 78 28 ${W[@]} 3>&2 2>&1 1>&3
|
|
309
|
+}
|
|
310
|
+
|
|
311
|
+function show_domains_old {
|
|
312
|
+ read_config_param "DEFAULT_DOMAIN_NAME"
|
|
313
|
+
|
209
|
314
|
echo 'Domains'
|
210
|
315
|
echo '======='
|
211
|
316
|
echo ''
|
|
@@ -345,34 +450,6 @@ function show_ip_addresses {
|
345
|
450
|
echo ''
|
346
|
451
|
}
|
347
|
452
|
|
348
|
|
-function show_tor_bridges {
|
349
|
|
- bridges_list=$(grep "Bridge " /etc/tor/torrc | grep -v '##')
|
350
|
|
- if [ ${#bridges_list} -gt 0 ]; then
|
351
|
|
- echo $'Tor Bridges'
|
352
|
|
- echo '==========='
|
353
|
|
- echo ''
|
354
|
|
- echo "${bridges_list}"
|
355
|
|
- echo ''
|
356
|
|
- echo ''
|
357
|
|
- fi
|
358
|
|
- if ! grep -q "#BridgeRelay" /etc/tor/torrc; then
|
359
|
|
- if grep -q "BridgeRelay 1" /etc/tor/torrc; then
|
360
|
|
- read_config_param 'TOR_BRIDGE_PORT'
|
361
|
|
- read_config_param 'TOR_BRIDGE_NICKNAME'
|
362
|
|
- if [ ${#TOR_BRIDGE_NICKNAME} -gt 0 ]; then
|
363
|
|
- echo "Tor bridge on this system"
|
364
|
|
- echo '========================='
|
365
|
|
- echo ''
|
366
|
|
- echo "IP Address: $(get_ipv4_address)"
|
367
|
|
- echo "Port: ${TOR_BRIDGE_PORT}"
|
368
|
|
- echo "Nickname: ${TOR_BRIDGE_NICKNAME}"
|
369
|
|
- echo ''
|
370
|
|
- echo ''
|
371
|
|
- fi
|
372
|
|
- fi
|
373
|
|
- fi
|
374
|
|
-}
|
375
|
|
-
|
376
|
453
|
function show_ssh_public_key {
|
377
|
454
|
echo $'SSH Public Keys'
|
378
|
455
|
echo '==============='
|
|
@@ -382,33 +459,18 @@ function show_ssh_public_key {
|
382
|
459
|
echo ''
|
383
|
460
|
}
|
384
|
461
|
|
385
|
|
-function show_tahoelafs_introducer {
|
386
|
|
- INTRODUCER_FILENAME=/home/tahoelafs/data/private/introducer.furl
|
387
|
|
- if [ ! -f $INTRODUCER_FILENAME ]; then
|
388
|
|
- return
|
389
|
|
- fi
|
390
|
|
- echo $'Tahoe-LAFS introducer'
|
391
|
|
- echo '====================='
|
392
|
|
- echo ''
|
393
|
|
- cat $INTRODUCER_FILENAME
|
394
|
|
- echo ''
|
395
|
|
- echo ''
|
396
|
|
-}
|
397
|
|
-
|
398
|
462
|
function show_about {
|
399
|
463
|
detect_apps
|
400
|
464
|
get_apps_installed_names
|
401
|
465
|
|
402
|
|
- clear
|
403
|
|
- echo "==== ${PROJECT_NAME} version ${VERSION} ($DEBIAN_VERSION) ===="
|
404
|
|
- echo ''
|
405
|
|
- show_ip_addresses
|
406
|
|
- show_tor_bridges
|
407
|
|
- show_ssh_public_key
|
|
466
|
+ #clear
|
|
467
|
+ #echo "==== ${PROJECT_NAME} version ${VERSION} ($DEBIAN_VERSION) ===="
|
|
468
|
+ #echo ''
|
|
469
|
+ #show_ip_addresses
|
|
470
|
+ #show_ssh_public_key
|
408
|
471
|
show_domains
|
409
|
|
- show_tahoelafs
|
410
|
|
- show_users
|
411
|
|
- any_key
|
|
472
|
+ #show_users
|
|
473
|
+ #any_key
|
412
|
474
|
}
|
413
|
475
|
|
414
|
476
|
function select_user {
|