aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorterminaldweller <devi@terminaldweller.com>2023-05-04 19:24:48 +0000
committerterminaldweller <devi@terminaldweller.com>2023-05-04 19:24:48 +0000
commit4b0ef68be03ebbe9da56520d62ce372f66a2a12f (patch)
treefc794093f386283021776ebde9ebea982ccdc617
parentupdates (diff)
downloadscripts-4b0ef68be03ebbe9da56520d62ce372f66a2a12f.tar.gz
scripts-4b0ef68be03ebbe9da56520d62ce372f66a2a12f.zip
update
-rw-r--r--.mutt/account.self2
-rw-r--r--.newsboat/urls2
-rw-r--r--.secrets.baseline4
-rw-r--r--.tmux.conf8
-rw-r--r--.tridactylrc11
-rw-r--r--.tunneltop.toml136
-rw-r--r--.vimrc5
-rw-r--r--.w3m/keymap2
-rw-r--r--.zshrc25
-rwxr-xr-xbin/glyph_list.sh3
-rwxr-xr-xbin/postit.sh2
-rw-r--r--devi.zsh-theme7
-rw-r--r--docker/bitlbee-purple/docker-compose.yaml20
-rw-r--r--docker/bitlbee-purple/net.properties2
-rw-r--r--glyphs/glyph_list48
-rwxr-xr-xidenticon/gen_blockie.py90
-rw-r--r--identicon/identicon.pngbin0 -> 4634 bytes
-rw-r--r--identicon/poetry.lock53
-rw-r--r--identicon/pyproject.toml16
-rw-r--r--irssi/Dockerfile36
-rw-r--r--irssi/config210
-rw-r--r--irssi/docker-compose.yaml59
-rw-r--r--irssi/otr_powerline.diff21
-rw-r--r--irssi/pantalaimon.conf13
-rw-r--r--irssi/proxychains.conf2
-rw-r--r--irssi/solarized-powerline.theme48
-rw-r--r--keymap.kbd25
-rw-r--r--postit9
-rw-r--r--terminaldweller.com/cargo/docker-compose.yaml3
-rw-r--r--terminaldweller.com/cargo/nginx.conf4
-rwxr-xr-xterminaldweller.com/gophernicus/run.sh3
-rw-r--r--terminaldweller.com/limnoria/docker-compose.yaml18
-rw-r--r--terminaldweller.com/lokinet/docker-compose.yaml20
-rw-r--r--terminaldweller.com/lokinet/nginx.conf22
-rw-r--r--terminaldweller.com/main/nginx.conf1
-rw-r--r--terminaldweller.com/main/srv/index.html199
-rw-r--r--terminaldweller.com/matterbridge/docker-compose.yml13
-rw-r--r--terminaldweller.com/matterbridge/matterbridge.toml35
-rw-r--r--terminaldweller.com/privatebin/docker-compose.yaml3
-rw-r--r--terminaldweller.com/privatebin/nginx.conf6
-rw-r--r--terminaldweller.com/rss-bridge/docker-compose.yaml3
-rw-r--r--terminaldweller.com/rss-bridge/nginx.conf6
-rwxr-xr-xterminaldweller.com/sopel/run.sh9
-rwxr-xr-xterminaldweller.com/update_main.sh33
-rw-r--r--terminaldweller.com/yggdrasil/docker-compose.yaml20
-rw-r--r--terminaldweller.com/yggdrasil/nginx.conf22
-rwxr-xr-xtmux/date.sh27
47 files changed, 1085 insertions, 221 deletions
diff --git a/.mutt/account.self b/.mutt/account.self
index 161b2d5..fa88533 100644
--- a/.mutt/account.self
+++ b/.mutt/account.self
@@ -16,4 +16,4 @@ set header_cache = ~/.mutt/self/cache/headers
set message_cachedir = ~/.mutt/self/cache/bodies
set certificate_file = ~/.mutt/self/certificates
# mailboxes "+INBOX" "+Drafts" "+Sent" "+Trash"
-mailboxes "+INBOX" "+INBOX/Github" "+INBOX/Linkedin" "+INBOX/Launchpad" "+INBOX/Opennic" "+INBOX/Trf" "+INBOX/Devto" "+INBOX/Kaggle" "+INBOX/Codeberg" "+INBOX/Rumble" "+INBOX/Substack" "+INBOX/Infura" "+INBOX/Skiff" "+INBOX/Spotify" "+INBOX/Bonobonet"
+mailboxes "+INBOX" "+INBOX/Github" "+INBOX/Linkedin" "+INBOX/Launchpad" "+INBOX/Opennic" "+INBOX/Trf" "+INBOX/Devto" "+INBOX/Kaggle" "+INBOX/Codeberg" "+INBOX/Rumble" "+INBOX/Substack" "+INBOX/Infura" "+INBOX/Skiff" "+INBOX/Spotify" "+INBOX/Bonobonet" "+INBOX/Opencol" "+INBOX/Liberapay" "+INBOX/Termibot" "+INBOX/Openai" "+INBOX/Openassist"
diff --git a/.newsboat/urls b/.newsboat/urls
index 59f2d18..1edf82b 100644
--- a/.newsboat/urls
+++ b/.newsboat/urls
@@ -18,6 +18,8 @@ https://www.eff.org/rss/updates.xml "~EFF"
"exec:gemget gemini://midnight.pub/feed.xml --output -" "~Midnight_Pub"GEMINI
"exec:torsocks --address 127.0.0.1 --port 9054 curl gopher://gopher.black:70/0/rss.xml" "~Gopher_Black"GOPHER
+https://www.namecoin.org/feed.rss "~Namecoin"Namecoin
+
https://rssgen.terminaldweller.com/?action=display&bridge=BinanceBridge&format=Atom "~Binance_Blog"Binance_Blog
https://rssgen.terminaldweller.com/?action=display&bridge=HaveIBeenPwnedBridge&order=dateAdded&item_limit=20&format=Atom "~HIBP"HIBP
https://rssgen.terminaldweller.com/?action=display&bridge=OpenwrtSecurityBridge&format=Atom "~OpenWRT_Sec_Ad"OpenWRT_Sec_Ad
diff --git a/.secrets.baseline b/.secrets.baseline
index 04e6446..5086f86 100644
--- a/.secrets.baseline
+++ b/.secrets.baseline
@@ -270,7 +270,7 @@
"filename": "irssi/config",
"hashed_secret": "825e522c6f25f4d5e79c97adb96bf4d84f8606c2",
"is_verified": false,
- "line_number": 660
+ "line_number": 724
}
],
"kubernetes/mongodb/add-user.yaml": [
@@ -365,5 +365,5 @@
}
]
},
- "generated_at": "2023-04-10T07:42:47Z"
+ "generated_at": "2023-05-04T19:24:38Z"
}
diff --git a/.tmux.conf b/.tmux.conf
index 2afa58a..9df0764 100644
--- a/.tmux.conf
+++ b/.tmux.conf
@@ -184,16 +184,18 @@ set-option -g status-right-length 170
continuumStatus="#[fg=colour16 bg=colour70 bold]#(xkb-switch -p)#[nobold]#{?#{pane_ssh_connected},#[fg=colour70 bg=colour31],#[fg=colour70 bg=colour24]}"
sshStatus="#{?#{pane_ssh_connected},#[fg=colour15 bold],#[fg=colour15 nobold]}#U@#H#{?#{pane_ssh_connected},:#{pane_ssh_port}#[fg=colour31 bg=colour26],#[fg=colour24 bg=colour26]}"
set-option -g status-left "#{prefix_highlight}$wg_is_keys_off$continuumStatus$sshStatus#[nobold]#(/home/devi/scripts/tmux/vcs_info.sh)"
-set-option -g status-right "#(/home/devi/scripts/tmux/date.sh)#{online_status}"
+# set-option -g status-right "#(/home/devi/scripts/tmux/date.sh)#{online_status}"
+set-option -g status-right "#(/home/devi/scripts/tmux/date.sh)"
# set-option -g status-left ">>>"
# set-option -g status-right "<<<"
-current_window_format="#{?window_zoomed_flag,#[fg=colour63#, bg=colour16]#[fg=colour63#, bg=colour16#, bold] Z #W #[fg=colour63#, bg=colour16],#[fg=colour255#, bg=colour16] #I #W #[fg=colour255#, bg=colour16]}"
+current_window_format="#{?window_zoomed_flag,#[fg=colour63#, bg=colour16]#[fg=colour63#, bg=colour16#, bold]Z #W #[fg=colour63#, bg=colour16],#[fg=colour22#, bg=colour16, bold]#W #[fg=colour22#, bg=colour16, bold]}"
set-window-option -g window-status-current-format $current_window_format
# set-window-option -g window-status-current-format "#[fg=colour255, bg=colour16]#[fg=colour255, bg=colour16] #I #W #[fg=colour255, bg=colour16]"
set -g status-bg colour16
-set-window-option -g window-status-format "#[fg=colour32 bg=colour16]#[fg=colour255 bg=colour32]#I#[fg=colour32 bg=colour16]"
+# set-window-option -g window-status-format "#[fg=colour32 bg=colour16]#[fg=colour255 bg=colour32]#I#[fg=colour32 bg=colour16]"
+set-window-option -g window-status-format "#[fg=colour32 bg=colour0]#I "
set-window-option -g window-status-separator ""
#run command on idle
diff --git a/.tridactylrc b/.tridactylrc
index 601c8e4..b21419a 100644
--- a/.tridactylrc
+++ b/.tridactylrc
@@ -1,8 +1,10 @@
sanitize tridactyllocal tridactylsync
guiset_quiet hoverlink right
" autocmd DocStart mail.google.com mode ignore
-colourscheme dark
-completionfuzziness 1
+set theme dark
+set completionfuzziness 1
+set keyboardlayoutforce true
+set allowautofocus false
" bind tp tabmove -1
" bind tn tabmove +1
@@ -14,3 +16,8 @@ seturl localhost:8889 superignore true
blacklistadd mail.google.com/mail
blacklistadd mail.terminaldweller.com
blacklistadd mail.terminaldweller.com
+
+command hint_focus hint -;
+bind ;C composite hint_focus; !s xdotool key Menu
+
+" vim: set filetype=tridactyl
diff --git a/.tunneltop.toml b/.tunneltop.toml
index 043bb55..df0f0dd 100644
--- a/.tunneltop.toml
+++ b/.tunneltop.toml
@@ -35,7 +35,7 @@ test_timeout = 10
auto_start = false
[tunnel.socks5_3]
-address = "127.0.0.1"
+address = "0.0.0.0"
port = 9995
command = "autossh -M 0 -N -D 0.0.0.0:9995 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o VerifyHostKeyDNS=no -o ServerAliveInterval=180 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -l root -p 2022 185.112.147.110"
test_command = 'curl -s -o /dev/null -s -w "%{http_code}" -k -I -4 --socks5 socks5h://127.0.0.1:9995 https://icanhazallips.terminaldweller.com:9380'
@@ -45,7 +45,7 @@ test_timeout = 10
auto_start = true
[tunnel.socks5_5]
-address = "127.0.0.1"
+address = "0.0.0.0"
port = 9990
command = "autossh -M 0 -N -D 0.0.0.0:9990 -o ServerAliveInterval=180 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -l ubuntu -p 3333 185.130.45.46"
test_command = 'curl -s -o /dev/null -s -w "%{http_code}" -k -I -4 --socks5 socks5h://127.0.0.1:9990 https://icanhazallips.terminaldweller.com:9380'
@@ -55,7 +55,7 @@ test_timeout = 10
auto_start = true
[tunnel.socks5_8]
-address = "127.0.0.1"
+address = "0.0.0.0"
port = 9989
command = "autossh -M 0 -N -D 0.0.0.0:9989 -o ServerAliveInterval=180 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -l ubuntu -p 3333 185.130.47.208"
test_command = 'curl -s -o /dev/null -s -w "%{http_code}" -k -I -4 --socks5 socks5h://127.0.0.1:9989 https://icanhazallips.terminaldweller.com:9380'
@@ -64,8 +64,18 @@ test_interval = 300
test_timeout = 10
auto_start = true
+[tunnel.socks5_j]
+address = "0.0.0.0"
+port = 9969
+command = "autossh -M 0 -N -D 0.0.0.0:9969 -o ServerAliveInterval=180 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -l ubuntu -p 3333 185.130.46.113"
+test_command = 'curl -s -o /dev/null -s -w "%{http_code}" -k -I -4 --socks5 socks5h://127.0.0.1:9969 https://icanhazallips.terminaldweller.com:9380'
+test_command_result = "200"
+test_interval = 300
+test_timeout = 10
+auto_start = true
+
[tunnel.i2pmapped6http]
-address = "127.0.0.1"
+address = "0.0.0.0"
port = 9064
command = "autossh -M 0 -N -L 0.0.0.0:9064:127.0.0.1:4444 -o ServerAliveInterval=180 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -l ubuntu -p 3333 185.130.45.46"
test_command = 'curl -s -o /dev/null -s -w "%{http_code}" -I -4 --proxy http://127.0.0.1:9064 http://iedzwh5v2vouywqy4eak3eu33amfn3rzhdcln7j4r5kcyvf46cea.b32.i2p:7774/'
@@ -75,7 +85,7 @@ test_timeout = 30
auto_start = true
[tunnel.i2pmapped6server]
-address = "127.0.0.1"
+address = "0.0.0.0"
port = 9066
command = "autossh -M 0 -N -L 0.0.0.0:9066:127.0.0.1:7070 -o ServerAliveInterval=180 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -l ubuntu -p 3333 185.130.45.46"
test_command = 'curl -s -o /dev/null -s -w "%{http_code}" -I -4 localhost:9066'
@@ -85,7 +95,7 @@ test_timeout = 30
auto_start = true
[tunnel.i2pmapped6socks]
-address = "127.0.0.1"
+address = "0.0.0.0"
port = 9067
command = "autossh -M 0 -N -L 0.0.0.0:9067:127.0.0.1:4447 -o ServerAliveInterval=180 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -l ubuntu -p 3333 185.130.45.46"
test_command = 'curl -s -o /dev/null -s -w "%{http_code}" -I -4 --socks5 socks5h://127.0.0.1:9067 http://iedzwh5v2vouywqy4eak3eu33amfn3rzhdcln7j4r5kcyvf46cea.b32.i2p:7774/'
@@ -95,7 +105,7 @@ test_timeout = 30
auto_start = true
[tunnel.i2pmapped6irssilitia]
-address = "127.0.0.1"
+address = "0.0.0.0"
port = 9068
command = "autossh -M 0 -N -L 0.0.0.0:9068:127.0.0.1:6668 -o ServerAliveInterval=180 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -l ubuntu -p 3333 185.130.45.46"
test_command = ""
@@ -105,7 +115,7 @@ test_timeout = 30
auto_start = true
[tunnel.i2pmapped6irssipostman]
-address = "127.0.0.1"
+address = "0.0.0.0"
port = 9069
command = "autossh -M 0 -N -L 0.0.0.0:9069:127.0.0.1:6669 -o ServerAliveInterval=180 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -l ubuntu -p 3333 185.130.45.46"
test_command = ""
@@ -115,7 +125,7 @@ test_timeout = 30
auto_start = true
[tunnel.i2pmapped8http]
-address = "127.0.0.1"
+address = "0.0.0.0"
port = 9164
command = "autossh -M 0 -N -L 0.0.0.0:9164:127.0.0.1:4444 -o ServerAliveInterval=180 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -l ubuntu -p 3333 185.130.47.208"
test_command = 'curl -s -o /dev/null -s -w "%{http_code}" -I -4 --proxy http://127.0.0.1:9164 http://iedzwh5v2vouywqy4eak3eu33amfn3rzhdcln7j4r5kcyvf46cea.b32.i2p:7774/'
@@ -125,7 +135,7 @@ test_timeout = 30
auto_start = true
[tunnel.i2pmapped8server]
-address = "127.0.0.1"
+address = "0.0.0.0"
port = 9166
command = "autossh -M 0 -N -L 0.0.0.0:9166:127.0.0.1:7070 -o ServerAliveInterval=180 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -l ubuntu -p 3333 185.130.47.208"
test_command = 'curl -s -o /dev/null -s -w "%{http_code}" -I -4 localhost:9166'
@@ -135,7 +145,7 @@ test_timeout = 30
auto_start = true
[tunnel.i2pmapped8socks]
-address = "127.0.0.1"
+address = "0.0.0.0"
port = 9167
command = "autossh -M 0 -N -L 0.0.0.0:9167:127.0.0.1:4447 -o ServerAliveInterval=180 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -l ubuntu -p 3333 185.130.47.208"
test_command = 'curl -s -o /dev/null -s -w "%{http_code}" -I -4 --socks5 socks5h://127.0.0.1:9167 http://iedzwh5v2vouywqy4eak3eu33amfn3rzhdcln7j4r5kcyvf46cea.b32.i2p:7774/'
@@ -145,7 +155,7 @@ test_timeout = 30
auto_start = true
[tunnel.i2pmappedvhttp]
-address = "127.0.0.1"
+address = "0.0.0.0"
port = 9264
command = "autossh -M 0 -N -L 0.0.0.0:9264:127.0.0.1:4444 -o ServerAliveInterval=180 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -l ubuntu -p 3333 185.244.29.79"
test_command = 'curl -s -o /dev/null -s -w "%{http_code}" -I -4 --proxy http://127.0.0.1:9264 http://iedzwh5v2vouywqy4eak3eu33amfn3rzhdcln7j4r5kcyvf46cea.b32.i2p:7774/'
@@ -155,7 +165,7 @@ test_timeout = 30
auto_start = true
[tunnel.i2pmappedvserver]
-address = "127.0.0.1"
+address = "0.0.0.0"
port = 9266
command = "autossh -M 0 -N -L 0.0.0.0:9266:127.0.0.1:7070 -o ServerAliveInterval=180 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -l ubuntu -p 3333 185.244.29.79"
test_command = 'curl -s -o /dev/null -s -w "%{http_code}" -I -4 localhost:9266'
@@ -165,7 +175,7 @@ test_timeout = 30
auto_start = true
[tunnel.i2pmappedvsocks]
-address = "127.0.0.1"
+address = "0.0.0.0"
port = 9267
command = "autossh -M 0 -N -L 0.0.0.0:9267:127.0.0.1:4447 -o ServerAliveInterval=180 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -l ubuntu -p 3333 185.244.29.79"
test_command = 'curl -s -o /dev/null -s -w "%{http_code}" -I -4 --socks5 socks5h://127.0.0.1:9267 http://iedzwh5v2vouywqy4eak3eu33amfn3rzhdcln7j4r5kcyvf46cea.b32.i2p:7774/'
@@ -174,6 +184,16 @@ test_interval = 300
test_timeout = 30
auto_start = true
+[tunnel.i2pmappedjserver]
+address = "0.0.0.0"
+port = 9366
+command = "autossh -M 0 -N -L 0.0.0.0:9366:127.0.0.1:7070 -o ServerAliveInterval=180 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -l ubuntu -p 3333 185.130.46.113"
+test_command = 'curl -s -o /dev/null -s -w "%{http_code}" -I -4 localhost:9366'
+test_command_result = "200"
+test_interval = 300
+test_timeout = 30
+auto_start = true
+
[tunnel.tormapped6]
address = "127.0.0.1"
port = 9053
@@ -185,7 +205,7 @@ test_timeout = 20
auto_start = true
[tunnel.tormapped6control]
-address = "127.0.0.1"
+address = "0.0.0.0"
port = 8053
command = "autossh -M 0 -N -L 0.0.0.0:8053:127.0.0.1:9051 -o ServerAliveInterval=180 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -l ubuntu -p 3333 185.130.45.46"
test_command = ''
@@ -195,7 +215,7 @@ test_timeout = 20
auto_start = false
[tunnel.tormapped8]
-address = "127.0.0.1"
+address = "0.0.0.0"
port = 9054
command = "autossh -M 0 -N -L 0.0.0.0:9054:127.0.0.1:9050 -o ServerAliveInterval=180 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -l ubuntu -p 3333 185.130.47.208"
test_command = 'curl -s -o /dev/null -s -w "%{http_code}" -k -I -4 --socks5 socks5h://127.0.0.1:9054 https://icanhazallips.terminaldweller.com:9380'
@@ -205,7 +225,7 @@ test_timeout = 20
auto_start = true
[tunnel.tormapped8control]
-address = "127.0.0.1"
+address = "0.0.0.0"
port = 8054
command = "autossh -M 0 -N -L 0.0.0.0:8054:127.0.0.1:9051 -o ServerAliveInterval=180 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -l ubuntu -p 3333 185.130.47.208"
test_command = ''
@@ -215,7 +235,7 @@ test_timeout = 20
auto_start = false
[tunnel.tormappedv]
-address = "127.0.0.1"
+address = "0.0.0.0"
port = 9055
command = "autossh -M 0 -N -L 0.0.0.0:9055:127.0.0.1:9050 -o ServerAliveInterval=180 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -l ubuntu -p 3333 185.244.29.79"
test_command = 'curl -s -o /dev/null -s -w "%{http_code}" -k -I -4 --socks5 socks5h://127.0.0.1:9055 https://icanhazallips.terminaldweller.com:9380'
@@ -224,8 +244,18 @@ test_interval = 300
test_timeout = 20
auto_start = true
+[tunnel.tormappedj]
+address = "0.0.0.0"
+port = 9056
+command = "autossh -M 0 -N -L 0.0.0.0:9056:127.0.0.1:9050 -o ServerAliveInterval=180 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -l ubuntu -p 3333 185.130.46.113"
+test_command = 'curl -s -o /dev/null -s -w "%{http_code}" -k -I -4 --socks5 socks5h://127.0.0.1:9056 https://icanhazallips.terminaldweller.com:9380'
+test_command_result = "200"
+test_interval = 300
+test_timeout = 20
+auto_start = true
+
[tunnel.haproxy_prom_mapped]
-address = "127.0.0.1"
+address = "0.0.0.0"
port = 9099
command = "autossh -M 0 -N -L 0.0.0.0:9099:127.0.0.1:9099 -o ServerAliveInterval=180 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -l ubuntu -p 1022 87.236.209.206"
test_command = "curl -s localhost:9099"
@@ -235,7 +265,7 @@ test_timeout = 10
auto_start = true
[tunnel.slackircd]
-address = "127.0.0.1"
+address = "0.0.0.0"
port = 7997
command = "autossh -M 0 -N -L 0.0.0.0:7997:127.0.0.1:6697 -o ServerAliveInterval=180 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -l rooot -p 1022 192.99.102.52"
test_command = ""
@@ -245,7 +275,7 @@ test_timeout = 10
auto_start = false
[tunnel.ircgitter]
-address = "127.0.0.1"
+address = "0.0.0.0"
port = 5667
command = "autossh -M 0 -N -L 0.0.0.0:5667:127.0.0.1:5667 -o ServerAliveInterval=180 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -l ubuntu -p 3333 185.130.47.208"
test_command = ""
@@ -255,7 +285,7 @@ test_timeout = 10
auto_start = false
[tunnel.upnp_2234]
-address = "127.0.0.1"
+address = "0.0.0.0"
port = 2234
command = "autossh -M 0 -N -R 0.0.0.0:2234:185.112.147.110:2234 -o ServerAliveInterval=180 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -l root -p 2022 185.112.147.110"
test_command = ""
@@ -314,8 +344,18 @@ test_interval = 300
test_timeout = 10
auto_start = true
+[tunnel.6socks5_j]
+address = "::1"
+port = 8967
+command = "autossh -M 0 -N -D 8967 -o ServerAliveInterval=180 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -l ubuntu -p 3333 2a07:e01:3:2eb::1"
+test_command = 'curl -s -o /dev/null -s -w "%{http_code}" -k -I -6 --socks5 socks5h://[::1]:8967 https://icanhazallips.terminaldweller.com:9380'
+test_command_result = "200"
+test_interval = 300
+test_timeout = 10
+auto_start = true
+
[tunnel.lxc_geth]
-address = "127.0.0.1"
+address = "0.0.0.0"
port = 8545
command = "autossh -M 0 -N -L 0.0.0.0:8545:127.0.0.1:8545 -l ubuntu 10.167.131.186"
test_command = ''
@@ -323,3 +363,53 @@ test_command_result = "200"
test_interval = 300
test_timeout = 10
auto_start = false
+
+[tunnel.netdata_3]
+address = "127.0.0.1"
+port = 7003
+command = "autossh -M 0 -N -L 127.0.0.1:7003:127.0.0.1:19999 -l root -p 2022 185.112.147.110"
+test_command = 'curl -s -o /dev/null -s -w "%{http_code}" -I 127.0.0.1:7003'
+test_command_result = "400"
+test_interval = 300
+test_timeout = 10
+auto_start = true
+
+[tunnel.netdata_6]
+address = "127.0.0.1"
+port = 7006
+command = "autossh -M 0 -N -L 127.0.0.1:7006:127.0.0.1:19999 -l ubuntu -p 3333 185.130.45.46"
+test_command = 'curl -s -o /dev/null -s -w "%{http_code}" -I 127.0.0.1:7006'
+test_command_result = "400"
+test_interval = 300
+test_timeout = 10
+auto_start = true
+
+[tunnel.netdata_8]
+address = "127.0.0.1"
+port = 7008
+command = "autossh -M 0 -N -L 127.0.0.1:7008:127.0.0.1:19999 -l ubuntu -p 3333 185.130.47.208"
+test_command = 'curl -s -o /dev/null -s -w "%{http_code}" -I 127.0.0.1:7008'
+test_command_result = "400"
+test_interval = 300
+test_timeout = 10
+auto_start = true
+
+[tunnel.netdata_10]
+address = "127.0.0.1"
+port = 7010
+command = "autossh -M 0 -N -L 127.0.0.1:7010:127.0.0.1:19999 -l root -p 3333 89.147.110.30"
+test_command = 'curl -s -o /dev/null -s -w "%{http_code}" -I 127.0.0.1:7010'
+test_command_result = "400"
+test_interval = 300
+test_timeout = 10
+auto_start = true
+
+[tunnel.netdata_j]
+address = "127.0.0.1"
+port = 7011
+command = "autossh -M 0 -N -L 127.0.0.1:7011:127.0.0.1:19999 -l ubuntu -p 3333 185.130.46.113"
+test_command = 'curl -s -o /dev/null -s -w "%{http_code}" -I 127.0.0.1:7011'
+test_command_result = "400"
+test_interval = 300
+test_timeout = 10
+auto_start = true
diff --git a/.vimrc b/.vimrc
index 7934f3c..1a84a08 100644
--- a/.vimrc
+++ b/.vimrc
@@ -1291,6 +1291,11 @@ augroup YCMDocJava
\ 'syntax': 'java'
\ }
augroup END
+" add : as a keyword only for lua files
+augroup filetype_lua
+ autocmd!
+ autocmd FileType lua setlocal iskeyword+=:
+augroup END
let g:ycm_language_server = [
\ {'name': 'vim',
diff --git a/.w3m/keymap b/.w3m/keymap
index 786d03f..343f38f 100644
--- a/.w3m/keymap
+++ b/.w3m/keymap
@@ -107,7 +107,7 @@ keymap ESC-z INTERRUPT
keymap C CHARSET
keymap :q EXIT
-keymap Q COMMAND "EXTERN 'echo %s > ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s > ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s > ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s > ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s > ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s > ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s > ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s > ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s > ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s > ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s > ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s > ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s > ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s > ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s > ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s > ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s > ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s > ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s > ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s > ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s > ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; READ_SHELL ~/.w3m/cgi-bin/restore_session.cgi ; EXIT"
+keymap Q COMMAND "EXTERN 'echo %s > ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ;EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; READ_SHELL ~/.w3m/cgi-bin/restore_session.cgi ; EXIT"
# external stuff
keymap SPC-r COMMAND "SHELL 'readable $W3M_URL -p html-title,html-content > /tmp/readable.html'; LOAD /tmp/readable.html"
diff --git a/.zshrc b/.zshrc
index b3d5c23..014260d 100644
--- a/.zshrc
+++ b/.zshrc
@@ -115,6 +115,7 @@ alias vpn9="proxychains4 -q -f ~/proxies/ice/proxychains.conf ssh -tt -i ~/.ssh/
alias vms="proxychains4 -q -f ~/proxies/ice/proxychains.conf ssh -tt 185.126.202.69 -l ubuntu -p 1022"
alias vpnvv="proxychains4 -q -f ~/proxies/ice/proxychains.conf ssh -tt -p 3333 ubuntu@185.244.29.79"
alias vpn10="proxychains4 -q -f ~/proxies/swe/proxychains.conf ssh -tt -p 3333 root@89.147.110.30"
+alias vpnj="proxychains4 -q -f ~/proxies/ice/proxychains.conf ssh -tt -p 3333 ubuntu@185.130.46.113"
alias -g DOCKER_HOST_VPS="ssh://ubuntu@87.236.209.206:1022"
alias -g DOCKER_HOST_VPN="ssh://rooot@192.99.102.52:1022"
alias -g DOCKER_HOST_VPN2="ssh://rooot@145.239.165.137:22"
@@ -153,7 +154,7 @@ alias jupyterlab="jupyter lab --no-browser --port 9989"
alias iredisrc="vim ~/scripts/.iredisrc"
alias fixiredisrc="cp ~/scripts/.iredisrc ~/.iredisrc"
# alias irssi="TERM=screen-256color docker run --runtime=runsc -it -e TERM -u $(id -u):$(id -g) --log-driver=none -e DBUS_SESSION_BUS_ADDRESS="$DBUS_SESSION_BUS_ADDRESS" -v $HOME/.irssi:/home/user/.irssi:ro -v /etc/localtime:/etc/localtime:ro devi_irssi"
-alias irssi="TERM=screen-256color COLORTERM=truecolor docker run --runtime=runsc -it -e COLORTERM -e TERM -u $(id -u):$(id -g) --log-driver=none -v $HOME/.irssi:/home/user/.irssi:ro -v /etc/localtime:/etc/localtime:ro devi_irssi"
+alias irssi="TERM=screen-256color COLORTERM=truecolor docker run --runtime=runsc -it -e COLORTERM -e TERM -u $(id -u):$(id -g) --log-driver=none -v $HOME/.irssi-home:/home/user:ro -v /etc/localtime:/etc/localtime:ro -v $HOME/.irssi-home/.irssi/otr:/home/user/.irssi/otr devi_irssi"
alias tor_irssi="TERM=screen-256color docker run --runtime=runsc -it -e TERM -u 1001:1001 --log-driver=none -v tor_irssi_mount:/home/user/.irssi -v ~/devi/abbatoir/hole16:/home/user/.irssi/certs tor_irssi"
alias i2p_irssi="TERM=screen-256color docker run --runtime=runsc -it -e TERM -u $(id -u):$(id -g) --log-driver=none -v i2p_irssi_mount:/home/user/.irssi irssi:1.2.3"
alias openbb="TERM=screen-256color \
@@ -185,9 +186,9 @@ alias fixrainbowrc="cp ~/scripts/.rainbow_config.json ~/.rainbow_config.json"
alias irssiconfig="vim ~/scripts/irssi/config"
alias irssitheme="vim ~/scripts/irssi/solarized-powerline.theme"
alias irssistartup="vim ~/scripts/irssi/startup"
-alias fixirssiconfig="cp ~/scripts/irssi/config ~/.irssi/config"
-alias fixirssitheme="cp ~/scripts/irssi/solarized-powerline.theme ~/.irssi/solarized-powerline.theme"
-alias fixirssistartup="cp ~/scripts/irssi/startup ~/.irssi/startup"
+alias fixirssiconfig="cp ~/scripts/irssi/config ~/.irssi-home/.irssi/config"
+alias fixirssitheme="cp ~/scripts/irssi/solarized-powerline.theme ~/.irssi-home/.irssi/solarized-powerline.theme"
+alias fixirssistartup="cp ~/scripts/irssi/startup ~/.irssi-home/.irssi/startup"
alias w3mlastsession="~/.w3m/bin/w3mlastsession"
alias lsdrc="vim ~/scripts/.config/lsd/config.yaml"
alias fixlsdrc="cp ~/scripts/.config/lsd/config.yaml ~/.config/lsd/config.yaml"
@@ -370,6 +371,8 @@ alias gw="git worktree"
alias redshiftrc="vim ~/scripts/.config/redshift.conf"
alias fixredshiftrc="cp ~/scripts/.config/redshift.conf ~/.config/redshift.conf"
alias waydroid_ssh="ssh -p 8022 u0_a411@192.168.240.112"
+alias pn="pnpm"
+alias magni="docker run -p 8086:8086 -e HTTPS_PROXY=socks5h://192.168.1.214:9995 -e MAGNI_MODEL_PATH=/opt/magni_models -e MAGNI_IMAGE_PATH=/opt/magni_images -v /tmp/models:/opts/magni_models magni:latest"
gwta() {
git worktree add ./"$1" $(git rev-parse "$1")
@@ -492,7 +495,7 @@ export MYSQL_PS1="\U@\N:\p [\d] - \R:\m:\s - \v\n>>>"
# TZ=Asia/Tehran
# export TZ
-# export GPG_TTY=$(tty)
+export GPG_TTY=$(tty)
export PS_FORMAT=pid,start,etime,%cpu,%mem,lxc,cgroup,tty,wchan,exe,cmd
@@ -801,6 +804,10 @@ dff() {
grc df --output -h
}
+stone_backup() {
+ proxychains4 -q -f ~/proxies/66/proxychains.conf scp -P 3333 -i /home/devi/.ssh/id_rsa_lv2 "$@" ubuntu@[2a07:e01:3:1c4::1]:/home/ubuntu/backup
+}
+
jcurl() {
curl --socks5 socks5h://127.0.0.1:9054 -s --connect-timeout 10 "$@" | json_pp -json_opt pretty,canonical | pygmentize -l json -P style=$PYGMENTIZE_STYLE | $PAGER
}
@@ -947,12 +954,18 @@ eval "$(luarocks-5.3 path)"
source /usr/share/fzf/completion.zsh
source /usr/share/fzf/key-bindings.zsh
+export PYENV_ROOT="$HOME/.pyenv"
+command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
+eval "$(pyenv init -)"
+eval "$(pyenv virtualenv-init -)"
+
# deno
export DENO_INSTALL="/home/devi/.deno"
export PATH="$DENO_INSTALL/bin:$PATH"
export DVM_DIR="/home/devi/.dvm"
export PATH="$DVM_DIR/bin:$PATH"
export PATH=/home/devi/.bun/bin:$PATH
+export XBPS_DISTDIR=/home/devi/void-packages.git/master
#plan9
# PLAN9=/home/devi/devi/plan9port.git/master export PLAN9
@@ -960,3 +973,5 @@ export PATH=/home/devi/.bun/bin:$PATH
[[ -s "/home/devi/.gvm/scripts/gvm" ]] && source "/home/devi/.gvm/scripts/gvm"
# [[ -s "/usr/share/grc/grc.zsh" ]] && source /usr/share/grc/grc.zsh
+export HISTSIZE=50000
+export SAVEHIST=50000
diff --git a/bin/glyph_list.sh b/bin/glyph_list.sh
new file mode 100755
index 0000000..51a7369
--- /dev/null
+++ b/bin/glyph_list.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env sh
+
+cat ~/scripts/glyphs/glyph_list | dmenu -fn "DejaVuSansMono Nerd Font Mono-11.3;antialias=true;autohint=true" -l 20 -D ":" -p "glyphs:" | tr -d "\n" | xsel -ib
diff --git a/bin/postit.sh b/bin/postit.sh
index 496ddd8..7447540 100755
--- a/bin/postit.sh
+++ b/bin/postit.sh
@@ -1,5 +1,5 @@
#!/usr/bin/env sh
-SQL_DB="$(cat /tmp/lclipd/lclipd_db_name)"
+SQL_DB="/dev/shm/lclipd"
content=$(sqlite3 "${SQL_DB}" "select replace(content,char(10),' '),id from lclipd;" | dmenu -fn "DejaVuSansMono Nerd Font Mono-11.3;antialias=true;autohint=true" -D "|" -l 20 -p "lclipd:")
sqlite3 "${SQL_DB}" "select content from lclipd where id = ${content}" | xsel -ib
diff --git a/devi.zsh-theme b/devi.zsh-theme
index 72c1508..55daa1d 100644
--- a/devi.zsh-theme
+++ b/devi.zsh-theme
@@ -295,7 +295,12 @@ meson_env() {
fi
}
-PS1=$'$(dir_writeable)$(tsocks_on)$(sudo_query)%{$reset_color%} %{$yablue%}%n@%M:$(getterminal)%{$reset_color%} %{$yagreen%}$(pwd_shortened)%{$reset_color%} %{$muckgreen%}$(time_function)%{$reset_color%}$vcs_info_msg_0_%{$limblue%}%{$gnew%}$(gitadditions)%{$gnew2%}$(gitdeletions)%{$reset_color%}%{$deeppink%}$(virtualenv_info)%{$reset_color%}%{$greeniegreen%}$(meson_env)%{$reset_color%}%{$teal%}$(node_version)%{$reset_color%}%{$gover%}$(goversion)%{$reset_color%}%{$rust%}$(rustversion)%{$reset_color%}%{$babyblue%}$(ruby_version)%{$reset_color%}%{$sneakyc%}$(sneaky)%{$reset_color%}%{$new%}$rbq_info_msg%{$reset_color%} $(getkubernetesinfo)%{$reset_color%}'
+pyenv_version() {
+ local version=$(pyenv version | awk '{print $1}')
+ echo " <${version}>"
+}
+
+PS1=$'$(dir_writeable)$(tsocks_on)$(sudo_query)%{$reset_color%} %{$yablue%}%n@%M:$(getterminal)%{$reset_color%} %{$yagreen%}$(pwd_shortened)%{$reset_color%} %{$muckgreen%}$(time_function)%{$reset_color%}$vcs_info_msg_0_%{$limblue%}%{$gnew%}$(gitadditions)%{$gnew2%}$(gitdeletions)%{$reset_color%}%{$deeppink%}$(virtualenv_info)%{$reset_color%}%{$greeniegreen%}$(meson_env)%{$reset_color%}%{$yablue%}$(pyenv_version)%{$reset_color%}%{$teal%}$(node_version)%{$reset_color%}%{$gover%}$(goversion)%{$reset_color%}%{$rust%}$(rustversion)%{$reset_color%}%{$babyblue%}$(ruby_version)%{$reset_color%}%{$sneakyc%}$(sneaky)%{$reset_color%}%{$new%}$rbq_info_msg%{$reset_color%} $(getkubernetesinfo)%{$reset_color%}'
PS2=$''
PS3=$'\n%{$randomblue%}--➜%K{0}%F{15}'
get_prompt_len() {
diff --git a/docker/bitlbee-purple/docker-compose.yaml b/docker/bitlbee-purple/docker-compose.yaml
index 1c4268a..9eb83ef 100644
--- a/docker/bitlbee-purple/docker-compose.yaml
+++ b/docker/bitlbee-purple/docker-compose.yaml
@@ -1,4 +1,4 @@
-version: "3.7"
+version: "3.8"
services:
bitlbee:
image: ezkrg_bitlbee_libpurple
@@ -6,7 +6,7 @@ services:
- bitlbeenet
ports:
- "8667:6667"
- user: 1000:1000
+ # user: 1000:1000
restart: unless-stopped
user: "bitlbee:bitlbee"
command: ["/usr/sbin/bitlbee", "-F","-n","-u","bitlbee","-c","/var/lib/bitlbee/bitlbee.conf", "-d","/var/lib/bitlbee"]
@@ -23,10 +23,10 @@ services:
# - /home/devi/.cache/docker-bitlbee/signald/run:/signald
# - ./net.properties:/conf/net.properties:ro
# environment:
- # - ALL_PROXY=socks5h://192.168.1.214:9995
- # - FTP_PROXY=socks5h://192.168.1.214:9995
- # - HTTP_PROXY=socks5h://192.168.1.214:9995
- # - HTTPS_PROXY=socks5h://192.168.1.214:9995
+ # - ALL_PROXY=http://192.168.1.214:8118
+ # - FTP_PROXY=http://192.168.1.214:8118
+ # - HTTP_PROXY=http://192.168.1.214:8118
+ # - HTTPS_PROXY=http://192.168.1.214:8118
# - NOPROXY=localhost,127.0.0.0/8,172.16.0.0/12,10.0.0.0/8,192.168.0.0/16
# matterircd:
# image: 42wim/matterircd:0.26
@@ -37,9 +37,9 @@ services:
# restart: unless-stopped
# environment:
# - ALL_PROXY=socks5h://192.168.1.214:9995
- # - FTP_PROXY=socks5h://192.168.1.214:9995
- # - HTTP_PROXY=socks5h://192.168.1.214:9995
- # - HTTPS_PROXY=socks5h://192.168.1.214:9995
+ # - FTP_PROXY=http://192.168.1.214:8118
+ # - HTTP_PROXY=http://192.168.1.214:8118
+ # - HTTPS_PROXY=http://192.168.1.214:8118
# - NOPROXY=localhost,127.0.0.0/8,172.16.0.0/12,10.0.0.0/8,192.168.0.0/16
# command: ["--conf", "/matterircd.conf"]
# volumes:
@@ -47,6 +47,6 @@ services:
networks:
bitlbeenet:
signalnet:
- # matterircdnet:
+ matterircdnet:
volumes:
userdata:
diff --git a/docker/bitlbee-purple/net.properties b/docker/bitlbee-purple/net.properties
index 87f19c5..1e81803 100644
--- a/docker/bitlbee-purple/net.properties
+++ b/docker/bitlbee-purple/net.properties
@@ -15,7 +15,7 @@
# (like http.proxyHost) do take precedence over the system settings
# even if java.net.useSystemProxies is set to true.
-java.net.useSystemProxies=false
+java.net.useSystemProxies=true
#------------------------------------------------------------------------
# Proxy configuration for the various protocol handlers.
diff --git a/glyphs/glyph_list b/glyphs/glyph_list
new file mode 100644
index 0000000..5b54569
--- /dev/null
+++ b/glyphs/glyph_list
@@ -0,0 +1,48 @@
+Α - ALPHA:Α
+α - alpha:α
+Β - BETA:Β
+β - beta:β
+Γ - GAMMA:Γ
+γ - gamma:γ
+Δ - DELTA:Δ
+δ - delta:δ
+Ε - EPSILON:Ε
+ε - epsilon:ε
+Ζ - ZETA:Ζ
+ζ - zeta:ζ
+Η - ETA:Η
+η - eta:η
+Θ - THETA:Θ
+θ - theta:θ
+Ι - IOTA:Ι
+ι - iota:ι
+Κ - KAPPA:Κ
+κ - kappa:κ
+Λ - LAMBDA:Λ
+λ - lambda:λ
+Μ - MU:Μ
+μ - mu:μ
+Ν - NU:Ν
+ν - nu:ν
+Ξ - XI:Ξ
+ξ - xi:ξ
+Ο - OMICRON:Ο
+ο - omicron:ο
+Π - PI:Π
+π - pi:π
+Ρ - RHO:Ρ
+ρ - rho:ρ
+Σ - SIGMA:Σ
+σ - sigma:σ
+Τ - TAU:Τ
+τ - tau:τ
+Υ - UPSILON:Υ
+υ - upsilon:υ
+Φ - PHI:Φ
+φ - phi:φ
+Χ - CHI:Χ
+χ - chi:χ
+Ψ - PSI:Ψ
+ψ - psi:ψ
+Ω - OMEGA:Ω
+ω - omega:ω
diff --git a/identicon/gen_blockie.py b/identicon/gen_blockie.py
new file mode 100755
index 0000000..60d56e0
--- /dev/null
+++ b/identicon/gen_blockie.py
@@ -0,0 +1,90 @@
+#!/usr/bin/env python
+
+import argparse
+import blockies
+
+
+class Argparser: # pylint: disable=too-few-public-methods
+ """Argparser class."""
+
+ def __init__(self):
+ self.parser = argparse.ArgumentParser()
+ self.parser.add_argument(
+ "--seed",
+ "-s",
+ type=str,
+ help="seed phrase",
+ default="",
+ )
+ self.parser.add_argument(
+ "--out",
+ "-o",
+ type=str,
+ help="output path",
+ default="./identicon.png",
+ )
+ self.parser.add_argument(
+ "--fgcolor",
+ "-f",
+ type=str,
+ help="foreground color",
+ default=None,
+ )
+ self.parser.add_argument(
+ "--bgcolor",
+ "-b",
+ type=str,
+ help="background color",
+ default=None,
+ )
+ self.parser.add_argument(
+ "--spotcolor",
+ "-p",
+ type=str,
+ help="spot color",
+ default=None,
+ )
+ self.parser.add_argument(
+ "--size",
+ "-z",
+ type=int,
+ help="size of image, in blocks",
+ default=10,
+ )
+ self.parser.add_argument(
+ "--scale",
+ "-c",
+ type=int,
+ help='size of individual "pixels"',
+ default=100,
+ )
+ self.args = self.parser.parse_args()
+
+
+def main() -> None:
+ argparser = Argparser()
+ if argparser.args.seed == "":
+ with open(
+ "../terminaldweller.com/main/srv/.well-known/openpgpkey/hu/gpg_pubkey.asc",
+ mode="rb",
+ ) as gpg_pubkey:
+ key_content = gpg_pubkey.read()
+
+ data = blockies.create(str(key_content), size=10, scale=100)
+ with open("identicon.png", "wb") as png:
+ png.write(data)
+ else:
+ data = blockies.create(
+ argparser.args.seed,
+ size=argparser.args.size,
+ scale=argparser.args.scale,
+ color=argparser.args.fgcolor,
+ bgcolor=argparser.args.bgcolor,
+ spotcolor=argparser.args.spotcolor,
+ )
+ with open(argparser.args.out, "wb") as png:
+ png.write(data)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/identicon/identicon.png b/identicon/identicon.png
new file mode 100644
index 0000000..8153c08
--- /dev/null
+++ b/identicon/identicon.png
Binary files differ
diff --git a/identicon/poetry.lock b/identicon/poetry.lock
new file mode 100644
index 0000000..932faf6
--- /dev/null
+++ b/identicon/poetry.lock
@@ -0,0 +1,53 @@
+[[package]]
+name = "blockies"
+version = "0.0.3"
+description = "A tiny library for generating blocky identicons."
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+Pillow = "7.0.0"
+
+[[package]]
+name = "pillow"
+version = "7.0.0"
+description = "Python Imaging Library (Fork)"
+category = "main"
+optional = false
+python-versions = ">=3.5"
+
+[metadata]
+lock-version = "1.1"
+python-versions = "^3.11"
+content-hash = "150e0247d42420ad12fb4e620fd53d5562e019cb9f162df89ea05ce1ec2185c0"
+
+[metadata.files]
+blockies = [
+ {file = "blockies-0.0.3-py3-none-any.whl", hash = "sha256:dfd211715ddef4bfc99f16ecfa55ca783494cd6a640986e1dc05b24b800d976d"},
+ {file = "blockies-0.0.3.tar.gz", hash = "sha256:eb69415cd011e6b22635e3308c3bea16a6372af58d9c3c3aaa872751623a4fee"},
+]
+pillow = [
+ {file = "Pillow-7.0.0-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:5f3546ceb08089cedb9e8ff7e3f6a7042bb5b37c2a95d392fb027c3e53a2da00"},
+ {file = "Pillow-7.0.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:9d2ba4ed13af381233e2d810ff3bab84ef9f18430a9b336ab69eaf3cd24299ff"},
+ {file = "Pillow-7.0.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:ff3797f2f16bf9d17d53257612da84dd0758db33935777149b3334c01ff68865"},
+ {file = "Pillow-7.0.0-cp35-cp35m-win32.whl", hash = "sha256:c18f70dc27cc5d236f10e7834236aff60aadc71346a5bc1f4f83a4b3abee6386"},
+ {file = "Pillow-7.0.0-cp35-cp35m-win_amd64.whl", hash = "sha256:875358310ed7abd5320f21dd97351d62de4929b0426cdb1eaa904b64ac36b435"},
+ {file = "Pillow-7.0.0-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:ab76e5580b0ed647a8d8d2d2daee170e8e9f8aad225ede314f684e297e3643c2"},
+ {file = "Pillow-7.0.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:a62ec5e13e227399be73303ff301f2865bf68657d15ea50b038d25fc41097317"},
+ {file = "Pillow-7.0.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:8ac6ce7ff3892e5deaab7abaec763538ffd011f74dc1801d93d3c5fc541feee2"},
+ {file = "Pillow-7.0.0-cp36-cp36m-win32.whl", hash = "sha256:91b710e3353aea6fc758cdb7136d9bbdcb26b53cefe43e2cba953ac3ee1d3313"},
+ {file = "Pillow-7.0.0-cp36-cp36m-win_amd64.whl", hash = "sha256:bf598d2e37cf8edb1a2f26ed3fb255191f5232badea4003c16301cb94ac5bdd0"},
+ {file = "Pillow-7.0.0-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:5bfef0b1cdde9f33881c913af14e43db69815c7e8df429ceda4c70a5e529210f"},
+ {file = "Pillow-7.0.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:dc058b7833184970d1248135b8b0ab702e6daa833be14035179f2acb78ff5636"},
+ {file = "Pillow-7.0.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:c5ed816632204a2fc9486d784d8e0d0ae754347aba99c811458d69fcdfd2a2f9"},
+ {file = "Pillow-7.0.0-cp37-cp37m-win32.whl", hash = "sha256:54ebae163e8412aff0b9df1e88adab65788f5f5b58e625dc5c7f51eaf14a6837"},
+ {file = "Pillow-7.0.0-cp37-cp37m-win_amd64.whl", hash = "sha256:87269cc6ce1e3dee11f23fa515e4249ae678dbbe2704598a51cee76c52e19cda"},
+ {file = "Pillow-7.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0a628977ac2e01ca96aaae247ec2bd38e729631ddf2221b4b715446fd45505be"},
+ {file = "Pillow-7.0.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:62a889aeb0a79e50ecf5af272e9e3c164148f4bd9636cc6bcfa182a52c8b0533"},
+ {file = "Pillow-7.0.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:bf4003aa538af3f4205c5fac56eacaa67a6dd81e454ffd9e9f055fff9f1bc614"},
+ {file = "Pillow-7.0.0-cp38-cp38-win32.whl", hash = "sha256:7406f5a9b2fd966e79e6abdaf700585a4522e98d6559ce37fc52e5c955fade0a"},
+ {file = "Pillow-7.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:5f7ae9126d16194f114435ebb79cc536b5682002a4fa57fa7bb2cbcde65f2f4d"},
+ {file = "Pillow-7.0.0-pp373-pypy36_pp73-win32.whl", hash = "sha256:8453f914f4e5a3d828281a6628cf517832abfa13ff50679a4848926dac7c0358"},
+ {file = "Pillow-7.0.0.tar.gz", hash = "sha256:4d9ed9a64095e031435af120d3c910148067087541131e82b3e8db302f4c8946"},
+]
diff --git a/identicon/pyproject.toml b/identicon/pyproject.toml
new file mode 100644
index 0000000..18e3424
--- /dev/null
+++ b/identicon/pyproject.toml
@@ -0,0 +1,16 @@
+[tool.poetry]
+name = "identicon"
+version = "0.1.0"
+description = "blockie identicon generator"
+authors = ["terminaldweller <devi@terminaldweller.com>"]
+license = "GPL3"
+readme = "README.md"
+
+[tool.poetry.dependencies]
+python = "^3.11"
+blockies = "^0.0.3"
+
+
+[build-system]
+requires = ["poetry-core"]
+build-backend = "poetry.core.masonry.api"
diff --git a/irssi/Dockerfile b/irssi/Dockerfile
index 2a630f4..20caa13 100644
--- a/irssi/Dockerfile
+++ b/irssi/Dockerfile
@@ -21,8 +21,6 @@ RUN set -eux; \
ENV LANG C.UTF-8
-ENV IRSSI_VERSION 1.4.3
-
RUN set -eux; \
\
apk add --no-cache --virtual .build-deps \
@@ -48,9 +46,12 @@ RUN set -eux; \
tar \
libotr-dev \
libgcrypt-dev \
- ; \
- \
- wget "https://github.com/irssi/irssi/releases/download/${IRSSI_VERSION}/irssi-${IRSSI_VERSION}.tar.xz" -O /tmp/irssi.tar.xz; \
+ ;
+
+ENV IRSSI_VERSION 1.4.4
+RUN apk add patch
+COPY ./otr_powerline.diff /
+RUN wget "https://github.com/irssi/irssi/releases/download/${IRSSI_VERSION}/irssi-${IRSSI_VERSION}.tar.xz" -O /tmp/irssi.tar.xz; \
wget "https://github.com/irssi/irssi/releases/download/${IRSSI_VERSION}/irssi-${IRSSI_VERSION}.tar.xz.asc" -O /tmp/irssi.tar.xz.asc; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg: key DDBEF0E1: public key "The Irssi project <staff@irssi.org>" imported
@@ -64,6 +65,7 @@ RUN set -eux; \
rm /tmp/irssi.tar.xz; \
\
cd /usr/src/irssi; \
+ patch ./src/otr/otr-formats.c < /otr_powerline.diff; \
meson \
-Denable-true-color=yes \
-Dwith-bot=yes \
@@ -75,16 +77,16 @@ RUN set -eux; \
ninja -C Build -j "$(nproc)"; \
ninja -C Build install;
ENV HTTPS_PROXY=socks5://192.168.1.214:9995
-RUN apk add git glib python3-dev && \
- cd /home/user && \
- git clone https://github.com/irssi-import/irssi-python && \
- cd /home/user/irssi-python && \
- autoreconf -ivf -I. && \
- ./configure --with-irssi=/usr/src/irssi && \
- make -C src constants && \
- make && \
- mkdir /home/user/.irssi/modules && \
- cp src/.libs/libpython.so ~/.irssi/modules
+# RUN apk add git glib python3-dev && \
+# cd /home/user && \
+# git clone https://github.com/irssi-import/irssi-python && \
+# cd /home/user/irssi-python && \
+# autoreconf -ivf -I. && \
+# ./configure --with-irssi=/usr/src/irssi && \
+# make -C src constants && \
+# make && \
+# mkdir /home/user/.irssi/modules && \
+# cp src/.libs/libpython.so ~/.irssi/modules
ENV HTTPS_PROXY=
RUN cd /; \
rm -rf /usr/src/irssi; \
@@ -97,7 +99,7 @@ RUN cd /; \
)"; \
apk add --virtual .irssi-rundeps $runDeps; \
echo https://dl-cdn.alpinelinux.org/alpine/edge/testing >> /etc/apk/repositories && apk update; \
- apk add --no-cache perl-glib perl-datetime perl-dbi perl-dbd-pg perl-lwp-protocol-https proxychains-ng perl-glib-object-introspection perl-mojolicious libnotify; \
+ apk add --no-cache perl-regexp-common-net-cidr perl-regexp-common perl-xml-rss perl-glib perl-datetime perl-dbi perl-dbd-pg perl-lwp-protocol-https proxychains-ng perl-glib-object-introspection perl-mojolicious libnotify; \
# apk add dbus; \
# dbus-uuidgen > /var/lib/dbus/machine-id; \
# mkdir -p /var/run/dbus; \
@@ -110,7 +112,7 @@ RUN cd /; \
COPY ./proxychains.conf /etc/proxychains/
WORKDIR $HOME
-RUN cp /home/user/.irssi/modules/libpython.so /usr/local/lib/irssi/modules/libpython_core.so
+# RUN cp /home/user/.irssi/modules/libpython.so /usr/local/lib/irssi/modules/libpython_core.so
USER user
CMD ["proxychains4", "-q", "irssi"]
diff --git a/irssi/config b/irssi/config
index a05f05b..ed72682 100644
--- a/irssi/config
+++ b/irssi/config
@@ -8,15 +8,15 @@ servers = (
port = "6667";
autoconnect = "yes";
},
- {
- address = "kfswfco7mfb38dj7hsm4b8gs13ppjnog886y8zcgzno4jt16cepy.loki";
- chatnet = "BonoboNET_LOKI";
- port = "6697";
- tls_cert = "~/.irssi/certs/nick.pem";
- use_tls = "yes";
- tls_verify = "no";
- autoconnect = "yes";
- },
+ # {
+ # address = "rany.irc.bnet.eu.org";
+ # chatnet = "BonoboNET_LOKI";
+ # port = "6697";
+ # tls_cert = "~/.irssi/certs/nick.pem";
+ # use_tls = "yes";
+ # tls_verify = "no";
+ # autoconnect = "yes";
+ # },
# {
# address = "irc.oftc.net";
# chatnet = "OFTC";
@@ -38,12 +38,12 @@ servers = (
chatnet = "bitlbee_local";
autoconnect = "yes";
},
- {
- address = "192.168.1.214";
- port = "8668";
- chatnet = "matterircd";
- autoconnect = "no";
- },
+ # {
+ # address = "192.168.1.214";
+ # port = "8668";
+ # chatnet = "matterircd";
+ # autoconnect = "no";
+ # },
# {
# address = "192.168.1.214";
# port = "8667";
@@ -89,9 +89,20 @@ servers = (
},
{
address = "185.130.45.46";
+ chatnet = "Bonobonet_ZNC";
+ port = "1025";
+ password = "terminaldweller/Bonobonet:babun"; #pragma: allowlist secret
+ use_tls = "yes";
+ tls_cert = "~/.irssi/certs/nick.pem";
+ tls_verify = "no";
+ autoconnect = "yes";
+ },
+ {
+ address = "185.130.45.46";
chatnet = "IRCNet_ZNC";
port = "1025";
- password = "terminaldweller/IRCNET:network";# pragma: allowlist secret
+ password = "terminaldweller/IRCNET:network"; #pragma: allowlist secret
+ # pragma: allowlist secret
use_tls = "yes";
tls_cert = "~/.irssi/certs/nick.pem";
tls_verify = "no";
@@ -101,7 +112,7 @@ servers = (
# address = "185.130.45.46";
# chatnet = "BonoboNET_LOKI_ZNC";
# port = "1025";
- # password = "terminaldweller/Bonobonet_Loki:network";# pragma: allowlist secret
+ # password = "terminaldweller/Bonobonet_Loki:network"; #pragma: allowlist secret
# tls_cert = "~/.irssi/certs/nick.pem";
# use_tls = "yes";
# tls_verify = "no";
@@ -111,7 +122,8 @@ servers = (
address = "185.130.45.46";
chatnet = "Libera-ZNC";
port = "1025";
- password = "terminaldweller/Liberachat:lama";# pragma: allowlist secret
+ password = "terminaldweller/Liberachat:lama"; #pragma: allowlist secret
+ # pragma: allowlist secret
use_tls = "yes";
tls_cert = "~/.irssi/certs/nick.pem";
tls_verify = "no";
@@ -121,7 +133,8 @@ servers = (
address = "185.130.45.46";
chatnet = "OFTC-ZNC";
port = "1025";
- password = "terminaldweller/OFTC:network";# pragma: allowlist secret
+ password = "terminaldweller/OFTC:network"; #pragma: allowlist secret
+ # pragma: allowlist secret
use_tls = "yes";
tls_cert = "~/.irssi/certs/nick.pem";
tls_verify = "no";
@@ -131,7 +144,8 @@ servers = (
address = "185.130.45.46";
chatnet = "Rizon-ZNC";
port = "1025";
- password = "terminaldweller/Rizon:network";# pragma: allowlist secret
+ password = "terminaldweller/Rizon:network"; #pragma: allowlist secret
+ # pragma: allowlist secret
use_tls = "yes";
tls_cert = "~/.irssi/certs/nick.pem";
tls_verify = "no";
@@ -141,7 +155,8 @@ servers = (
address = "185.130.45.46";
chatnet = "Undernet-ZNC";
port = "1025";
- password = "terminaldweller/undernet:network";# pragma: allowlist secret
+ password = "terminaldweller/undernet:network"; #pragma: allowlist secret
+ # pragma: allowlist secret
use_tls = "yes";
tls_cert = "~/.irssi/certs/nick.pem";
tls_verify = "no";
@@ -159,7 +174,7 @@ servers = (
address = "185.130.45.46";
chatnet = "EFnet_ZNC";
port = "1025";
- password = "terminaldweller/EFNET:locolobo";# pragma: allowlist secret
+ password = "terminaldweller/EFNET:locolobo"; #pragma: allowlist secret
use_tls = "yes";
tls_cert = "~/.irssi/certs/nick.pem";
tls_verify = "no";
@@ -177,7 +192,7 @@ servers = (
address = "185.130.45.46";
chatnet = "DALnet_ZNC";
port = "1025";
- password = "terminaldweller/DALNET:netwqkkk";# pragma: allowlist secret
+ password = "terminaldweller/DALNET:netwqkkk"; #pragma: allowlist secret
use_tls = "yes";
tls_cert = "~/.irssi/certs/nick.pem";
tls_verify = "no";
@@ -187,7 +202,8 @@ servers = (
address = "185.130.45.46";
chatnet = "TildeChat_ZNC";
port = "1025";
- password = "terminaldweller/Tilde_Chat:network";# pragma: allowlist secret
+ password = "terminaldweller/Tilde_Chat:network"; #pragma: allowlist secret
+ # pragma: allowlist secret
tls_cert = "~/.irssi/certs/nick.pem";
use_tls = "yes";
tls_verify = "no";
@@ -215,7 +231,7 @@ chatnets = {
I2P_ILITIA = { type = "IRC"; nick = "useruseR"; };
I2P_POSTMAN = { type = "IRC"; nick = "useruseR"; };
PROBABLY_LOKI = { type = "IRC"; nick = "terminaldweller"; };
- BonoboNET_LOKI = { type = "IRC"; nick = "terminaldweller"; };
+ Bonobonet_ZNC = { type = "IRC"; nick = "terminaldweller"; };
# OFTC = {
# type = "IRC";
# nick = "terminaldweller";
@@ -250,6 +266,9 @@ chatnets = {
"Libera-ZNC" = {
type = "IRC";
autosendcmd = "/^mode terminaldweller +g;wait 3000";
+ max_kicks = "1";
+ max_msgs = "4";
+ max_whois = "1";
};
# Rizon = {
# type = "IRC";
@@ -258,24 +277,44 @@ chatnets = {
"Rizon-ZNC" = {
type = "IRC";
autosendcmd = "/^mode terminaldweller +RCGpx;msg hostserv on;wait 3000";
+ max_kicks = "1";
+ max_msgs = "1";
+ max_whois = "1";
+ };
+ IRCNet_ZNC = {
+ type = "IRC";
+ max_kicks = "1";
+ max_msgs = "1";
+ max_whois = "1";
};
- IRCNet_ZNC = { type = "IRC"; };
"Undernet-ZNC" = {
type = "IRC";
nick = "terminaldwel";
- autosendcmd = "/^mode terminaldwel +ix;msg *status traffic;wait 3000";
+ autosendcmd = "/^mode terminaldwel +ix;msg *status listallusernetworks;wait 3000";
+ max_kicks = "1";
+ max_msgs = "1";
+ max_whois = "1";
+ };
+ EFnet_ZNC = {
+ type = "IRC";
+ nick = "termi";
+ max_kicks = "1";
+ max_msgs = "4";
+ max_whois = "1";
};
- EFnet_ZNC = { type = "IRC"; nick = "termi";};
DALnet_ZNC = {
type = "IRC";
nick = "terminaldweller";
- autosendcmd = "/^msg nickserv@services.dal.net identify ;mode terminaldweller HRCi;wait 3000";
+ autosendcmd = "/^msg nickserv@services.dal.net identify @@@@@@@@@@@@;mode terminaldweller HRCi;wait 3000";
+ max_kicks = "4";
+ max_msgs = "20";
+ max_whois = "30";
};
TildeChat_ZNC = { type = "IRC"; };
devinet = {
type = "IRC";
nick = "terminaldweller";
- # autosendcmd = "/^msg nickserv identify terminaldweller;wait 3000;";
+ autosendcmd = "/^msg hostserv on;wait 3000";
sasl_mechanism = "EXTERNAL";
sasl_username = "terminaldweller";
};
@@ -285,6 +324,9 @@ channels = (
# { name = "#dpdk"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
# { name = "#fdio-vpp"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
# { name = "#openssl"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
+ { name = "#sopelbot"; chatnet = "devinet"; autojoin = "yes"; },
+ { name = "#matterbridge"; chatnet = "devinet"; autojoin = "yes"; },
+ { name = "#rss"; chatnet = "devinet"; autojoin = "yes"; },
{ name = "#netbsd"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
# { name = "#netplan"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
{ name = "#ubuntu"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
@@ -292,7 +334,7 @@ channels = (
{ name = "#debian"; chatnet = "OFTC-ZNC"; autojoin = "yes"; },
# { name = "#virt"; chatnet = "OFTC-ZNC"; autojoin = "yes"; },
{ name = "#openwrt"; chatnet = "OFTC-ZNC"; autojoin = "yes"; },
- {
+ {
name = "#selfhosting";
chatnet = "TildeChat_ZNC";
autojoin = "yes";
@@ -300,7 +342,7 @@ channels = (
{ name = "#tor"; chatnet = "OFTC-ZNC"; autojoin = "yes"; },
{ name = "#llvm"; chatnet = "OFTC-ZNC"; autojoin = "yes"; },
{ name = "#bitlbee"; chatnet = "OFTC-ZNC"; autojoin = "yes"; },
- {
+ {
name = "##terminaldweller";
chatnet = "OFTC-ZNC";
autojoin = "yes";
@@ -314,15 +356,15 @@ channels = (
{ name = "#qutebrowser"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
{ name = "#lokinet"; chatnet = "PROBABLY_LOKI"; autojoin = "yes"; },
{ name = "#general"; chatnet = "PROBABLY_LOKI"; autojoin = "yes"; },
- { name = "#crxn"; chatnet = "BonoboNET_LOKI"; autojoin = "yes"; },
+ { name = "#crxn"; chatnet = "Bonobonet_ZNC"; autojoin = "yes"; },
{
name = "#networking";
- chatnet = "BonoboNET_LOKI";
+ chatnet = "Bonobonet_ZNC";
autojoin = "yes";
},
{
name = "#general";
- chatnet = "BonoboNET_LOKI";
+ chatnet = "Bonobonet_ZNC";
autojoin = "yes";
},
{ name = "#go-nuts"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
@@ -439,11 +481,11 @@ statusbar = {
# window_empty is printed with empty windows
window = " %Z00af00{sb $tag/{channel $itemname} %C {sbmode $M}} %C%n ";
window_empty = "{sb {sbservertag $tag}}";
- prompt = "please%z005f87{%k%z005f87%9$c $*%w%k$R%w%k$S%w%k$N%w%k$T %N%Z005f87}%n";
- prompt_empty = "you%z005f87%k%z005f87%9$c $*%w%k$R%w%k$S%w%k$N%w%k$T %N%Z005f87%n";
+ # prompt = "please%z005f87{%k%z005f87%9$c $*%w%k$R%w%k$S%w%k$T %N%Z005f87}%n";
+ # prompt_empty = "you%z005f87%k%z005f87%9$c $*%w%k$R%w%k$S%w%k$T %N%Z005f87%n";
- topic = "%Z005f00%k%z005f00%N%Z005f00%N %Z5f5faf%9 $topic%N";
- topic_empty = " Irssi v$J - http://www.irssi.org";
+ topic = "%Z005f00%k%z005f00%N%Z005f00%N %Z5f5faf%9 $topic%N %Z005f00%N%z005f00%k%N";
+ topic_empty = " Irssi v$J - https://www.irssi.org";
# all of these treated specially, they're only displayed when needed
# Powerline
@@ -456,6 +498,11 @@ statusbar = {
vim_windows_1 = "%Z005f5f%0%z005f5f%k%9 $vim_wins%z005f5f";
itime = "%Z005f00%k%z005f00%9 $0 %z005f00";
+
+ extra = "%Z5f5f87%k%z5f5f87%9 $X  $Y  $O  $E  $F %z5f5f87";
+
+ prompt_right = "%Z5f5fd7%N%k%9%z5f5fd7 $,%N%k%z5f5fd7%N%Z5f5faf $Q  $W %N%Z5f5f87%k%z5f5f87%9 $J";
+ server_info = "%k%z005f87%9 Server:$tag %w%kChatnet:$chatnet%w%k$R%w%k$S %n%Z005f87";
};
# there's two type of statusbars. root statusbars are either at the top
@@ -539,7 +586,21 @@ statusbar = {
barend = { alignment = "right"; };
};
};
- dccstat = { items = { dccstat = { }; }; };
+ dccstat = {
+ items = {
+ dccstat = { };
+ extra = { alignment = "right";};
+ };
+ };
+ server_info = {
+ items = {
+ barstart = { };
+ server_info = { };
+ prompt_right = { alignment = "right"; };
+ barend = { alignment = "right"; };
+ };
+ position = "50";
+ };
prompt = {
items = {
uberprompt = { priority = "-1"; };
@@ -597,13 +658,14 @@ settings = {
real_name = "john doe";
user_name = "devi";
nick = "terminaldweller";
+ recode_transliterate = "yes";
+ settings_autosave = "no";
# use_proxy = "no";
# proxy_address = "127.0.0.1";
# proxy_port = "9050";
# proxy_string = "CONNECT %s:%d HTTP/1.0\012\012";
# proxy_string_after = "conn %s %d";
- # proxy_password = "";
- # recode_transliterate = "no";
+ # proxy_password = ""; #pragma: allowlist secret
};
"fe-common/core" = {
theme = "solarized-powerline";
@@ -615,9 +677,9 @@ settings = {
};
"fe-text" = {
actlist_sort = "refnum";
- # scrollback_lines = "1000";
- # scrollback_time = "3days";
- # scrollback_max_age = "0";
+ scrollback_lines = "1000";
+ scrollback_time = "3days";
+ scrollback_max_age = "0";
};
"perl/core/scripts" = {
# adv_windowlist.pl
@@ -639,12 +701,12 @@ settings = {
usercount_show_zero = "ON";
# timezones
timezones_divider = " %Zeeeeee%Z008080 ";
- timezones = "GMT:GMT EST:EST CET:CET Tehran:Asia/Tehran Tokyo:Asia/Tokyo Montreal:America/Montreal Pacific:America/Los_Angeles Paris:Europe/Paris";
+ timezones = "GMT:GMT EST:EST EEST:Europe/Riga CET:CET Tehran:Asia/Tehran Tokyo:Asia/Tokyo Montreal:America/Montreal Pacific:America/Los_Angeles Paris:Europe/Paris Moscow:Europe/Moscow";
# hilite_url
url_color = "32";
hilite_url = "32";
# rotator
- rotator_chars = "%Z005f5f%z005f5f%k..%N %Z005f5f%z005f5f%koo%N %Z005f5f%z005f5f%k00%N %Z005f5f%z005f5f%kOO%N %Z005f5f%z005f5f%k00%N %Z005f5f%z005f5f%koo%N";
+ rotator_chars = "%Z005f5f%z005f5f%k...%N %Z005f5f%z005f5f%kooo%N %Z005f5f%z005f5f%k000%N %Z005f5f%z005f5f%kOOO%N %Z005f5f%z005f5f%k000%N %Z005f5f%z005f5f%kooo%N %Z005f5f%z005f5f%k...%N";
rotator_speed = "1000";
rotator_bounce = "yes";
rotator_seperator = " ";
@@ -652,8 +714,10 @@ settings = {
dccstat_hide_sbar_when_inactive = "no";
dccstat_cycle_through_transfers = "yes";
# uberprmpt
- uberprompt_format = "%k%z005f87%9$c $*%w%k$R%w%k$S%w%k$N%w%k$T %N%Z005f87%Z005f5f$uber";
- uberprompt_format_empty = "%k%z005f87%9$c $*%w%k$R%w%k$S%w%k$N%w%k$T %N%Z005f87%Z005f5f$uber";
+ # uberprompt_format = "%k%z005f87%9$c $*%w%k$R%w%k$S%w%k$T %N%Z005f87%Z005f5f$uber";
+ # uberprompt_format_empty = "%k%z005f87%9$c $*%w%k$R%w%k$S%w%k$T %N%Z005f87%Z005f5f$uber";
+ uberprompt_format = "%Zff5f5f$T >>>$uber";
+ uberprompt_format_empty = "%Zff5f5f$T >>>$uber";
# irssi_logger
il_dbname = "irc";
il_dbuser = "postgres";
@@ -712,6 +776,8 @@ keyboard = (
{ key = "meta-,"; id = "change_window"; data = "38"; },
{ key = "meta-."; id = "change_window"; data = "39"; },
{ key = "meta-/"; id = "change_window"; data = "40"; },
+ { key = "meta2-1"; id = "change_window"; data = "41"; },
+ { key = "meta2-2"; id = "change_window"; data = "42"; },
);
ignores = (
{ level = "JOINS PARTS QUITS NICKS"; channels = ( "#docker" ); },
@@ -740,7 +806,7 @@ ignores = (
{ level = "JOINS PARTS QUITS NICKS"; channels = ( "#git" ); },
{ level = "JOINS PARTS QUITS NICKS"; channels = ( "#voidlinux" ); },
{ level = "JOINS PARTS QUITS NICKS"; channels = ( "#openwrt" ); },
- {
+ {
level = "JOINS PARTS QUITS NICKS";
channels = ( "#debian-next" );
},
@@ -751,7 +817,7 @@ ignores = (
{ level = "JOINS PARTS QUITS NICKS"; channels = ( "#linux" ); },
{ level = "JOINS PARTS QUITS NICKS"; channels = ( "#shadow" ); },
{ level = "JOINS PARTS QUITS NICKS"; channels = ( "#tor" ); },
- {
+ {
level = "JOINS PARTS QUITS NICKS";
channels = ( "#CataclysmDDA" );
},
@@ -759,6 +825,8 @@ ignores = (
{ level = "JOINS PARTS QUITS NICKS"; channels = ( "#busybox" ); },
{ level = "JOINS PARTS QUITS NICKS"; channels = ( "#bookz" ); },
{ level = "JOINS PARTS QUITS NICKS"; channels = ( "#qubes" ); },
+ { level = "JOINS PARTS QUITS NICKS"; channels = ( "#wayland" ); },
+ { level = "JOINS PARTS QUITS NICKS"; channels = ( "#gopher" ); },
{ level = "JOINS PARTS QUITS NICKS"; channels = ( "#gnupg" ); },
{ level = "JOINS PARTS QUITS NICKS"; channels = ( "#supersonic" ); },
{ level = "JOINS PARTS QUITS NICKS"; channels = ( "#news" ); },
@@ -773,7 +841,7 @@ ignores = (
{ level = "JOINS PARTS QUITS NICKS"; channels = ( "#crxn" ); },
{ level = "JOINS PARTS QUITS NICKS"; channels = ( "#meta" ); },
{ level = "JOINS PARTS QUITS NICKS"; channels = ( "#python" ); },
- {
+ {
level = "JOINS PARTS QUITS NICKS";
channels = ( "#qutebrowser" );
},
@@ -782,7 +850,7 @@ ignores = (
{ level = "JOINS PARTS QUITS NICKS"; channels = ( "#gemini" ); },
{ level = "JOINS PARTS QUITS NICKS"; channels = ( "#llvm" ); },
{ level = "JOINS PARTS QUITS NICKS"; channels = ( "#opennic" ); },
- {
+ {
level = "JOINS PARTS QUITS NICKS";
channels = ( "#selfhosting" );
},
@@ -797,7 +865,7 @@ windows = {
2 = {
immortal = "yes";
name = "(notices)";
- level = "MSGS NOTICES SNOTES WALLOPS INVITES";
+ level = "MSGS NOTICES SNOTES WALLOPS INVITES CLIENTNOTICE CLIENTCRAP CLIENTERROR CTCPS ACTIONS MODES TOPICS DCC DCCMSGS";
};
3 = {
items = (
@@ -812,26 +880,46 @@ windows = {
4 = {
items = (
{
- type = "CHANNEL";
+ type = "QUERY";
chat_type = "IRC";
- name = "#general";
- tag = "BonoboNET_LOKI";
+ name = "*status";
+ tag = "Undernet-ZNC";
}
);
};
5 = {
items = (
{
- type = "QUERY";
+ type = "CHANNEL";
chat_type = "IRC";
- name = "*status";
- tag = "Undernet-ZNC";
+ name = "#sopelbot";
+ tag = "devinet";
+ }
+ );
+ };
+ 6 = {
+ items = (
+ {
+ type = "CHANNEL";
+ chat_type = "IRC";
+ name = "#rss";
+ tag = "devinet";
+ }
+ );
+ };
+ 7 = {
+ items = (
+ {
+ type = "CHANNEL";
+ chat_type = "IRC";
+ name = "#general";
+ tag = "Bonobonet_ZNC";
}
);
};
};
mainwindows = {
- 3 = {
+ 3 = {
first_line = "1";
lines = "47";
first_column = "0";
diff --git a/irssi/docker-compose.yaml b/irssi/docker-compose.yaml
new file mode 100644
index 0000000..af820d8
--- /dev/null
+++ b/irssi/docker-compose.yaml
@@ -0,0 +1,59 @@
+version: "3.8"
+services:
+ irssi:
+ image: devi_irssi
+ build:
+ context: .
+ networks:
+ - irssinet
+ restart: unless-stopped
+ user: ${UID:-1000}:${GID:-1000}
+ volumes:
+ - /home/devi/.irssi-home:/home/user:ro
+ - /etc/localtime:/etc/localtime:ro
+ - /home/devi/.irssi-home/.irssi/otr:/home/user/.irssi/otr:ro
+ environment:
+ - TERM=screen-256color
+ - COLORTERM=truecolor
+ - HTTP_PROXY=http://host.docker.internal:8118
+ - HTTPS_PROXY=http://host.docker.internal:8118
+ - ALL_PROXY=socks5h://host.docker.internal:9969
+ - NO_PROXY=localhost,127.0.0.0/8,[::1],192.168.0.0/24,172.16.0.0/16,10.0.0.0/8
+ runtime: runsc
+ extra_hosts:
+ - "host.docker.internal:host-gateway"
+ depends_on:
+ - pantalaimon
+ cap_drop:
+ - ALL
+ cap_add:
+ - NET_BIND_SERVICE
+ - SET_GID
+ - SET_UID
+ - DAC_OVERRIDE
+ pantalaimon:
+ image: matrixdotorg/pantalaimon:v0.10.5
+ networks:
+ - irssinet
+ restart: unless-stopped
+ user: ${UID:-1000}:${GID:-1000}
+ volumes:
+ - ./pantalaimon.conf:/home/pantalaimon/.config/pantalaimon/pantalaimon.conf:ro
+ environment:
+ - HTTP_PROXY=http://host.docker.internal:8118
+ - HTTPS_PROXY=http://host.docker.internal:8118
+ - ALL_PROXY=http://host.docker.internal:8118
+ - NO_PROXY=localhost, 127.0.0.0/8,[::1],192.168.0.0/24,172.16.0.0/24,10.0.0.0/8
+ runtime: runsc
+ extra_hosts:
+ - "host.docker.internal:host-gateway"
+ cap_drop:
+ - ALL
+ cap_add:
+ - NET_BIND_SERVICE
+ - SET_GID
+ - SET_UID
+ - DAC_OVERRIDE
+ - CHOWN
+networks:
+ irssinet:
diff --git a/irssi/otr_powerline.diff b/irssi/otr_powerline.diff
new file mode 100644
index 0000000..6b7e334
--- /dev/null
+++ b/irssi/otr_powerline.diff
@@ -0,0 +1,21 @@
+diff --git a/src/otr/otr-formats.c b/src/otr/otr-formats.c
+index d4d273d1..195011d5 100644
+--- a/src/otr/otr-formats.c
++++ b/src/otr/otr-formats.c
+@@ -28,11 +28,11 @@ FORMAT_REC fe_otr_formats[] = {
+ /* Status bar format. */
+ { NULL, "OTR Statusbar", 0 },
+
+- { "otr_stb_plaintext", "{sb plaintext}", 0},
+- { "otr_stb_finished", "{sb %yfinished%n}", 0},
+- { "otr_stb_unknown", "{sb {hilight state unknown (BUG!)}}", 0},
+- { "otr_stb_untrusted", "{sb %GOTR%n (%runverified%n)}", 0},
+- { "otr_stb_trust", "{sb %GOTR%n}", 0},
++ { "otr_stb_plaintext", "{sb %0%Zff8700%zff8700%k plaintext $0 %Zff8700%0%N}", 0},
++ { "otr_stb_finished", "{sb %0%Z5f8700%z5f8700%k finished $0 %Z5f8700%0%N}", 0},
++ { "otr_stb_unknown", "{sb %0%Zff005f%zff005f%k OTR:unknown_state(bug) $0 %Zff005f%0%N}", 0},
++ { "otr_stb_untrusted", "{sb %0%Zff8700%zff8700%k OTR:unverified $0 %Zff8700%0%N}", 0},
++ { "otr_stb_trust", "{sb %0%Z5f875f%z5f875f%k OTR $0 %Z5f875f%0%N}", 0},
+
+ /* OTR format. */
+ { NULL, "OTR", 0 },
diff --git a/irssi/pantalaimon.conf b/irssi/pantalaimon.conf
new file mode 100644
index 0000000..4af899d
--- /dev/null
+++ b/irssi/pantalaimon.conf
@@ -0,0 +1,13 @@
+[Default]
+LogLevel = Debug
+Notifications = On
+
+[DeviMatrix]
+Homeserver = https://matrix.terminaldweller.com
+ListenAddress = 0.0.0.0
+ListenPort = 8009
+Proxy = http://host.docker.internal:8118
+SSL = True
+IgnoreVerification = False
+UseKeyring = False
+DropOldKeys = False
diff --git a/irssi/proxychains.conf b/irssi/proxychains.conf
index 2a19d56..3f62aa8 100644
--- a/irssi/proxychains.conf
+++ b/irssi/proxychains.conf
@@ -65,4 +65,4 @@ localnet 127.0.0.0/255.0.0.0
# add proxy here ...
# meanwile
# defaults set to "tor"
-socks5 192.168.1.214 9995
+socks5 192.168.1.214 9969
diff --git a/irssi/solarized-powerline.theme b/irssi/solarized-powerline.theme
index 7a3772e..b3b1f09 100644
--- a/irssi/solarized-powerline.theme
+++ b/irssi/solarized-powerline.theme
@@ -144,7 +144,7 @@ abstracts = {
##
# the basic styling of how to print message, $0 = nick mode, $1 = nick
- msgnick = "%z005f87%Zeeeeee $0%Zeeeeee{nick $1-} %Z005f5f";
+ msgnick = "%m%Zeeeeee$0{nick $1-}%N%m%0%Z005f5f";
# message from you is printed. "msgownnick" specifies the styling of the
# nick ($0 part in msgnick) and "ownmsgnick" specifies the styling of the
@@ -173,7 +173,7 @@ abstracts = {
# public message in channel meant for me, $0 = nick mode, $1 = nick
# %5 = magenta
- pubmsgmenick = "%K%m%5%k%Z0087ff{msgnick $0$1-}%N%m %Z005f5f";
+ pubmsgmenick = "%m%5%k{msgnick $0$1-}%N%m %Z005f5f";
menick = "%Zeeeeee$* %Z005f5f";
# public highlighted message in channel
@@ -395,7 +395,7 @@ abstracts = {
# $4 = to/from
# $5 = nick
sb_ds_normal_waiting = "$0 $1: '$2' $3 $4 $5 waiting";
- sb_ds_separator = ", ";
+ sb_ds_separator = "  ";
};
formats = {
@@ -438,10 +438,10 @@ formats = {
end_of_who = "%z00d700%kWHO %Z00d700%0%N END";
end_of_whois = "%z00d700%kWHOIS %Z00d700%0%N END";
end_of_whowas = "%z00d700%kWHOWAS %Z00d700%0%N END";
- netsplit = "%0%Z8787ff%z8787ff%k NETSPLIT %z8787ff%Z00d700%z00d700%k {iserver $0}  {iserver $1} %Z00d700%0%Z8787ff Quits: $2";
+ netsplit = "%0%Z8787ff%z8787ff%k NETSPLIT %z8787ff%Z00af00%z00af00%k {iserver $0}  {iserver $1} %Z00af00%0%Z8787ff Quits: $2";
netsplit_join = "%k%z8787ff NETSPLIT %k%8%N Joins: $0";
netsplit_join_more = "%k%z8787ff NETSPLIT %k%8%N Joins: $0 (+$1 more)";
- netsplit_more = "%k%z8787ff%8%8 NETSPLIT %0%w%0%8 {iserver $0} %z00d700%8 {iserver $1}%8 %N%8%n%k%N Quits: $2 (+$3 more, use /NETSPLIT to show all of them)";
+ netsplit_more = "%0%Z8787ff%z8787ff%k NETSPLIT %z8787ff%Z00af00%z00af00%k {iserver $0}  {iserver $1} %Z00af00%0%Z8787ff Quits: $2 (+$3 more, use /NETSPLIT to show all of them)";
no_topic = "%k%N No topic set for {channelhilight $0}";
own_ctcp = "%k%z005f87 CTCP {hilight $2-}  {inick $0} %n%Z005f87%N";
server_chanmode_change = "%k%z8787ff SERVERMODE %k%8 {channelhilight $0} {mode $1} by {nick $2}";
@@ -453,26 +453,26 @@ formats = {
whois = "%z00d700%kWHOIS %Z00d700%z005f87 {nick $0} %Z005f87%0 {nickhost $1@$2}%:{whois ircname $3}";
whowas = "%z00d700%kWHOWAS %Z00d700%z005f87 {nick $0} %Z005f87%0 {nickhost $1@$2}%:{whois was $3}";
own_action = "$nickalign{ownaction $0$nicktrunc}$1";
- action_private = "$nickalign{pvtaction $[.10]0$nicktrunc}$2";
- action_private_query = "$nickalign{pvtaction_query $[.10]0$nicktrunc}$2";
- action_public = "$nickalign{pubaction $[.10]0$nicktrunc}$1";
+ action_private = "$nickalign{pvtaction $[.15]0$nicktrunc}$2";
+ action_private_query = "$nickalign{pvtaction_query $[.15]0$nicktrunc}$2";
+ action_public = "$nickalign{pubaction $[.15]0$nicktrunc}$1";
};
"Irssi::Script::adv_windowlist" = {
awl_display_header = "";
- awl_display_key = " %0$N  $H$C$S %n";
- awl_display_key_active = "%9%W%Z005f00%0%8 %0$N  $H$C$S%8 %0%8%8%n";
- awl_display_key_visible = "%Z005fff %m$N %k $H$C$S %8%8%n";
- awl_display_nokey = " %0$N  %U$C%U %n";
- awl_display_nokey_active = "%k%z005f87 %k$N %k %U$C%U %8%8%n";
- awl_display_nokey_visible = "%k%z5f5fff %m$N %k %U$C%U %8%8%n";
+ awl_display_key = "%0%Z005fff$N  $H[$Q]$C$S %N";
+ awl_display_key_active = "%9%k%z005f00 $N $H[$Q]$C$S %N%Z005f00%N";
+ awl_display_key_visible = "%k%z005fff $N  $H[$Q]$C$S %N%Z005fff%N";
+ awl_display_nokey = "%0%Z005faf$N  $H[$Q]$C$S %N";
+ awl_display_nokey_active = "%9%k%z005f87 $N $H[$Q]$C$S %N%Z005f87%N";
+ awl_display_nokey_visible ="%k%z005fff $N  $H[$Q]$C$S %N%Z005fff%N";
awl_separator = "";
};
"Irssi::Script::usercount" = {
- sb_usercount = "%z00af5f{sb $0 nicks ($1-)}";
- sb_uc_ircops = "%z00d787*$*";
- sb_uc_ops = "%z00d787@$*";
- sb_uc_halfops = "%z00d787%%$*";
- sb_uc_voices = "%z00af5f+$*";
+ sb_usercount = "%9%z00af5f{sb $0 nicks ($1-)}";
+ sb_uc_ircops = "%9%z00d787*$*";
+ sb_uc_ops = "%9%z00d787@$*";
+ sb_uc_halfops = "%9%z00d787%%$*";
+ sb_uc_voices = "%9%z00af5f+$*";
sb_uc_normal = "$*";
sb_uc_space = " ";
};
@@ -487,5 +487,13 @@ formats = {
mh_sbsplitmode_info = "%Zaf5f87{server $0} $1 {hilight splitmode}";
mh_sbsplitmode_info_details = "%Zaf5f87{server $0} $1 {hilight splitmode} {comment $2}";
mh_sbsplitmode_error = "%Zaf5f87{error $0}";
- }
+ };
+ "otr/core" = {
+ otr_stb_plaintext = "{sb %yplaintext%N}";
+ otr_stb_finished = "{sb %yfinished%n}";
+ otr_stb_unknown = "{sb {hilight state unknown (BUG!)}}";
+ otr_stb_untrusted = "{sb %pOTR%n (%runverified%n)}";
+ otr_stb_trust = "{sb %GOTR%n}";
+
+ };
};
diff --git a/keymap.kbd b/keymap.kbd
index 72e0d58..2e137c8 100644
--- a/keymap.kbd
+++ b/keymap.kbd
@@ -18,9 +18,10 @@
-------------------------------------------------------------------------- |#
(defcfg
input (device-file "/dev/input/by-id/usb-Razer_Razer_Huntsman_Tournament_Edition_00000000001A-if01-event-kbd")
- output (uinput-sink "KMonad output")
+ output (uinput-sink "KMonad output"
+ "sleep 1 && setxkbmap -option compose:ralt")
- cmp-seq lalt
+ cmp-seq ralt
fallthrough true
allow-cmd false
)
@@ -35,6 +36,7 @@
)
(defalias
+ meta_layer_toggle (layer-toggle meta_layer)
crs (tap-next } rsft)
cls (tap-next { lsft)
crc (tap-next ] rctl)
@@ -42,13 +44,28 @@
cra (tap-next \) ralt)
cla (tap-next \( lalt)
ccp (tap-next esc lctl)
+ ll1 (layer-delay 500 meta_layer)
+ ll2 (around-next @meta_layer_toggle)
+ aa1 (tap-macro (around alt [) 1)
+ aa2 (tap-macro (around alt [) 2)
+ aaq (tap-macro (around alt [) q)
+ aaw (tap-macro (around alt [) w)
)
-(deflayer devi
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
+(deflayer devi_layer
+ @ll2 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
@ccp _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
@cls _ _ _ _ _ _ _ _ _ _ @crs _ _ _ _ _
@clc _ @cla _ @cra _ _ @crc _ _ _ _ _
)
+
+(deflayer meta_layer
+ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
+ _ @aa1 @aa2 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
+ _ @aaq @aaw _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
+ @ccp _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
+ @cls _ _ _ _ _ _ _ _ _ _ @crs _ _ _ _ _
+ @clc _ @cla _ @cra _ _ @crc _ _ _ _ _
+)
diff --git a/postit b/postit
index a1becb9..26230ec 100644
--- a/postit
+++ b/postit
@@ -67,3 +67,12 @@ https://artemislena.eu/
https://gtmetrix.com/analyze.html
adb shell settings put global http_proxy 192.168.1.214:8118
https://open.spotify.com/show/2Mu5dTlsG1vRE25twu1P2l
+https://iam.tj/prototype/enhancements/Windows-acpi_osi.html
+https://remixicon.com/
+https://kycnot.me/
+https://contabo.com/en
+https://www.hostvds.com/
+https://cakepay.com/
+https://coincards.com/ca/product-category/electronic-gift-cards
+https://wiki.libravatar.org/running_your_own/
+https://www.tgju.org/
diff --git a/terminaldweller.com/cargo/docker-compose.yaml b/terminaldweller.com/cargo/docker-compose.yaml
index 7cbb5d9..61eccb5 100644
--- a/terminaldweller.com/cargo/docker-compose.yaml
+++ b/terminaldweller.com/cargo/docker-compose.yaml
@@ -12,7 +12,8 @@ services:
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
- /home/ubuntu/cargo:/cargo
- - /etc/letsencrypt/archive/cargo.terminaldweller.com/:/certs/
+ - /etc/letsencrypt/live/cargo.terminaldweller.com/fullchain.pem:/etc/letsencrypt/live/cargo.terminaldweller.com/fullchain.pem:ro
+ - /etc/letsencrypt/live/cargo.terminaldweller.com/privkey.pem:/etc/letsencrypt/live/cargo.terminaldweller.com/privkey.pem:ro
cap_drop:
- ALL
cap_add:
diff --git a/terminaldweller.com/cargo/nginx.conf b/terminaldweller.com/cargo/nginx.conf
index bec87f2..467de67 100644
--- a/terminaldweller.com/cargo/nginx.conf
+++ b/terminaldweller.com/cargo/nginx.conf
@@ -8,8 +8,8 @@ http {
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
ssl_ciphers HIGH:!aNULL:!MD5:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers on;
- ssl_certificate /certs/fullchain1.pem;
- ssl_certificate_key /certs/privkey1.pem;
+ ssl_certificate /etc/letsencrypt/live/cargo.terminaldweller.com/fullchain.pem;
+ ssl_certificate_key /etc/letsencrypt/live/cargo.terminaldweller.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
add_header Content-Security-Policy "default-src 'self';";
add_header X-Frame-Options SAMEORIGIN always;
diff --git a/terminaldweller.com/gophernicus/run.sh b/terminaldweller.com/gophernicus/run.sh
new file mode 100755
index 0000000..9c8502a
--- /dev/null
+++ b/terminaldweller.com/gophernicus/run.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env sh
+
+docker run --hostname gopher.terminaldweller.com -p 70:70 -v .:/var/gopher joshkaiju/gophernicus
diff --git a/terminaldweller.com/limnoria/docker-compose.yaml b/terminaldweller.com/limnoria/docker-compose.yaml
new file mode 100644
index 0000000..d8d0fef
--- /dev/null
+++ b/terminaldweller.com/limnoria/docker-compose.yaml
@@ -0,0 +1,18 @@
+version: "3"
+services:
+ limnoria:
+ image: lscr.io/linuxserver/limnoria:latest
+ container_name: limnoria
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - TZ=Etc/UTC
+ volumes:
+ - ./config:/config
+ ports:
+ - 127.0.0.1:8080:8080
+ restart: unless-stopped
+ networks:
+ - limnorianet
+networks:
+ limnorianet:
diff --git a/terminaldweller.com/lokinet/docker-compose.yaml b/terminaldweller.com/lokinet/docker-compose.yaml
new file mode 100644
index 0000000..3a6d001
--- /dev/null
+++ b/terminaldweller.com/lokinet/docker-compose.yaml
@@ -0,0 +1,20 @@
+version: "3"
+services:
+ nginx:
+ image: nginx:stable
+ networks:
+ - mainnet
+ ports:
+ - "172.16.0.1:80:80"
+ restart: unless-stopped
+ volumes:
+ - ./nginx.conf:/etc/nginx/nginx.conf:ro
+ - ./srv:/srv:ro
+ cap_drop:
+ - ALL
+ cap_add:
+ - CHOWN
+ - SETGID
+ - SETUID
+networks:
+ mainnet:
diff --git a/terminaldweller.com/lokinet/nginx.conf b/terminaldweller.com/lokinet/nginx.conf
new file mode 100644
index 0000000..c8e6ad9
--- /dev/null
+++ b/terminaldweller.com/lokinet/nginx.conf
@@ -0,0 +1,22 @@
+events {
+ worker_connections 1024;
+}
+http {
+ server {
+ listen 80;
+ keepalive_timeout 70;
+ add_header Content-Security-Policy "default-src 'self';";
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options "nosniff" always;
+ add_header X-XSS-Protection "1; mode=block" always;
+ add_header Referrer-Policy "no-referrer";
+ sendfile on;
+ tcp_nopush on;
+
+ location / {
+ root /srv/;
+ add_header Access-Control-Allow-Origin "*";
+ add_header Content-Disposition "inline";
+ }
+ }
+}
diff --git a/terminaldweller.com/main/nginx.conf b/terminaldweller.com/main/nginx.conf
index 3801219..e4f047f 100644
--- a/terminaldweller.com/main/nginx.conf
+++ b/terminaldweller.com/main/nginx.conf
@@ -59,6 +59,7 @@ http {
location / {
root /srv/;
add_header Access-Control-Allow-Origin "*";
+ add_header Content-Disposition "inline";
}
}
}
diff --git a/terminaldweller.com/main/srv/index.html b/terminaldweller.com/main/srv/index.html
index 8f90c05..83fbfe4 100644
--- a/terminaldweller.com/main/srv/index.html
+++ b/terminaldweller.com/main/srv/index.html
@@ -23,76 +23,165 @@
-o-hyphens:auto;
hyphens:auto;
}
+ ::selection {
+ background: #5f875f;
+ color: #000000;
+ }
+ h3 {
+ margin: 2px;
+ }
+ .line {
+ border-bottom: thin solid #00af87;
+ width: 50%;
+ margin-left: auto;
+ margin-right: auto;
+ }
+ .fingerprint {
+ color: #5f87d7;
+ }
+ .fingerprint::selection {
+ color: #000000;
+ background: #5f87d7;
+ }
+ .pseudolink {
+ user-select: all;
+ }
</style>
</head>
- <body style="color:#005f87;background:#000000;text-align:center;padding:0px;border:0px;margin:0px;font-family:mono;">
- <p style="font-size:20px;font-weight:bold;padding:0px;border:0px;margin:0px;">This is a list of links:</p>
- <p>
+ <body style="color:#005f87;background:#000000;text-align:center;padding:0px;border:0px;margin:0px;font-family:mono;border:solid;">
+ <h2>LIST OF LINKS</h2>
+ <p class="line">
+ <div style="color: #005f00;font-weight: bold;">
+ Timestamp: Tue Apr 18 03:55:01 PM UTC 2023
+ </div>
+ </p>
+ <p class="line">
<div>This page is available on:</div>
- <div><a href="https://terminaldweller.com">web2</a> - <span style="user-select: all;">https://terminaldweller.com</span></div>
- <div>IPFS from <a href="https://ipfs.terminaldweller.com">https://ipfs.terminaldweller.com</a> or from <a href="https://terminaldweller.eth.link">terminaldweller.eth</a></div>
- <div>On <a href="gemini://gemini.terminaldweller.com">Gemini</a> - <span style="user-select: all;">gemini://gemini.terminaldweller.com</span></div>
- <div><a href="http://iedzwh5v2vouywqy4eak3eu33amfn3rzhdcln7j4r5kcyvf46cea.b32.i2p/">i2p mirror</a> - <span style="user-select: all;">http://iedzwh5v2vouywqy4eak3eu33amfn3rzhdcln7j4r5kcyvf46cea.b32.i2p</span></div>
- <div><a href="http://dqunl5rzlv6skqfklqr4dwi4zph2vqoaennc7qoinqs5mlug4docq2yd.onion/">tor mirror</a> - <span style="user-select: all;">http://dqunl5rzlv6skqfklqr4dwi4zph2vqoaennc7qoinqs5mlug4docq2yd.onion</span></div>
- <p>WKD direct and advanced are setup on/for the domain.</p>
- <p>
- <div><a href="https://keyoxide.org/hkp/9e20464f1ccf3b103249fa93a6a0f5158b3881df">keyoxide</a></div>
- <div>I don't use all the accounts listed on keyoxide regularly. The preferred methods of contacting me are the ones that are listed here, IRC, email and XMPP (The order is not significant).</div>
+ <div><a href="https://terminaldweller.com">web2</a> - &lt;<span class="pseudolink">https://terminaldweller.com</span>&gt;</div>
+ <div><a href="https://ipfs.terminaldweller.com">IPFS</a> - <span class="pseudolink">https://ipfs.terminaldweller.com</span> or <span class="pseudolink">terminaldweller.eth</span></div>
+ <div><a href="gemini://gemini.terminaldweller.com">gemini</a> - <span class="pseudolink">gemini://gemini.terminaldweller.com</span></div>
+ <div><a href="http://iedzwh5v2vouywqy4eak3eu33amfn3rzhdcln7j4r5kcyvf46cea.b32.i2p/">i2p mirror</a> - <span class="pseudolink">http://iedzwh5v2vouywqy4eak3eu33amfn3rzhdcln7j4r5kcyvf46cea.b32.i2p</span></div>
+ <div><a href="http://dqunl5rzlv6skqfklqr4dwi4zph2vqoaennc7qoinqs5mlug4docq2yd.onion/">tor mirror</a> - <span class="pseudolink">http://dqunl5rzlv6skqfklqr4dwi4zph2vqoaennc7qoinqs5mlug4docq2yd.onion</span></div>
+ <div><a href="http://[21e:cd57:a147:322a:723b:a322:e4c8:c26e]/">yggdrasil</a> - <span class="pseudolink">http://[21e:cd57:a147:322a:723b:a322:e4c8:c26e]</span></div>
+ <div><a href="http://fyqzoraakwjwkj48cmp4ho8gy9k3hdk67stjb8z34d1u3p9urtgy.loki">lokinet</a> - <span class="pseudolink">http://fyqzoraakwjwkj48cmp4ho8gy9k3hdk67stjb8z34d1u3p9urtgy.loki</span></div>
+ <div><a href="gopher://gopher.terminaldweller.com">gopher</a> - <span class="pseudolink">gopher://gopher.terminaldweller.com</span></div>
+ </p>
+ <p class="line">
+ <h3>WKD <a class="plus" href="https://wiki.gnupg.org/WKD" style="color: #005f00;text-decoration: none;">+</a></h3>
+ <div>WKD direct and advanced are setup on/for the domain.</div>
+ </p>
+ <p class="line">
+ <h3>OpenAlias <a href="https://openalias.org/" style="color: #005f00;text-decoration: none;">+</a></h3>
+ <div>OpenAlias records are set for the domain.</div>
+ </p>
+ <p class="line">
+ <h3>Keyoxide <a href="https://keyoxide.org/" style="color: #005f00;text-decoration: none">+</a></h3>
+ <div><a href="https://keyoxide.org/hkp/9e20464f1ccf3b103249fa93a6a0f5158b3881df">keyoxide</a> - <span class="pseudolink">https://keyoxide.org/hkp/9e20464f1ccf3b103249fa93a6a0f5158b3881df</span></div>
+ <div>I don't use all the accounts listed on the PGP pubkey regularly. The preferred methods of contacting me are the ones that are listed here, IRC, email and XMPP (The order is not significant).</div>
+ <br/>
+ <div>Proofs that are expected to fail:</div>
+ <ul style="display: table;margin: 0 auto;">
+ <li>IRC OFTC</li>
+ <li>IRC Rizon</li>
+ <li>IRC Tilde</li>
+ <li>Opencollective</li>
+ </ul>
</p>
<div>
- <div>PGP FP: <span style="user-select: all;">9E20464F1CCF3B103249FA93A6A0F5158B3881DF</span> - <a href="https://github.com/terminaldweller.gpg">github</a>, <a href="https://gitlab.com/terminaldweller.gpg">gitlab</a>, <a href="https://codeberg.org/terminaldweller.gpg">codeberg</a>, <a href="keys/gpg_pubkey">self-hosted</a></div>
- <div>I manually upload my PGP key to <a href="https://keys.openpgp.org">https://keys.openpgp.org</a> and <a href="https://pgp.mit.edu/">https://pgp.mit.edu/</a>.</div>
- <div>SSH FP: <span style="user-select: all;">SHA256:tyuaTy005jkJOIPXkrJAAlCKD91d1ftEXzGTqjmEZh4</span> - <a href="https://github.com/terminaldweller.keys">github</a>, <a href="https://gitlab.com/terminaldweller.keys">gitlab</a>, <a href="https://codeberg.org/terminaldweller.keys">codeberg</a>, <a href="keys/id_rsa_pub">self-hosted</a></div>
- <p>
- <div>IRC:</div>
- <div><a href="https://libera.chat">Libera</a>: terminaldweller FP:<span style="user-select: all;">FEF763019F0799C1B5CD190FC89080240665CDCAE1CB889D4413775447A4826F48B18DC134D3ACDDE1D932CF3280E6026099857CF46177F1D87CD9AA859C615F</span></div>
- <div><a href="https://oftc.net/">OFTC</a>: terminaldweller FP:<span style="user-select: all;">1072EFECA623C6E3D7A6628BEB6021F77EA2C876</span></div>
- <div><a href="https://rizon.net/">Rizon</a>: terminaldweller FP:<span style="user-select: all;">1072EFECA623C6E3D7A6628BEB6021F77EA2C876</span></div>
- <div><a href="https://tilde.chat/">Tilde</a>: terminaldweller FP:<span style="user-select: all;">1072EFECA623C6E3D7A6628BEB6021F77EA2C876</span></div>
- <div><a href="https://bnet.eu.org/">Bonobonet</a>: terminaldweller FP:<span style="user-select: all;">5e3bd8ab6f8c6f6a614d4b2245fd6b5737a6e59917c6719de62b55bac77b978c</span></div>
- <div>You can also find me on Libera, OFTC and Rizon in ##terminaldweller.</div>
+ <p class="line">
+ <h3>PGP Key: devi@terminaldweller.com</h3>
+ <div>PGP FP: <span class="fingerprint pseudolink">9E20464F1CCF3B103249FA93A6A0F5158B3881DF</span></div>
+ <div><a href="https://github.com/terminaldweller.gpg">github</a> - <span class="pseudolink">https://github.com/terminaldweller.gpg</span></div>
+ <div><a href="https://gitlab.com/terminaldweller.gpg">gitlab</a> - <span class="pseudolink">https://gitlab.com/terminaldweller.gpg</span></div>
+ <div><a href="https://codeberg.org/terminaldweller.gpg">codeberg</a> - <span class="pseudolink">https://codeberg.org/terminaldweller.gpg</span></div>
+ <div><a href="keys/gpg_pubkey">self-hosted</a></div>
+ <div>I manually upload the PGP key to <a href="https://keys.openpgp.org">https://keys.openpgp.org</a> and <a href="https://pgp.mit.edu/">https://pgp.mit.edu/</a> as well.</div>
+ <div>The PGP key you get from Codeberg will be a bit different since Codeberg requires you to sign a random string first before verifying your PGP public key.</div>
+ <br/>
+ <div style="font-weight: bold;">I try to keep the key updated but due to keyoxide shenanigans, from time to time, the key might be missing some packets.</div>
+ </p>
+ <p class="line">
+ <h3>SSH Key</h3>
+ <div>SSH FP: <span class="fingerprint pseudolink">SHA256:tyuaTy005jkJOIPXkrJAAlCKD91d1ftEXzGTqjmEZh4</span></div>
+ <div><a href="https://github.com/terminaldweller.keys">github</a> - <span class="pseudolink">https://github.com/terminaldweller.keys</span></div>
+ <div><a href="https://gitlab.com/terminaldweller.keys">gitlab</a> - <span class="pseudolink">https://gitlab.com/terminaldweller.keys</span></div>
+ <div><a href="https://codeberg.org/terminaldweller.keys">codeberg</a> - <span class="pseudolink">https://codeberg.org/terminaldweller.keys</span></div>
+ <div><a href="keys/id_rsa_pub">self-hosted</a></div>
+ </p>
+ <p class="line">
+ <h3>PGP key: thabogre@gmail.com</h3>
+ <div>PGP FP: <span class="fingerprint pseudolink">FB3E38C3D7C6C07C66A4E3AD4041446A786EBAB4</span></div>
+ <div><a href="keys/gmail_gpg_pubkey">self-hosted</a></div>
+ <div>I manually upload the PGP key to <a href="https://keys.openpgp.org">https://keys.openpgp.org</a> and <a href="https://pgp.mit.edu/">https://pgp.mit.edu/</a> as well.</div>
+ </p>
+ <p class="line">
+ <h3>PGP key: bloodstalker@zoho.com</h3>
+ <div>PGP FP: <span class="fingerprint pseudolink">1501CFE6C731BA61BE6BC065F4241FB7ACBB40E1</span></div>
+ <div><a href="keys/zoho_gpg_pubkey">self-hosted</a></div>
+ <div>I manually upload the PGP key to <a href="https://keys.openpgp.org">https://keys.openpgp.org</a> and <a href="https://pgp.mit.edu/">https://pgp.mit.edu/</a> as well.</div>
+ </p>
+ <p class="line">
+ <h3>IRC</h3>
+ <div><a href="https://libera.chat">Libera</a>: terminaldweller FP: <span class="fingerprint pseudolink">FEF763019F0799C1B5CD190FC89080240665CDCAE1CB889D4413775447A4826F48B18DC134D3ACDDE1D932CF3280E6026099857CF46177F1D87CD9AA859C615F</span></div>
+ <div><a href="https://oftc.net/">OFTC</a>: terminaldweller FP: <span class="fingerprint pseudolink">1072EFECA623C6E3D7A6628BEB6021F77EA2C876</span></div>
+ <div><a href="https://rizon.net/">Rizon</a>: terminaldweller FP: <span class="fingerprint pseudolink">1072EFECA623C6E3D7A6628BEB6021F77EA2C876</span></div>
+ <div><a href="https://tilde.chat/">Tilde</a>: terminaldweller FP: <span class="fingerprint pseudolink">1072EFECA623C6E3D7A6628BEB6021F77EA2C876</span></div>
+ <div><a href="https://bnet.eu.org/">Bonobonet</a>: terminaldweller FP: <span class="fingerprint pseudolink">5e3bd8ab6f8c6f6a614d4b2245fd6b5737a6e59917c6719de62b55bac77b978c</span></div>
+ <br/>
+ <div>You can also find me on Libera, OFTC and Rizon in ##terminaldweller.</div>
</p>
</div>
+ <p class="line">
+ <h3>XMPP</h3>
+ <div><span class="pseudolink">devi@jabber.terminaldweller.com</span></div>
+ <div><span class="pseudolink">devi@draugr.de</span></div>
+ <br/>
+ <div>(currently I do not have OMEMO, just OTR)</div>
</p>
- <p>
- <div>XMPP:</div>
- <div><span style="user-select: all;">devi@jabber.terminaldweller.com</span></div>
- <div><span style="user-select: all;">devi@draugr.de</span></div>
- </p>
- <p>
- <div>Email:</div>
+ <p class="line">
+ <h3>Email</h3>
<div style="font-weight:bold;">(the order is significant)</div>
- <div><span style="user-select: all;">devi@terminaldweller.com</span></div>
- <div><span style="user-select: all;">thabogre@gmail.com</span></div>
- <div><span style="user-select: all;">bloodstalker@zoho.com</span></div>
- <div><span style="user-select: all;">farzadsadeghi@protonmail.ch</span></div>
+ <div><span class="pseudolink">devi@terminaldweller.com</span></div>
+ <div><span class="pseudolink">thabogre@gmail.com</span></div>
+ <div><span class="pseudolink">bloodstalker@zoho.com</span></div>
+ <div><span class="pseudolink">farzadsadeghi@protonmail.ch</span></div>
+ <br/>
<div>All emails have the ssh and pgp key fingerprints as signature. You can ask for one.</div>
- <div>I sign all emails, unless I receive an encrypted email in which case, I will also encrypt the response.</div>
+ <div>For emails, I have adopted a "polite" policy. I sign all emails, unless I receive an encrypted email in which case, I will also encrypt the response.</div>
</p>
- <p>
- <div>Matrix:</div>
- <div><a href="https://matrix.to/#/@devi:terminaldweller.com">@devi:terminaldweller.com</a></div>
- <div><a href="https://matrix.to/#/@terminaldweller:matrix.org">@terminaldweller:matrix.org</a></div>
+ <p class="line">
+ <h3>Matrix</h3>
+ <div><a href="https://matrix.to/#/@devi:terminaldweller.com">@devi:terminaldweller.com</a> - <span class="pseudolink">https://matrix.to/#/@devi:terminaldweller.com</span></div>
+ <div><a href="https://matrix.to/#/@terminaldweller:matrix.org">@terminaldweller:matrix.org</a> - <span class="pseudolink">https://matrix.to/#/@terminaldweller:matrix.org</span></div>
</p>
- <p>
- <div>OpenID: <a href="https://launchpad.net/~terminaldweller">https://launchpad.net/~terminaldweller</a></div>
+ <p class="line">
+ <h3>OpenID</h3>
+ <div>OpenID: <a href="https://launchpad.net/~terminaldweller">https://launchpad.net/~terminaldweller</a> - <span class="pseudolink">https://launchpad.net/~terminaldweller</span></div>
</p>
- <p>
- <div>Git:</div>
- <div><a href="https://github.com/terminaldweller">github.com/terminaldweller</a></div>
+ <p class="line">
+ <h3>Git</h3>
+ <div><a href="https://github.com/terminaldweller">github.com/terminaldweller</a> - <span class="pseudolink">https://github.com/terminaldweller</span></div>
<div>Mirrors:</div>
- <div><a href="https://git.terminaldweller.com">git.terminaldweller.com</a></div>
- <div><a href="https://codeberg.org/terminaldweller">codeberg.org/terminaldweller</a></div>
- <div><a href="https://gitlab.com/terminaldweller">gitlab.com/terminaldweller</a></div>
+ <div><a href="https://git.terminaldweller.com">git.terminaldweller.com</a> - <span class="pseudolink">https://git.terminaldweller.com</span></div>
+ <div><a href="https://codeberg.org/terminaldweller">codeberg.org/terminaldweller</a> - <span class="pseudolink">https://codeberg.org/terminaldweller</span></div>
+ <div><a href="https://gitlab.com/terminaldweller">gitlab.com/terminaldweller</a> - <span class="pseudolink">https://gitlab.com/terminaldweller</span></div>
</p>
- <p>
- <div>Mastodon:</div>
- <div><a href="https://pleroma.terminaldweller.com/users/devi">@devi@pleroma.terminaldweller.com</a></div>
- <div><a href="https://fosstodon.org/@terminaldweller">@terminaldweller@fosstodon.com</a></div>
+ <p class="line">
+ <h3>Mastodon</h3>
+ <div><a href="https://pleroma.terminaldweller.com/users/devi">@devi@pleroma.terminaldweller.com</a> - <span class="pseudolink">https://pleroma.terminaldweller.com/users/devi</span></div>
+ <div><a href="https://fosstodon.org/@terminaldweller">@terminaldweller@fosstodon.com</a> - <span class="pseudolink">https://fosstodon.org/@terminaldweller</span></div>
+ </p>
+ <p class="line">
+ <h3>Blog</h3>
+ <div style="text-align: &quote|&quote|center;"><a href="https://blog.terminaldweller.com">Blog</a> - <span class="pseudolink">https://blog.terminaldweller.com</span> | <a href="https://blog.terminaldweller.com/rss/feed">RSS</a> - <span class="pseudolink">https://blog.terminaldweller.com/rss/feed</span></div>
+ </p>
+ <p class="line">
+ <h3>Linkedin</h3>
+ <div><a href="https://www.linkedin.com/in/farzad-sadeghi/">Linkedin</a> - <span class="pseudolink">https://www.linkedin.com/in/farzad-sadeghi</span></div>
+ </p>
+ <p class="line">
+ <h3>Services</h3>
+ <div>N/A</div>
</p>
- <p>Blog: <a href="https://blog.terminaldweller.com">Blog</a> <a href="https://blog.terminaldweller.com/rss/feed">RSS</a></p>
- <div>
- <div>Services: N/A</div>
- </div>
</body>
</html>
diff --git a/terminaldweller.com/matterbridge/docker-compose.yml b/terminaldweller.com/matterbridge/docker-compose.yml
new file mode 100644
index 0000000..6edaff5
--- /dev/null
+++ b/terminaldweller.com/matterbridge/docker-compose.yml
@@ -0,0 +1,13 @@
+version: '3'
+services:
+ matterbridge:
+ image: 42wim/matterbridge:1.26
+ volumes:
+ - ./matterbridge.toml:/etc/matterbridge/matterbridge.toml:ro
+ networks:
+ - matternet
+ restart: unless-stopped
+ labels:
+ - traefik.enable=false
+networks:
+ matternet:
diff --git a/terminaldweller.com/matterbridge/matterbridge.toml b/terminaldweller.com/matterbridge/matterbridge.toml
new file mode 100644
index 0000000..4ee98a3
--- /dev/null
+++ b/terminaldweller.com/matterbridge/matterbridge.toml
@@ -0,0 +1,35 @@
+[general]
+RemoteNickFormat="[{PROTOCOL}/{BRIDGE}] <{NICK}> "
+
+[matrix.matrix]
+Server="https://matrix.org"
+Login="termibot"
+Password="" #pragma: allowlist secret
+NoHomeServerSuffix=true
+
+[matrix.terminaldweller]
+Server="https://matrix.terminaldweller.com"
+Login="devi"
+Password="" #pragma: allowlist secret
+NoHomeServerSuffix=true
+
+[irc.devinet]
+Nick=""
+NickServNick=""
+NickServPassword="" #pragma: allowlist secret
+Server="irc.terminaldweller.com:6697"
+UseTLS=true
+UseSASL=true
+SkipTLSVerify=false
+
+[[gateway]]
+ name="gate_one"
+ enable=true
+
+ [[gateway.in]]
+ account="matrix.matrix"
+ channel="#doipver:matrix.org"
+
+ [[gateway.inout]]
+ account="irc.devinet"
+ channel="#matterbridge"
diff --git a/terminaldweller.com/privatebin/docker-compose.yaml b/terminaldweller.com/privatebin/docker-compose.yaml
index c6f97e3..4e1d482 100644
--- a/terminaldweller.com/privatebin/docker-compose.yaml
+++ b/terminaldweller.com/privatebin/docker-compose.yaml
@@ -31,7 +31,8 @@ services:
- NET_BIND_SERVICE
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
- - /etc/letsencrypt/archive/pastebin.terminaldweller.com/:/certs/:ro
+ - /etc/letsencrypt/live/pastebin.terminaldweller.com/fullchain.pem:/etc/letsencrypt/live/pastebin.terminaldweller.com/fullchain.pem:ro
+ - /etc/letsencrypt/live/pastebin.terminaldweller.com/privkey.pem:/etc/letsencrypt/live/pastebin.terminaldweller.com/privkey.pem:ro
networks:
privatebinnet:
volumes:
diff --git a/terminaldweller.com/privatebin/nginx.conf b/terminaldweller.com/privatebin/nginx.conf
index 78b0bc5..cb4004e 100644
--- a/terminaldweller.com/privatebin/nginx.conf
+++ b/terminaldweller.com/privatebin/nginx.conf
@@ -9,8 +9,8 @@ http {
listen 443 ssl;
keepalive_timeout 60;
charset utf-8;
- ssl_certificate /certs/fullchain1.pem;
- ssl_certificate_key /certs/privkey1.pem;
+ ssl_certificate /etc/letsencrypt/live/pastebin.terminaldweller.com/fullchain.perm;
+ ssl_certificate_key /etc/letsencrypt/live/pastebin.terminaldweller.com/privkey.perm;
ssl_ciphers HIGH:!aNULL:!MD5:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_protocols TLSv1.3;
ssl_session_cache shared:SSL:50m;
@@ -30,7 +30,7 @@ http {
# resolver 9.9.9.9 208.67.222.222;
# ssl_stapling on;
# ssl_stapling_verify on;
- ssl_trusted_certificate /certs/cert1.pem;
+ # ssl_trusted_certificate /certs/cert1.pem;
error_page 401 403 404 /404.html;
location / {
diff --git a/terminaldweller.com/rss-bridge/docker-compose.yaml b/terminaldweller.com/rss-bridge/docker-compose.yaml
index 4ddf7e1..eba20d4 100644
--- a/terminaldweller.com/rss-bridge/docker-compose.yaml
+++ b/terminaldweller.com/rss-bridge/docker-compose.yaml
@@ -33,6 +33,7 @@ services:
- NET_BIND_SERVICE
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
- - /etc/letsencrypt/archive/rssgen.terminaldweller.com/:/certs/:ro
+ - /etc/letsencrypt/live/rssgen.terminaldweller.com/fullchain.pem:/etc/letsencrypt/live/rssgen.terminaldweller.com/fullchain.pem:ro
+ - /etc/letsencrypt/live/rssgen.terminaldweller.com/privkey.pem:/etc/letsencrypt/live/rssgen.terminaldweller.com/privkey.pem:ro
networks:
rssbridgenet:
diff --git a/terminaldweller.com/rss-bridge/nginx.conf b/terminaldweller.com/rss-bridge/nginx.conf
index b80883b..a6588e9 100644
--- a/terminaldweller.com/rss-bridge/nginx.conf
+++ b/terminaldweller.com/rss-bridge/nginx.conf
@@ -9,8 +9,8 @@ http {
listen 443 ssl;
keepalive_timeout 60;
charset utf-8;
- ssl_certificate /certs/fullchain1.pem;
- ssl_certificate_key /certs/privkey1.pem;
+ ssl_certificate /etc/letsencrypt/live/rssgen.terminaldweller.com/fullchain.pem;
+ ssl_certificate_key /etc/letsencrypt/live/rssgen.terminaldweller.com/privkey.pem;
ssl_ciphers HIGH:!aNULL:!MD5:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_session_cache shared:SSL:50m;
@@ -30,7 +30,7 @@ http {
# resolver 9.9.9.9 208.67.222.222;
# ssl_stapling on;
# ssl_stapling_verify on;
- ssl_trusted_certificate /certs/cert1.pem;
+ # ssl_trusted_certificate /certs/cert1.pem;
error_page 401 403 404 /404.html;
location / {
diff --git a/terminaldweller.com/sopel/run.sh b/terminaldweller.com/sopel/run.sh
new file mode 100755
index 0000000..0f305e8
--- /dev/null
+++ b/terminaldweller.com/sopel/run.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env sh
+
+docker run \
+ -e PUID=1000 \
+ -e PGID=1000 \
+ -v ./.sopel/:/home/sopel/.sopel/ \
+ -e EXTRA_PYPI_PACKAGES="sopel-modules.weather sopel-modules.cryptocurrency sopel-modules.urban" \
+ -ti \
+ sopelirc/sopel
diff --git a/terminaldweller.com/update_main.sh b/terminaldweller.com/update_main.sh
new file mode 100755
index 0000000..3b0afcb
--- /dev/null
+++ b/terminaldweller.com/update_main.sh
@@ -0,0 +1,33 @@
+#!/usr/bin/env sh
+set -ex
+
+# PROXY="proxychains4 -q -f ~/proxies/ice/proxychains.conf"
+PROXY=""
+
+# GPG
+gpg2 --export --armor devi@terminaldweller.com > gpg_pubkey
+gpg2 --export devi@terminaldweller.com > gpg_pubkey.asc
+mv ./gpg_pubkey ./main/srv/keys/
+mv ./gpg_pubkey.asc ./main/srv/.well-known/openpgpkey/hu/
+
+gpg2 --export --armor thabogre@gmail.com > gmail_gpg_pubkey
+mv ./gmail_gpg_pubkey ./main/srv/keys/
+
+gpg2 --export --armor bloodstalker@zoho.com > zoho_gpg_pubkey
+mv ./zoho_gpg_pubkey ./main/srv/keys/
+
+# main
+#lokinet
+${PROXY} scp -r -P 3333 ./main/srv/ ubuntu@185.130.45.46:/home/ubuntu/snapp/
+#yggdrasil
+${PROXY} scp -r -P 3333 ./main/srv/ ubuntu@185.130.47.208:/home/ubuntu/snapp/
+#web2/tor/i2p
+${PROXY} scp -r -P 3333 ./main/srv/ ubuntu@185.130.47.208:/home/ubuntu/terminaldweller.com/
+#gopher
+pandoc --from html --to plain --reference-links --reference-location=block --columns=70 -o ./index.txt ./main/srv/index.html
+${PROXY} scp -P 3333 ./index.txt ubuntu@185.130.47.81:/home/ubuntu/gophers/
+rm ./index.txt
+#gemini
+~/devi/html2gmi.git/master/html2gmi -m -t -l 1000 -i ~/scripts/terminaldweller.com/main/srv/index.html > index.gmi
+${PROXY} scp -4 -P 3333 ./index.gmi ubuntu@jump8.terminaldweller.com:/home/ubuntu/gemini/srv/
+rm ./index.gmi
diff --git a/terminaldweller.com/yggdrasil/docker-compose.yaml b/terminaldweller.com/yggdrasil/docker-compose.yaml
new file mode 100644
index 0000000..5dd0c4c
--- /dev/null
+++ b/terminaldweller.com/yggdrasil/docker-compose.yaml
@@ -0,0 +1,20 @@
+version: "3"
+services:
+ nginx:
+ image: nginx:stable
+ networks:
+ - mainnet
+ ports:
+ - "[21e:cd57:a147:322a:723b:a322:e4c8:c26e]:80:80"
+ restart: unless-stopped
+ volumes:
+ - ./nginx.conf:/etc/nginx/nginx.conf:ro
+ - ./srv:/srv:ro
+ cap_drop:
+ - ALL
+ cap_add:
+ - CHOWN
+ - SETGID
+ - SETUID
+networks:
+ mainnet:
diff --git a/terminaldweller.com/yggdrasil/nginx.conf b/terminaldweller.com/yggdrasil/nginx.conf
new file mode 100644
index 0000000..c8e6ad9
--- /dev/null
+++ b/terminaldweller.com/yggdrasil/nginx.conf
@@ -0,0 +1,22 @@
+events {
+ worker_connections 1024;
+}
+http {
+ server {
+ listen 80;
+ keepalive_timeout 70;
+ add_header Content-Security-Policy "default-src 'self';";
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options "nosniff" always;
+ add_header X-XSS-Protection "1; mode=block" always;
+ add_header Referrer-Policy "no-referrer";
+ sendfile on;
+ tcp_nopush on;
+
+ location / {
+ root /srv/;
+ add_header Access-Control-Allow-Origin "*";
+ add_header Content-Disposition "inline";
+ }
+ }
+}
diff --git a/tmux/date.sh b/tmux/date.sh
index 9667fdd..ca8f1d5 100755
--- a/tmux/date.sh
+++ b/tmux/date.sh
@@ -25,13 +25,35 @@ weather_info_cache() {
if [ $(( $( stat --format=%Y $WEATHER_INFO_CACHE_OUTPUT ) + WEATHER_INFO_CACHE_AGE )) -gt "$( date +%s )" ];then
:
else
- if OUTPUT=$(curl -s --connect-timeout 10 --socks5-hostname socks5h://127.0.0.1:9053 'wttr.in/tehran?T&format=%f'); then
+ if OUTPUT=$(curl -s --connect-timeout 10 --socks5-hostname socks5h://127.0.0.1:9053 'wttr.in/tehran?T&format=%f'); then
echo "${OUTPUT}" > ${WEATHER_INFO_CACHE_OUTPUT}
fi
fi
cat ${WEATHER_INFO_CACHE_OUTPUT}
}
+ping_4() {
+ ping -4 -c 1 -w 5 icanhazallips.terminaldweller.com >/dev/null 2>&1
+}
+ping_4_status() {
+ if $(ping_4); then
+ echo "#[fg=colour22 bg=colour25]#[fg=colour0 bg=colour22 bold]4"
+ else
+ echo "#[fg=colour1 bg=colour25]#[fg=colour0 bg=colour1 bold]4"
+ fi
+}
+
+ping_6() {
+ ping -6 -c 1 -w 5 icanhazallips.terminaldweller.com >/dev/null 2>&1
+}
+ping_6_status() {
+ if $(ping_6); then
+ echo "#[fg=colour22 bg=colour0]#[fg=colour0 bg=colour22 bold]6"
+ else
+ echo "#[fg=colour1 bg=colour0]#[fg=colour0 bg=colour1 bold]6"
+ fi
+}
+
RESULT=$(date +"%a %D %H:%M")
@@ -71,4 +93,5 @@ ${SEPARATOR_LEFT_BOLD}${WEATHER}#[fg=colour29 bg=colour32]\
${SEPARATOR_LEFT_BOLD}${JDATE} #[fg=colour31 bg=colour29]\
${SEPARATOR_LEFT_BOLD}${DAY} ${SEPARATOR_LEFT_THIN} ${DATE} ${SEPARATOR_LEFT_THIN} ${TIME} #[fg=colour214 bg=colour31]\
${SEPARATOR_LEFT_BOLD}#[fg=colour0 bg=colour214]${BATTERY} #[fg=colour25 bg=colour214]\
-${SEPARATOR_LEFT_BOLD}${UTC_TIME} "
+${SEPARATOR_LEFT_BOLD}${UTC_TIME}\
+$(ping_4_status)$(ping_6_status)"