diff options
Diffstat (limited to '')
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" } @@ -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 @@ -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" @@ -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 Binary files differnew file mode 100644 index 0000000..8153c08 --- /dev/null +++ b/identicon/identicon.png 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}"; + + }; }; @@ -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 _ _ _ _ _ +) @@ -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> - <<span class="pseudolink">https://terminaldweller.com</span>></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: "e|"e|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)" |