commit - fccaeb65bc3faaeaf73231949575751c4436dc9a
commit + 2a1f38d1bc55f61dd6b835b443c5140a42284b1e
blob - /dev/null
blob + 026367cac90f26639efd9e41a5e569a9562f26c0 (mode 644)
Binary files /dev/null and pub/skins/pmwiki/madeonirc.png differ
blob - /dev/null
blob + f25f04e604950b62e2544c22fdeec5dd2e7d097e (mode 644)
Binary files /dev/null and uploads/AncientWisdom/AncientWisdom.mp3 differ
blob - /dev/null
blob + d6572be85e0b2f1e1e064ea6888cc7a2fde6d49d (mode 644)
Binary files /dev/null and uploads/AncientWisdom/AncientWisdom.mp3,1644125124 differ
blob - /dev/null
blob + 24e7e5b3c111318cca206a4f90615182b28e6f62 (mode 644)
--- /dev/null
+++ uploads/Dns/named.conf.txt
+// $OpenBSD: named.conf,v 1.3 2020/05/29 20:05:37 sthen Exp $
+//
+// Example file for a simple configuration of BIND, processing only
+// recursive queries. Consult BIND's Administration and Reference Manual
+// for more information.
+
+acl clients {
+ localnets;
+ ::1;
+};
+
+options {
+ directory "/tmp"; // working directory, inside the /var/named chroot
+ // - must be writable by _bind
+ version ""; // remove this to allow version queries
+
+ listen-on { any; };
+ listen-on-v6 { any; };
+
+ empty-zones-enable yes;
+
+ allow-recursion { 127.0.0.0/8; 38.81.163.0/24; 38.87.162.0/24; 2602:fccf:1::/48; };
+};
+
+zone "." {
+ type hint;
+ file "/etc/named.root";
+};
blob - /dev/null
blob + 32935c718c48b62720ab781ca6f491778a184f95 (mode 644)
Binary files /dev/null and uploads/Ircnow/plan9-desktop.png differ
blob - /dev/null
blob + d290251b365ef290ddbd84072f288f5080e160b6 (mode 644)
Binary files /dev/null and uploads/JuiceSSH/juicessh-authorizedkeys.png differ
blob - /dev/null
blob + 31c45f6d86e603cf4a4fb7fe72b1c4df97ab7aed (mode 644)
Binary files /dev/null and uploads/JuiceSSH/juicessh-connections.png differ
blob - /dev/null
blob + 4b353d6abc3cb8d3d821fdf59b056d210ffce34d (mode 644)
Binary files /dev/null and uploads/JuiceSSH/juicessh-export-public-key.png differ
blob - /dev/null
blob + dfe6aa4e85c32e1fdcb48d0fceb007d913d43615 (mode 644)
Binary files /dev/null and uploads/JuiceSSH/juicessh-hostverification.png differ
blob - /dev/null
blob + dbad7cfb90b544f89ee0edb75c30db5a4702e689 (mode 644)
Binary files /dev/null and uploads/JuiceSSH/juicessh-identities-export-public-key.png differ
blob - /dev/null
blob + 907612f1316fba528542aa6e702585991705cc2e (mode 644)
Binary files /dev/null and uploads/JuiceSSH/juicessh-identities.png differ
blob - /dev/null
blob + 28c75cc2bffda54bc52c673d082a3e2c71916f65 (mode 644)
Binary files /dev/null and uploads/JuiceSSH/juicessh-identity-password.png differ
blob - /dev/null
blob + 140605deafd5ce858dcba81f0320fff587c65cb1 (mode 644)
Binary files /dev/null and uploads/JuiceSSH/juicessh-import-private-key.png differ
blob - /dev/null
blob + ee9ac6551ebb599f82d79c481cda93c0fd841aff (mode 644)
Binary files /dev/null and uploads/JuiceSSH/juicessh-logged-in.png differ
blob - /dev/null
blob + 72a33d5d5b500261d51ed601b36683421992d38e (mode 644)
Binary files /dev/null and uploads/JuiceSSH/juicessh-main.png differ
blob - /dev/null
blob + f4924a23c6634bee088f43270857caa65ddabfe7 (mode 644)
Binary files /dev/null and uploads/JuiceSSH/juicessh-new-connection.png differ
blob - /dev/null
blob + 220b76df855ff6a014b1e1089a389de832170067 (mode 644)
Binary files /dev/null and uploads/JuiceSSH/juicessh-no-connections.png differ
blob - /dev/null
blob + 5ac7a73eba126442702ac64b671bdb1cd45a56e4 (mode 644)
Binary files /dev/null and uploads/JuiceSSH/juicessh-share-copytoclipboard.png differ
blob - /dev/null
blob + 66171b779eb1f642940629d3237442d6fb9aaa71 (mode 644)
Binary files /dev/null and uploads/JuiceSSH/juicessh-tutorial.png differ
blob - /dev/null
blob + f2f1f0a35018336a4363b38a744b8dd91e5523fe (mode 644)
Binary files /dev/null and uploads/JuiceSSH/juicessh-update-identity.png differ
blob - /dev/null
blob + 8b25fec6483b64634a715d7eac205a3dc49b2215 (mode 644)
Binary files /dev/null and uploads/MacScreenSharing/screensharing-connect.png differ
blob - /dev/null
blob + a448c50700de74c1cc34398c547a5228b8c91f2b (mode 644)
Binary files /dev/null and uploads/MacScreenSharing/screensharing-password.png differ
blob - /dev/null
blob + 059ef63294f3f46a6237e796ab6aa033810f0cf4 (mode 644)
Binary files /dev/null and uploads/MacScreenSharing/screensharing-spotlight-autocomplete.png differ
blob - /dev/null
blob + 06ed28baafc00124f23716575e88917c5183a610 (mode 644)
Binary files /dev/null and uploads/MacScreenSharing/screensharing-spotlight.png differ
blob - /dev/null
blob + c048a021a75405e0b66df5d7e91b82dda54a372b (mode 644)
Binary files /dev/null and uploads/Marketing/freeusers.jpg differ
blob - /dev/null
blob + f9efc0c2c67d80e6afc78aea8d13080badd4bbd5 (mode 644)
--- /dev/null
+++ uploads/Mlmmj/update-archive.txt
+#!/bin/bash
+#
+# Updates the list archive with new messages since last run based
+# on the last index in $LASTINDEX and the latest index in the $LISTDIR
+#
+# 2006 Martin Leopold <leopold@diku.dk>
+#
+
+if [ $# -le 1 ]; then
+ echo "Grrr.."
+ echo "\$1 - name of the archive"
+ echo "\$2 - www dir"
+ echo "\$3 - list dir"
+ exit 0
+fi
+
+LABEL=$1
+WWWDIR=$2
+LISTDIR=$3
+LASTINDEXFILE=$WWWDIR/last
+NEWINDEX=`cat $LISTDIR/index`
+LASTINDEX=`cat $LASTINDEXFILE`
+HYPERMAIL="/usr/local/bin/hypermail"
+
+if [ -z $LASTINDEX ]; then
+LASTINDEX=1
+fi
+
+for IT in `seq $LASTINDEX $NEWINDEX`; do
+ $HYPERMAIL -l $LABEL -i -u -d $WWWDIR < $LISTDIR/archive/$IT
+done
+
+chown apache:apache -R $WWWDIR
+
+echo $NEWINDEX > $LASTINDEXFILE
blob - /dev/null
blob + 78058523033c9e10e30206bd8dc121b3590af050 (mode 644)
Binary files /dev/null and uploads/PuTTY/puttygen-cc.mp4 differ
blob - /dev/null
blob + 173152f1f8b619389c7ddcf81a03b96fa4335146 (mode 644)
Binary files /dev/null and uploads/PuTTY/puttygen-cc.webm differ
blob - /dev/null
blob + f23e17013edf034d0945773d89a486e57d4b453b (mode 644)
Binary files /dev/null and uploads/Profiles/xfnw.png differ
blob - /dev/null
blob + db843880b2e0a47183683914ea883856b54e6310 (mode 644)
Binary files /dev/null and uploads/TigerVNC/xfce-desktop.png differ
blob - /dev/null
blob + 379825913b2e919713fa3d184db9e9ad3fb3dd56 (mode 644)
--- /dev/null
+++ wiki.d/9.9p
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0 SeaMonkey/2.53.10.2
+author=mkf
+charset=UTF-8
+csum=
+ctime=1642317599
+host=38.87.162.40
+name=9.9p
+rev=3
+targets=
+text=let's say we want to mount wm.ircnow.org (198.251.82.161) at port 900%0a----%0a%0alinux:%0a[@%0a# mount -t 9p -o port=900 198.251.82.161 /mnt%0a@]%0anote: linux doesn't support dns for mounting 9p file servers.%0a%0aplan 9:%0a[@%0a%25 9fs tcp!wm.ircnow.org!900%0a@]%0a%0ainferno:%0a[@%0a; mount -a -A tcp!wm.ircnow.org!900 /mnt%0a@]%0a%0alibixp/ixpc:%0a[@%0a$ export IXP_ADDRESS=tcp!wm.ircnow.org!900%0a$ ixpc ls /%0a@]
+time=1642452443
+host:1642452443=38.87.162.40
+author:1642357387=mkf
+diff:1642357387:1642317599:=23c23%0a%3c $ ixpc ls /%0a---%0a> $ ixpc ls%0a
+host:1642357387=188.210.105.217
+author:1642317599=mkf
+diff:1642317599:1642317599:=1,24d0%0a%3c let's say we want to mount wm.ircnow.org (198.251.82.161) at port 900%0a%3c ----%0a%3c %0a%3c linux:%0a%3c [@%0a%3c # mount -t 9p -o port=900 198.251.82.161 /mnt%0a%3c @]%0a%3c note: linux doesn't support dns for mounting 9p file servers.%0a%3c %0a%3c plan 9:%0a%3c [@%0a%3c %25 9fs tcp!wm.ircnow.org!900%0a%3c @]%0a%3c %0a%3c inferno:%0a%3c [@%0a%3c ; mount -a -A tcp!wm.ircnow.org!900 /mnt%0a%3c @]%0a%3c %0a%3c libixp/ixpc:%0a%3c [@%0a%3c $ export IXP_ADDRESS=tcp!wm.ircnow.org!900%0a%3c $ ixpc ls%0a%3c @]%0a\ No newline at end of file%0a
+host:1642317599=188.210.122.8
blob - /dev/null
blob + 612a1442e5abe3567ee0edf1227840e985fde7e4 (mode 644)
--- /dev/null
+++ wiki.d/9.Audio
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1645387677
+host=38.87.162.8
+name=9.Audio
+rev=1
+targets=
+text=If the sound card is detected:%0a%0a[@%0a; ls '#A'%0a'#A/audio'%0a'#A/audioctl'%0a'#A/audiostat'%0a'#A/volume'%0a@]%0a%0a[@%0a; ls /dev/audiostat%0a@]%0a%0aYou can check which pins are being used for input and output (output for Thinkpad x200):%0a%0a[@%0a; cat /dev/audiostat%0abufsize 1024 buffered 0%0acodec 0 pin 25 inpin 29%0aaout 16 c1d%0aaout 17 c1d%0aaout 18 211%0abeep 19 70000c%0aain 20 100d1b ← pin 29, pin 23%0aain 21 100d1b ← pin 24%0apin 22 out jack ext right hpout green ← aout 16, aout 17%0apin 23 in nothing sep rear micin pink%0apin 24 in jack ext right micin pink%0apin 25 out nothing sep rear hpout green ← aout 16, aout 17%0apin 26 out fix int N/A speaker ? eapd ← aout 16, aout 17%0apin 27 out nothing ext N/A other ? eapd ← aout 16, aout 17%0apin 28 out nothing ext N/A other ? ← aout 18%0apin 29 in fix int N/A micin ?%0abeep 30 f00000%0aoutpath aout 16 → pin 26%0aoutamp aout 16%0ainpath pin 29 → ain 20%0ainamp ain 20%0a@]%0a%0aThis line @@codec 0 pin 25 inpin 29@@ shows that pin 25 is being used for output and pin 29 used for input. On my laptop, it is necessary to set the output pin to 26:%0a%0a[@%0a; echo pin 26 > /dev/audioctl%0a@]%0a%0aNow it's possible to play music:%0a%0a[@%0a; audio/oggdec %3c music.ogg >/dev/audio%0a; audio/mp3dec %3c music.mp3 >/dev/audio%0a@]%0a%0aSources:%0a%0a* [[http://nopenopenope.net/posts/audio]]%0a* [[https://git.sr.ht/~ft/jacksense]]%0a
+time=1645387677
+author:1645387677=jrmu
+diff:1645387677:1645387677:=1,58d0%0a%3c If the sound card is detected:%0a%3c %0a%3c [@%0a%3c ; ls '#A'%0a%3c '#A/audio'%0a%3c '#A/audioctl'%0a%3c '#A/audiostat'%0a%3c '#A/volume'%0a%3c @]%0a%3c %0a%3c [@%0a%3c ; ls /dev/audiostat%0a%3c @]%0a%3c %0a%3c You can check which pins are being used for input and output (output for Thinkpad x200):%0a%3c %0a%3c [@%0a%3c ; cat /dev/audiostat%0a%3c bufsize 1024 buffered 0%0a%3c codec 0 pin 25 inpin 29%0a%3c aout 16 c1d%0a%3c aout 17 c1d%0a%3c aout 18 211%0a%3c beep 19 70000c%0a%3c ain 20 100d1b ← pin 29, pin 23%0a%3c ain 21 100d1b ← pin 24%0a%3c pin 22 out jack ext right hpout green ← aout 16, aout 17%0a%3c pin 23 in nothing sep rear micin pink%0a%3c pin 24 in jack ext right micin pink%0a%3c pin 25 out nothing sep rear hpout green ← aout 16, aout 17%0a%3c pin 26 out fix int N/A speaker ? eapd ← aout 16, aout 17%0a%3c pin 27 out nothing ext N/A other ? eapd ← aout 16, aout 17%0a%3c pin 28 out nothing ext N/A other ? ← aout 18%0a%3c pin 29 in fix int N/A micin ?%0a%3c beep 30 f00000%0a%3c outpath aout 16 → pin 26%0a%3c outamp aout 16%0a%3c inpath pin 29 → ain 20%0a%3c inamp ain 20%0a%3c @]%0a%3c %0a%3c This line @@codec 0 pin 25 inpin 29@@ shows that pin 25 is being used for output and pin 29 used for input. On my laptop, it is necessary to set the output pin to 26:%0a%3c %0a%3c [@%0a%3c ; echo pin 26 > /dev/audioctl%0a%3c @]%0a%3c %0a%3c Now it's possible to play music:%0a%3c %0a%3c [@%0a%3c ; audio/oggdec %3c music.ogg >/dev/audio%0a%3c ; audio/mp3dec %3c music.mp3 >/dev/audio%0a%3c @]%0a%3c %0a%3c Sources:%0a%3c %0a%3c * [[http://nopenopenope.net/posts/audio]]%0a%3c * [[https://git.sr.ht/~ft/jacksense]]%0a
+host:1645387677=38.87.162.8
blob - /dev/null
blob + 50b15d5c122b018822238980174cb26b842846e8 (mode 644)
--- /dev/null
+++ wiki.d/9.Authsrv
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=NetSurf/3.11 (Plan9)
+author=mkf
+charset=UTF-8
+csum=hmm
+ctime=1641358750
+host=91.185.151.100
+name=9.Authsrv
+rev=1
+targets=
+text=wip.%0aTauth → factotum → auth_proxy?
+time=1641358750
+author:1641358750=mkf
+csum:1641358750=hmm
+diff:1641358750:1641358750:=1,2d0%0a%3c wip.%0a%3c Tauth → factotum → auth_proxy?%0a\ No newline at end of file%0a
+host:1641358750=91.185.151.100
blob - /dev/null
blob + aaa0b9056808c2008036de2dea23ca65442e664e (mode 644)
--- /dev/null
+++ wiki.d/9.Chording
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1641220720
+host=38.87.162.8
+name=9.Chording
+rev=2
+targets=
+text=On Mac:%0a%0a# Left click: One finger tap%0a# Right click: Two finger tap%0a# Middle click: Three finger tap%0a
+time=1641220856
+author:1641220856=jrmu
+diff:1641220856:1641220720:=3,5c3,5%0a%3c # Left click: One finger tap%0a%3c # Right click: Two finger tap%0a%3c # Middle click: Three finger tap%0a---%0a> Left click: One finger tap%0a> Right click: Two finger tap%0a> Middle click: Three finger tap%0a
+host:1641220856=38.87.162.8
+author:1641220720=jrmu
+diff:1641220720:1641220720:=1,5d0%0a%3c On Mac:%0a%3c %0a%3c Left click: One finger tap%0a%3c Right click: Two finger tap%0a%3c Middle click: Three finger tap%0a
+host:1641220720=38.87.162.8
blob - /dev/null
blob + dcb68c661abb4ca0cb131394460588c46efcc036 (mode 644)
--- /dev/null
+++ wiki.d/9.Drawterm
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1641215808
+host=38.87.162.8
+name=9.Drawterm
+rev=7
+targets=
+text=!! Drawterm binaries:%0a%0a!!! OpenBSD%0a%0a[@%0a$ doas pkg_add drawterm%0a@]%0a%0a!!! Linux%0a%0a[[http://mkf.bsdforall.org/drawterm/drawterm-linux-amd64|AMD64 Linux Drawterm]]%0a%0a[[http://mkf.bsdforall.org/drawterm/drawterm-linux-aarch64|AArch64 Linux Drawterm]]%0a%0a!!!! Building from source on Debian:%0a%0a[@%0a$ sudo apt install libx11-dev libxt-dev%0a$ git clone git://git.9front.org/plan9front/drawterm %0a$ cd drawterm%0a$ CONF=unix make%0a@]%0a%0a!!! Solaris%0a%0a[[http://mkf.bsdforall.org/drawterm/drawterm-solaris-i64pc|i64pc Sun Drawterm]] CC=gcc-8 and AUDIO=unix, built on openindiana.%0a%0a!!! Android%0a%0a[[http://mkf.bsdforall.org/drawterm/drawterm-android.apk|Android Drawterm]]: The first time you use it, it will crash. Afterwards, it will work.%0a%0a[[http://github.com/echoline/drawterm-android/releases/download/0.0.5/drawterm.apk|Android Drawterm echoline]]: If the above apk did not work, use this one.%0a%0a!!! Windows%0a%0a[[http://drawterm.9front.org/drawterm.exe|Windows Drawterm]]%0a%0aSee [[https://mkf.bsdforall.org/drawterm]]%0a
+time=1641467806
+author:1641467806=jrmu
+diff:1641467806:1641217023:=30,31c30,31%0a%3c [[http://mkf.bsdforall.org/drawterm/drawterm-android.apk|Android Drawterm]]: The first time you use it, it will crash. Afterwards, it will work.%0a%3c %0a---%0a> [[http://mkf.bsdforall.org/drawterm/drawterm-android|Android Drawterm]]: The first time you use it, it will crash. Afterwards, it will work.%0a> %0a38c38%0a%3c See [[https://mkf.bsdforall.org/drawterm]]%0a---%0a> See [[https://mkf.bsdforall.org/drawterm]]%0a\ No newline at end of file%0a
+host:1641467806=38.87.162.8
+author:1641217023=mkf
+csum:1641217023=cpu → rcpu
+diff:1641217023:1641216952:=
+host:1641217023=89.33.101.37
+author:1641216952=mkf
+csum:1641216952=cpu → rcpu
+diff:1641216952:1641216919:=19c19%0a%3c $ git clone git://git.9front.org/plan9front/drawterm %0a---%0a> $ git clone https://github.com/9fans/drawterm%0a
+host:1641216952=89.33.101.37
+author:1641216919=mkf
+csum:1641216919=cpu → rcpu
+diff:1641216919:1641216807:=38c38%0a%3c See [[https://mkf.bsdforall.org/drawterm]]%0a\ No newline at end of file%0a---%0a> See [[https://mkf.bsdforall.org/drawterm]]%0a
+host:1641216919=89.33.101.37
+author:1641216807=jrmu
+diff:1641216807:1641216526:=18c18%0a%3c $ sudo apt install libx11-dev libxt-dev%0a---%0a> $ sudo apt install libx11-dev%0a
+host:1641216807=38.87.162.8
+author:1641216526=jrmu
+diff:1641216526:1641215808:=14,22d13%0a%3c %0a%3c !!!! Building from source on Debian:%0a%3c %0a%3c [@%0a%3c $ sudo apt install libx11-dev%0a%3c $ git clone https://github.com/9fans/drawterm%0a%3c $ cd drawterm%0a%3c $ CONF=unix make%0a%3c @]%0a
+host:1641216526=38.87.162.8
+author:1641215808=jrmu
+diff:1641215808:1641215808:=1,29d0%0a%3c !! Drawterm binaries:%0a%3c %0a%3c !!! OpenBSD%0a%3c %0a%3c [@%0a%3c $ doas pkg_add drawterm%0a%3c @]%0a%3c %0a%3c !!! Linux%0a%3c %0a%3c [[http://mkf.bsdforall.org/drawterm/drawterm-linux-amd64|AMD64 Linux Drawterm]]%0a%3c %0a%3c [[http://mkf.bsdforall.org/drawterm/drawterm-linux-aarch64|AArch64 Linux Drawterm]]%0a%3c %0a%3c !!! Solaris%0a%3c %0a%3c [[http://mkf.bsdforall.org/drawterm/drawterm-solaris-i64pc|i64pc Sun Drawterm]] CC=gcc-8 and AUDIO=unix, built on openindiana.%0a%3c %0a%3c !!! Android%0a%3c %0a%3c [[http://mkf.bsdforall.org/drawterm/drawterm-android|Android Drawterm]]: The first time you use it, it will crash. Afterwards, it will work.%0a%3c %0a%3c [[http://github.com/echoline/drawterm-android/releases/download/0.0.5/drawterm.apk|Android Drawterm echoline]]: If the above apk did not work, use this one.%0a%3c %0a%3c !!! Windows%0a%3c %0a%3c [[http://drawterm.9front.org/drawterm.exe|Windows Drawterm]]%0a%3c %0a%3c See [[https://mkf.bsdforall.org/drawterm]]%0a
+host:1641215808=38.87.162.8
blob - /dev/null
blob + e085b4bdd94b6af797b7f52aae74106bb81c5406 (mode 644)
--- /dev/null
+++ wiki.d/9.Hostowner
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 6.1; rv:68.0) Gecko/20100101 Firefox/68.0 SeaMonkey/2.53.10.2
+author=mkf
+charset=UTF-8
+csum=
+ctime=1641468544
+host=2.178.191.175
+name=9.Hostowner
+rev=3
+targets=
+text=Hostowner is who file server started with.%0ait used to be @@eve@@ on Plan 9 from bell labs, but @@glenda@@ on 9front.%0ato change it to "@@username@@" run following as host owner:%0a!!hjfs%0a[@%0a; echo newuser username >> /srv/hjfs.cmd%0a; echo newuser sys +username >> /srv/hjfs.cmd%0a; echo newuser adm +username >> /srv/hjfs.cmd%0a; echo newuser upas +username >> /srv/hjfs.cmd%0a@]%0a!!cwfs%0a[@%0a; echo newuser username >> /srv/cwfs.cmd%0a; echo newuser sys +username >> /srv/cwfs.cmd%0a; echo newuser adm +username >> /srv/cwfs.cmd%0a; echo newuser upas +username >> /srv/cwfs.cmd%0a@]%0a!!ndb%0anow, edit /lib/ndb/auth%0a[@%0ahostid=username%0a uid=!sys uid=!adm uid=*%0a@]%0a!!plan9.ini%0a[@%0a9fs 9fat%0aecho 'user=username' >> /n/9/plan9.ini%0a@]%0aand we're done.
+time=1641468588
+author:1641468588=mkf
+diff:1641468588:1641468572:minor=3c3%0a%3c to change it to "@@username@@" run following as host owner:%0a---%0a> to change it to "@@username@@" else run following as host owner:%0a
+host:1641468588=2.178.191.175
+author:1641468572=mkf
+diff:1641468572:1641468544:minor=3c3%0a%3c to change it to "@@username@@" else run following as host owner:%0a---%0a> for example to change it to something else run following as host owner:%0a
+host:1641468572=2.178.191.175
+author:1641468544=mkf
+diff:1641468544:1641468544:=1,29d0%0a%3c Hostowner is who file server started with.%0a%3c it used to be @@eve@@ on Plan 9 from bell labs, but @@glenda@@ on 9front.%0a%3c for example to change it to something else run following as host owner:%0a%3c !!hjfs%0a%3c [@%0a%3c ; echo newuser username >> /srv/hjfs.cmd%0a%3c ; echo newuser sys +username >> /srv/hjfs.cmd%0a%3c ; echo newuser adm +username >> /srv/hjfs.cmd%0a%3c ; echo newuser upas +username >> /srv/hjfs.cmd%0a%3c @]%0a%3c !!cwfs%0a%3c [@%0a%3c ; echo newuser username >> /srv/cwfs.cmd%0a%3c ; echo newuser sys +username >> /srv/cwfs.cmd%0a%3c ; echo newuser adm +username >> /srv/cwfs.cmd%0a%3c ; echo newuser upas +username >> /srv/cwfs.cmd%0a%3c @]%0a%3c !!ndb%0a%3c now, edit /lib/ndb/auth%0a%3c [@%0a%3c hostid=username%0a%3c uid=!sys uid=!adm uid=*%0a%3c @]%0a%3c !!plan9.ini%0a%3c [@%0a%3c 9fs 9fat%0a%3c echo 'user=username' >> /n/9/plan9.ini%0a%3c @]%0a%3c and we're done.%0a\ No newline at end of file%0a
+host:1641468544=2.178.191.175
blob - /dev/null
blob + fd46ae554478dfd24e833496d8f2d6c2729cb137 (mode 644)
--- /dev/null
+++ wiki.d/9.Independent
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:93.0) Gecko/20100101 Firefox/93.0
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1640004446
+host=125.231.26.67
+name=9.Independent
+rev=1
+targets=
+text=(:title 9: Independent:)%0a%0aIndependent software for independent minds.
+time=1640004446
+title=9: Independent
+author:1640004446=jrmu
+diff:1640004446:1640004446:=1,3d0%0a%3c (:title 9: Independent:)%0a%3c %0a%3c Independent software for independent minds.%0a\ No newline at end of file%0a
+host:1640004446=125.231.26.67
blob - /dev/null
blob + 260d6c0962bd0406fec15d074e962dba3ae49753 (mode 644)
--- /dev/null
+++ wiki.d/9.Ndb,del-1642358792
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 6.1; rv:68.0) Gecko/20100101 Firefox/68.0 SeaMonkey/2.53.10.2
+author=mkf
+charset=UTF-8
+csum=
+ctime=1642357585
+host=188.210.105.217
+name=9.Ndb
+rev=1
+targets=
+text=TLDR: no dot on end of FQDN.
+time=1642357585
+author:1642357585=mkf
+diff:1642357585:1642357585:=1d0%0a%3c TLDR: no dot on end of FQDN.%0a\ No newline at end of file%0a
+host:1642357585=188.210.105.217
blob - /dev/null
blob + 13416403f2f26505cd64ecb3bbd08dff16e0fe13 (mode 644)
--- /dev/null
+++ wiki.d/9.Rcpu
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1642457909
+host=38.87.162.8
+name=9.Rcpu
+rev=2
+targets=
+text=To connect to watermelon.ircnow.org:%0a%0a[@%0a; echo 'sys=wm ip=45.61.185.213 auth=wm authdom=watermelon' >> /lib/ndb/local%0a; rcpu -u $USER -h watermelon.ircnow.org%0a@]%0a%0aTo create a new user:%0a%0a[@%0a; /sys/lib/newuser%0a@]%0a
+time=1642457942
+author:1642457942=jrmu
+diff:1642457942:1642457909:=6,11d5%0a%3c @]%0a%3c %0a%3c To create a new user:%0a%3c %0a%3c [@%0a%3c ; /sys/lib/newuser%0a
+host:1642457942=38.87.162.8
+author:1642457909=jrmu
+diff:1642457909:1642457909:=1,6d0%0a%3c To connect to watermelon.ircnow.org:%0a%3c %0a%3c [@%0a%3c ; echo 'sys=wm ip=45.61.185.213 auth=wm authdom=watermelon' >> /lib/ndb/local%0a%3c ; rcpu -u $USER -h watermelon.ircnow.org%0a%3c @]%0a
+host:1642457909=38.87.162.8
blob - /dev/null
blob + ab3180029eb9442920f9fa72f7356f5b54b452c4 (mode 644)
--- /dev/null
+++ wiki.d/Almanack.Route
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Firefox/91.0
+author=m16
+charset=UTF-8
+csum=
+ctime=1648527333
+host=166.70.207.2
+name=Almanack.Route
+rev=3
+targets=
+text='''Route is a tool for viewing and manipulating the kernel's IP routing table'''%0a\\%0aWith route you can configure your network routing to other hosts and gateways. You may have a bunch of virtual machines with a certain routing scheme, or physical computers with many NICs (Network Interface Card, or just network adapter). If you have a OpenBSD shell access you can try to show the current routing parameters of the machine.\\%0a\\%0aSome example usages:\\%0a''route -n show'' // Show routing table without resolving DNS names\\%0a''route show'' // Show routing table and solve DNS names\\%0a\\%0aTo add a route to the network 192.168.5.0/24 use:\\%0a''route add -inet 192.168.5.0/24 192.168.0.1''\\%0awhere the latter address is the gateway\\%0a\\%0aTo change the default gateway:\\%0aedit the file ''/etc/mygate'' directly\\%0a\\%0aPlease consider the route manual page for more information.
+time=1648527743
+author:1648527743=m16
+diff:1648527743:1648527724:=3c3%0a%3c With route you can configure your network routing to other hosts and gateways. You may have a bunch of virtual machines with a certain routing scheme, or physical computers with many NICs (Network Interface Card, or just network adapter). If you have a OpenBSD shell access you can try to show the current routing parameters of the machine.\\%0a---%0a> With route you can configure your network routing to other hosts and gateways. You may have a bunch of virtual machines with a certain routing scheme, or physical computers with many NICs (Network Interface Card, or just network adapter). If you have a OpenBSD shell access you can try to show the current routing parameters of the machine.%0a
+host:1648527743=166.70.207.2
+author:1648527724=m16
+diff:1648527724:1648527333:=2,4c2%0a%3c \\%0a%3c With route you can configure your network routing to other hosts and gateways. You may have a bunch of virtual machines with a certain routing scheme, or physical computers with many NICs (Network Interface Card, or just network adapter). If you have a OpenBSD shell access you can try to show the current routing parameters of the machine.%0a%3c \\%0a---%0a> %0a
+host:1648527724=166.70.207.2
+author:1648527333=m16
+diff:1648527333:1648527333:=1,14d0%0a%3c '''Route is a tool for viewing and manipulating the kernel's IP routing table'''%0a%3c %0a%3c Some example usages:\\%0a%3c ''route -n show'' // Show routing table without resolving DNS names\\%0a%3c ''route show'' // Show routing table and solve DNS names\\%0a%3c \\%0a%3c To add a route to the network 192.168.5.0/24 use:\\%0a%3c ''route add -inet 192.168.5.0/24 192.168.0.1''\\%0a%3c where the latter address is the gateway\\%0a%3c \\%0a%3c To change the default gateway:\\%0a%3c edit the file ''/etc/mygate'' directly\\%0a%3c \\%0a%3c Please consider the route manual page for more information.%0a\ No newline at end of file%0a
+host:1648527333=166.70.207.2
blob - /dev/null
blob + ef144d30a1fa96d8c13144054ff39fb64bc9ddb3 (mode 644)
--- /dev/null
+++ wiki.d/Bncnow.Bncnow
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1641122333
+host=38.87.162.8
+name=Bncnow.Bncnow
+rev=1
+targets=
+text=BNCNow -- an easy-to-use bouncer%0a%0a# Written in C programming language%0a# User only needs to create one connection for multiple networks%0a# Allows searching of old IRC history%0a# Can specify IPv6 or IPv4 as well as bindhost%0a# NickServ 'just works' across all major IRC networks%0a%0aPossibly forked from psybnc%0a
+time=1641122333
+author:1641122333=jrmu
+diff:1641122333:1641122333:=1,9d0%0a%3c BNCNow -- an easy-to-use bouncer%0a%3c %0a%3c # Written in C programming language%0a%3c # User only needs to create one connection for multiple networks%0a%3c # Allows searching of old IRC history%0a%3c # Can specify IPv6 or IPv4 as well as bindhost%0a%3c # NickServ 'just works' across all major IRC networks%0a%3c %0a%3c Possibly forked from psybnc%0a
+host:1641122333=38.87.162.8
blob - /dev/null
blob + ff6ed1517fafe74cfddaadcdf2c95675cff6c058 (mode 644)
--- /dev/null
+++ wiki.d/Bncnow.RecentChanges
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+charset=UTF-8
+ctime=1641122333
+host=38.87.162.8
+name=Bncnow.RecentChanges
+rev=1
+text=* [[Bncnow/Bncnow]] . . . January 02, 2022, at 11:18 AM by [[~jrmu]]: [==]%0a
+time=1641122333
blob - /dev/null
blob + 82199b2933d235a5eea03f6b7d3712be255ef6b5 (mode 644)
--- /dev/null
+++ wiki.d/Botnow.SqliteViews
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0
+author=xfnw
+charset=UTF-8
+csum=
+ctime=1644458409
+host=71.246.231.249
+name=Botnow.SqliteViews
+rev=2
+targets=
+text=by default, Botnow's sqlite database is scattered across different tables, making it difficult to search for similarities in different columns.%0a%0athis can be resolved by creating "views" which are basically virtual tables that are the output of some other statement%0a%0afor example, with these views%0a[@%0aCREATE VIEW bncirc AS SELECT * FROM irc INNER JOIN bnc ON irc.id = bnc.ircid;%0aCREATE VIEW shellirc AS SELECT * FROM irc INNER JOIN shell ON irc.id = shell.ircid;%0a@]%0a%0aif you wanted to find all shell accounts registered via gmail who are in the @@182.1.0.0/16@@ subnet, %0ainstead of having to use messy nested statements, it would be super simple%0a[@%0aSELECT username,email,ctcpversion FROM shellirc WHERE email LIKE "%25@gmail.com" AND ip LIKE "182.1.%25";%0a%0ausername email ctcpversion %0a-------- ------------------------------------ -----------------------------------------------------------------------------%0ajrmu ihaslotsofshellaccounts923@gmail.com AndroIRC - Android IRC Client (5.2 - Build 6830152) - http://www.androirc.com %0ajrsusmu redacted123@gmail.com AndroIRC - Android IRC Client (5.2 - Build 6830152) - http://www.androirc.com%0a@]%0aas we can see, jrmu is suspicious and might be a clone!%0a
+time=1644458447
+author:1644458447=xfnw
+diff:1644458447:1644458409:=12c12%0a%3c instead of having to use messy nested statements, it would be super simple%0a---%0a> it would be super simple, instead of having to use messy nested statements%0a
+host:1644458447=71.246.231.249
+author:1644458409=xfnw
+diff:1644458409:1644458409:=1,21d0%0a%3c by default, Botnow's sqlite database is scattered across different tables, making it difficult to search for similarities in different columns.%0a%3c %0a%3c this can be resolved by creating "views" which are basically virtual tables that are the output of some other statement%0a%3c %0a%3c for example, with these views%0a%3c [@%0a%3c CREATE VIEW bncirc AS SELECT * FROM irc INNER JOIN bnc ON irc.id = bnc.ircid;%0a%3c CREATE VIEW shellirc AS SELECT * FROM irc INNER JOIN shell ON irc.id = shell.ircid;%0a%3c @]%0a%3c %0a%3c if you wanted to find all shell accounts registered via gmail who are in the @@182.1.0.0/16@@ subnet, %0a%3c it would be super simple, instead of having to use messy nested statements%0a%3c [@%0a%3c SELECT username,email,ctcpversion FROM shellirc WHERE email LIKE "%25@gmail.com" AND ip LIKE "182.1.%25";%0a%3c %0a%3c username email ctcpversion %0a%3c -------- ------------------------------------ -----------------------------------------------------------------------------%0a%3c jrmu ihaslotsofshellaccounts923@gmail.com AndroIRC - Android IRC Client (5.2 - Build 6830152) - http://www.androirc.com %0a%3c jrsusmu redacted123@gmail.com AndroIRC - Android IRC Client (5.2 - Build 6830152) - http://www.androirc.com%0a%3c @]%0a%3c as we can see, jrmu is suspicious and might be a clone!%0a
+host:1644458409=71.246.231.249
blob - /dev/null
blob + 458ab4220182c63c115864b0a28dfab52affe05b (mode 644)
--- /dev/null
+++ wiki.d/Bots.Basicbot
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36
+author=izzyb
+charset=UTF-8
+csum=
+ctime=1643662492
+host=70.74.170.219
+name=Bots.Basicbot
+rev=1
+targets=
+text=!! Perl Bot::BasicBot document in progress.%0a
+time=1643662492
+author:1643662492=izzyb
+diff:1643662492:1643662492:=1d0%0a%3c !! Perl Bot::BasicBot document in progress.%0a
+host:1643662492=70.74.170.219
blob - /dev/null
blob + b8a4ea6d1083aa7e04d76710680246e8a1e78be3 (mode 644)
--- /dev/null
+++ wiki.d/Chess.Reading
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1648591343
+host=38.87.162.8
+name=Chess.Reading
+rev=1
+targets=
+text=https://www.chessstrategyonline.com/content/books/the-international-chess-congress-st-petersburg-1909%0a%0ahttps://www.gutenberg.org/files/33870/33870-h/33870-h.htm%0a%0ahttp://www.openchessbooks.org/reti-mic/chapter1/combination.html%0a%0a
+time=1648591343
+author:1648591343=jrmu
+diff:1648591343:1648591343:=1,6d0%0a%3c https://www.chessstrategyonline.com/content/books/the-international-chess-congress-st-petersburg-1909%0a%3c %0a%3c https://www.gutenberg.org/files/33870/33870-h/33870-h.htm%0a%3c %0a%3c http://www.openchessbooks.org/reti-mic/chapter1/combination.html%0a%3c %0a
+host:1648591343=38.87.162.8
blob - /dev/null
blob + 9bf2bb27d807331e3d2724487676749b9eaa022e (mode 644)
--- /dev/null
+++ wiki.d/Chess.RecentChanges
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+charset=UTF-8
+ctime=1648591343
+host=38.87.162.8
+name=Chess.RecentChanges
+rev=1
+text=* [[Chess/Reading]] . . . March 29, 2022, at 10:02 PM by [[~jrmu]]: [==]%0a
+time=1648591343
blob - /dev/null
blob + b559069ac3f0b135d1fff2d8b11e863534bc9a93 (mode 644)
--- /dev/null
+++ wiki.d/Crontab.Edit
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0 SeaMonkey/2.53.10.2
+author=mkf
+charset=UTF-8
+csum=
+ctime=1642876551
+host=38.87.162.40
+name=Crontab.Edit
+rev=2
+targets=
+text=By default, crontab will use whatever editor is stored in the VISUAL or EDITOR environmental variable, or vi if both are undefined.%0a%0aIf you want to change the editor, type:%0a[@%0a$ export EDITOR=%3cprogram>%0a$ export VISUAL=%3cprogram>%0a@]%0a%0aReplace @@%3cprogram>@@ with your actual editor.
+time=1642960004
+author:1642960004=mkf
+diff:1642960004:1642876551:=9c9%0a%3c Replace @@%3cprogram>@@ with your actual editor.%0a\ No newline at end of file%0a---%0a> Replace %3cprogram> with your actual editor.%0a\ No newline at end of file%0a
+host:1642960004=38.87.162.40
+author:1642876551=Naglfar
+csum:1642876551=Add Crontab
+diff:1642876551:1642876551:=1,9d0%0a%3c By default, crontab will use whatever editor is stored in the VISUAL or EDITOR environmental variable, or vi if both are undefined.%0a%3c %0a%3c If you want to change the editor, type:%0a%3c [@%0a%3c $ export EDITOR=%3cprogram>%0a%3c $ export VISUAL=%3cprogram>%0a%3c @]%0a%3c %0a%3c Replace %3cprogram> with your actual editor.%0a\ No newline at end of file%0a
+host:1642876551=92.191.225.58
blob - /dev/null
blob + 3f7ed1c21a716390efac5e1f03ed91f3ddb769f9 (mode 644)
--- /dev/null
+++ wiki.d/Crontab.RecentChanges
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0 SeaMonkey/2.53.10.2
+charset=UTF-8
+ctime=1642876551
+host=38.87.162.40
+name=Crontab.RecentChanges
+rev=2
+text=* [[Crontab/Edit]] . . . January 23, 2022, at 05:46 PM by [[~mkf]]: [==]%0a
+time=1642960004
blob - /dev/null
blob + f11215c1cb709e8783ee7d28581059049bcc1c20 (mode 644)
--- /dev/null
+++ wiki.d/Ddos.Intro
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1648138925
+host=38.87.162.154
+name=Ddos.Intro
+rev=1
+targets=Openbsd.SSDP,Openbsd.ACKFlood,Openbsd.Tcpresetflood,Openbsd.Cu,Openbsd.Vmmuser,Openbsd.Buyvm,Openbsd.Tcpdump,Openbsd.Scp,Openbsd.Sftp,Openbsd.SYNFlood,Openbsd.HTTPFlood,Openbsd.NTPAmplification,Openbsd.UDPFlood,Openbsd.RSTFlood,Openbsd.Police
+text=(:title DDoS Defense Guide:)%0a%0a!! How to Detect an Attack%0a%0aIf suddenly you see many users disconnect from a server...%0a%0a[@%0a[12:31:23] *** Quits: Lucifer_|des (JohnReb@AEJva.DesireNET.Org) (Ping timeout)%0a[12:31:51] *** Quits: depeche|nat (depeche@depeche.users.nationchat.org) (Ping timeout)%0a[12:32:36] *** Quits: iulian7502|des (iulian@ADx0-.DesireNET.Org) (Ping timeout)%0a[12:34:07] *** Quits: Counter|under (CPT@CPT.fig.ircnow.org) (Ping timeout)%0a[12:34:12] *** Quits: katrok|quake (katrok@katrok.bnc1.ircnow.org) (Ping timeout)%0a[12:34:19] *** Quits: Lucifer|des (Lucifer@ACXJz.DesireNET.Org) (Ping timeout)%0a[12:35:29] *** Quits: depeche|quake (depeche@depeche.users.quakenet.org) (Ping timeout)%0a[12:35:38] *** Quits: Elafi|under (Elafi@Elafi.fig.ircnow.org) (Ping timeout)%0a[12:35:52] *** Quits: edu|dal (ed@fig.ircnow.org) (Ping timeout)%0a[12:36:45] *** Quits: Soportes (Soportes@Soportes.fig.ircnow.org) ("IRCNow and Forever!")%0a@]%0a%0a...your server may be under attack!%0a%0a!! Different Attack Types%0a%0aIf you see ping timeouts like above, your server's bandwidth is clogged with so many junk packets that it cannot respond to real traffic. This could be the result of a [[openbsd/SSDP|SSDP attack]] or a [[openbsd/ACKFlood|TCP ack flood]]. Logging and analyzing incoming packets is how we identify the attack type.%0a%0aIf you see many @@EOF from client@@, @@Read error: Input/output error@@, or @@Client closed connection@@ quit messages, this may be due to a [[openbsd/tcpresetflood|TCP reset flood]]:%0a%0a[@%0a[02:02:42] *** Quits: jrmu|dal (jrmu@jrmu.plum.ircnow.org) (Read error: Input/output error)%0a[02:02:42] *** Quits: semut_|dal (semut@semut.lu2.ircnow.org) (Client closed connection)%0a[02:02:42] *** Quits: starr|dal (starr@starr.lu2.ircnow.org) (Read error: Input/output error)%0a[02:02:42] *** Quits: Gisa|dal (thekingofb@thekingofbandit.lu2.ircnow.org) (Read error: Input/output error)%0a[02:02:42] *** Quits: Gisa|quake (thekingofb@lu2.ircnow.org) (EOF from client)%0a[02:02:42] *** Quits: Freak|quake (Freak@Freak.lu2.ircnow.org) (EOF from client)%0a[02:02:42] *** Quits: IRCuser|quake (unknwon@IRCuser.users.quakenet.org) (EOF from client)%0a[02:02:42] *** Quits: ramadi|quake (ramadi@ramadi.lu2.ircnow.org) (EOF from client)%0a[02:02:43] *** Quits: Fat1 (Fatfem@Fatfem.lu2.ircnow.org) (Client closed connection)%0a[02:02:43] *** Quits: Freak (Freak@Freak.lu2.ircnow.org) (Client closed connection)%0a@]%0a%0a!! Confirming an Attack%0a%0aTo see if there is a ddos attack, first run:%0a%0a[@%0a$ ping fruit.ircnow.org%0a@]%0a%0aReplace fruit.ircnow.org with your actual server's hostname. If you get more than 30%25 packet loss, this could be a sign you are being flooded with fake packets. During a DDoS, an attacker is flooding your internet pipe with junk packets so that your server is unable to respond to any real network traffic.%0a%0aCheck the serial console (using [[openbsd/cu|cu]] if on [[openbsd/vmmuser|VMM]], VNC if on [[openbsd/buyvm|BuyVM]]). Try to log in and see if the system is still responsive. If the server is offline or has errors, it may be due to hardware/software issues rather than a DDoS attack.%0a%0aDuring a DDoS attack, your system should feel slightly sluggish. This is due to the massive number of packets that OpenBSD must process. Run @@top@@. If you see the system/interrupt CPU usage at 50%25 or more, then you either have a process using too much CPU or you may be under an attack. If the CPU usage is low, under 5%25, it might not be a DDoS attack. It could be a networking or hardware issue, or an attack of another nature.%0a%0aIf you suspect an attack, you should log the packets that are coming in:%0a%0a[@%0a$ doas tcpdump -w YYYYMMDDSS.pcap%0a@]%0a%0aThis will log the packets onto the file @@YYYYMMDDSS.pcap@@, where YYYY is the year, MM is the month, DD is the day, and SS is the serial number.%0a%0aYou can fine-tune this:%0a%0a[@%0a$ doas tcpdump -i vio0 -s 1500 -A -v -n -w YYYYMMDDSS.pcap%0a@]%0a%0aIn the above command, the argument -i specifies the interface @@vio0@@, -s 1500 analyzes the first 1500 bytes, -A prints each packet in ASCII, -v provides more verbose output, and -n avoids address conversion. Make sure to read up on [[openbsd/tcpdump|tcpdump]].%0a%0aTo stop collection, type [ctrl]+c, @@^C@@. If you log for a few seconds and only receive a few hundred packets, perhaps you are '''not''' under attack. If, however, you see millions of packets arriving within a few seconds, you are certainly under attack. Save the pcap file because it is very useful for forensics. We will use it for reporting the attacker and for blocking his attacks.%0a%0aTo read the pcap, you can transfer the pcap to your desktop using [[openbsd/scp|scp]] or [[openbsd/sftp|sftp]]. Or, more quickly, you can analyze it on the server itself using tcpdump. Use the same options but replace -w with -r:%0a%0a[@%0a$ doas tcpdump -r YYYYMMDDSS.pcap%0a@]%0a%0aor%0a%0a[@%0a$ doas tcpdump -i vio0 -s 1500 -A -v -n -r YYYYMMDDSS.pcap%0a@]%0a%0a!! Identifying Attack Type%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Common DDoS Attacks !||%0a||! Name ||! Packet Type ||! Description ||%0a|| [[openbsd/SYNFlood|SYN Flood]] || SYN packets || Your server sends ACK packets and wastes resources on useless TCP connections ||%0a|| [[openbsd/HTTPFlood|HTTP Flood]] || HTTP packets || Your server wastes resources responding to fake HTTP requests ||%0a|| [[openbsd/NTPAmplification|NTP Amplification]] || NTP packets || Your server is flooded with fake NTP packets ||%0a|| [[openbsd/UDPFlood|UDP Flood]] || UDP packets || Your server receives lots of fake UDP packets at random ports ||%0a|| [[openbsd/SSDP|SSDP Attacks]] || SSDP packets || Your server is flooded with packets from Universal Plug and Play (UPnP) devices ||%0a|| [[openbsd/ACKFlood|TCP ACK Flood]] || ACK packets || Your server is flooded with useless ACK packets ||%0a|| [[openbsd/RSTFlood|TCP RST Flood]] || RST packets || Your system daemons are tricked into disconnecting by fake RST (reset) packets ||%0a%0a!! Reporting Criminals%0a%0aTo stop abuse, it is necessary to report attackers. Often, a DDoSer can be quickly identified because an attack took place during an argument. A DDoSer may also be a competitor or have some other financial motive. If the pcap shows a specific IPv6 address was targeted, contact the user with that unique IPv6 address and ask him for clues. Attackers sometimes will show up on your channel to insult or mock you during an attack. This type of evidence, although not 100%25 certain, can provide clues as to who is behind an attack.%0a%0aHints provide a very useful starting point, but you will still need to do the necessary investigation in order to get enough evidence to report. Please see the [[openbsd/police|police guide]].%0a%0aKeep in mind that criminals often spoof IP addresses (lie about the source IP address) or use proxies (other insecure machines) to amplify their attacks. Logs of packets alone often do not provide enough evidence to report a criminal. Attackers often amplify their attacks using IoT devices, universities, and large corporations to mask their true origin. The attacking IP might be the stolen server, home computer, or electronic device of some innocent bystander.%0a%0a!! DDoS Filtering%0a%0aIf you are hosting a public service, sooner or later you will get hit with DDoS attacks. The Internet is full of criminals, and the anonymity of IRC makes it hard to catch them. Strong and determined attackers can sustain DDoS attacks of more than 500Gbps.%0a%0aA software firewall on a single server alone cannot stop all DDoS attacks because of physical limitations. Once the maximum bandwidth of your server is reached, it is unable to accept any further traffic. If you get attacked but you are not using a filtered IP, your provider will null route your IP (take it offline). So long as the attack continues, your service will be completely offline, and your users will blame you.%0a%0aAs a result, we are forced to purchase DDoS filtering or acquire more bandwidth. Both solutions cost money, which is why it is necessary to work as a team to purchase more bandwidth at a cheaper rate. The larger our network, the more money we can afford to spend on DDoS defenses. It is wise to avoid depending entirely upon one single internet provider like Cloudflare or Voxility. Using diverse providers decreases the risk of failure.%0a%0a!! Troubleshooting%0a%0aCloudflare/Voxility's DDoS protection can mangle SSL certs when you make requests from some servers. For example, I noticed HTTPS requests to Let's Encrypt's servers were being mangled: %0a%0a[@%0a$ openssl s_client -connect 172.65.32.248:443%0a@]%0a%0aIt just hung there with no certificate being issued. If this happens, you will need to report this to the Internet Provider ([[https://buyvm.net|BuyVM]]).%0a%0aDDoS filtered IPs have been known to mangle SMTP, NTP, and DNS packets. So if networking fails for some inexplicable reason, check using openssl to see if SSL certs are being mangled.%0a
+time=1648138925
+title=DDoS Defense Guide
+author:1648138925=jrmu
+diff:1648138925:1648138925:=1,124d0%0a%3c (:title DDoS Defense Guide:)%0a%3c %0a%3c !! How to Detect an Attack%0a%3c %0a%3c If suddenly you see many users disconnect from a server...%0a%3c %0a%3c [@%0a%3c [12:31:23] *** Quits: Lucifer_|des (JohnReb@AEJva.DesireNET.Org) (Ping timeout)%0a%3c [12:31:51] *** Quits: depeche|nat (depeche@depeche.users.nationchat.org) (Ping timeout)%0a%3c [12:32:36] *** Quits: iulian7502|des (iulian@ADx0-.DesireNET.Org) (Ping timeout)%0a%3c [12:34:07] *** Quits: Counter|under (CPT@CPT.fig.ircnow.org) (Ping timeout)%0a%3c [12:34:12] *** Quits: katrok|quake (katrok@katrok.bnc1.ircnow.org) (Ping timeout)%0a%3c [12:34:19] *** Quits: Lucifer|des (Lucifer@ACXJz.DesireNET.Org) (Ping timeout)%0a%3c [12:35:29] *** Quits: depeche|quake (depeche@depeche.users.quakenet.org) (Ping timeout)%0a%3c [12:35:38] *** Quits: Elafi|under (Elafi@Elafi.fig.ircnow.org) (Ping timeout)%0a%3c [12:35:52] *** Quits: edu|dal (ed@fig.ircnow.org) (Ping timeout)%0a%3c [12:36:45] *** Quits: Soportes (Soportes@Soportes.fig.ircnow.org) ("IRCNow and Forever!")%0a%3c @]%0a%3c %0a%3c ...your server may be under attack!%0a%3c %0a%3c !! Different Attack Types%0a%3c %0a%3c If you see ping timeouts like above, your server's bandwidth is clogged with so many junk packets that it cannot respond to real traffic. This could be the result of a [[openbsd/SSDP|SSDP attack]] or a [[openbsd/ACKFlood|TCP ack flood]]. Logging and analyzing incoming packets is how we identify the attack type.%0a%3c %0a%3c If you see many @@EOF from client@@, @@Read error: Input/output error@@, or @@Client closed connection@@ quit messages, this may be due to a [[openbsd/tcpresetflood|TCP reset flood]]:%0a%3c %0a%3c [@%0a%3c [02:02:42] *** Quits: jrmu|dal (jrmu@jrmu.plum.ircnow.org) (Read error: Input/output error)%0a%3c [02:02:42] *** Quits: semut_|dal (semut@semut.lu2.ircnow.org) (Client closed connection)%0a%3c [02:02:42] *** Quits: starr|dal (starr@starr.lu2.ircnow.org) (Read error: Input/output error)%0a%3c [02:02:42] *** Quits: Gisa|dal (thekingofb@thekingofbandit.lu2.ircnow.org) (Read error: Input/output error)%0a%3c [02:02:42] *** Quits: Gisa|quake (thekingofb@lu2.ircnow.org) (EOF from client)%0a%3c [02:02:42] *** Quits: Freak|quake (Freak@Freak.lu2.ircnow.org) (EOF from client)%0a%3c [02:02:42] *** Quits: IRCuser|quake (unknwon@IRCuser.users.quakenet.org) (EOF from client)%0a%3c [02:02:42] *** Quits: ramadi|quake (ramadi@ramadi.lu2.ircnow.org) (EOF from client)%0a%3c [02:02:43] *** Quits: Fat1 (Fatfem@Fatfem.lu2.ircnow.org) (Client closed connection)%0a%3c [02:02:43] *** Quits: Freak (Freak@Freak.lu2.ircnow.org) (Client closed connection)%0a%3c @]%0a%3c %0a%3c !! Confirming an Attack%0a%3c %0a%3c To see if there is a ddos attack, first run:%0a%3c %0a%3c [@%0a%3c $ ping fruit.ircnow.org%0a%3c @]%0a%3c %0a%3c Replace fruit.ircnow.org with your actual server's hostname. If you get more than 30%25 packet loss, this could be a sign you are being flooded with fake packets. During a DDoS, an attacker is flooding your internet pipe with junk packets so that your server is unable to respond to any real network traffic.%0a%3c %0a%3c Check the serial console (using [[openbsd/cu|cu]] if on [[openbsd/vmmuser|VMM]], VNC if on [[openbsd/buyvm|BuyVM]]). Try to log in and see if the system is still responsive. If the server is offline or has errors, it may be due to hardware/software issues rather than a DDoS attack.%0a%3c %0a%3c During a DDoS attack, your system should feel slightly sluggish. This is due to the massive number of packets that OpenBSD must process. Run @@top@@. If you see the system/interrupt CPU usage at 50%25 or more, then you either have a process using too much CPU or you may be under an attack. If the CPU usage is low, under 5%25, it might not be a DDoS attack. It could be a networking or hardware issue, or an attack of another nature.%0a%3c %0a%3c If you suspect an attack, you should log the packets that are coming in:%0a%3c %0a%3c [@%0a%3c $ doas tcpdump -w YYYYMMDDSS.pcap%0a%3c @]%0a%3c %0a%3c This will log the packets onto the file @@YYYYMMDDSS.pcap@@, where YYYY is the year, MM is the month, DD is the day, and SS is the serial number.%0a%3c %0a%3c You can fine-tune this:%0a%3c %0a%3c [@%0a%3c $ doas tcpdump -i vio0 -s 1500 -A -v -n -w YYYYMMDDSS.pcap%0a%3c @]%0a%3c %0a%3c In the above command, the argument -i specifies the interface @@vio0@@, -s 1500 analyzes the first 1500 bytes, -A prints each packet in ASCII, -v provides more verbose output, and -n avoids address conversion. Make sure to read up on [[openbsd/tcpdump|tcpdump]].%0a%3c %0a%3c To stop collection, type [ctrl]+c, @@^C@@. If you log for a few seconds and only receive a few hundred packets, perhaps you are '''not''' under attack. If, however, you see millions of packets arriving within a few seconds, you are certainly under attack. Save the pcap file because it is very useful for forensics. We will use it for reporting the attacker and for blocking his attacks.%0a%3c %0a%3c To read the pcap, you can transfer the pcap to your desktop using [[openbsd/scp|scp]] or [[openbsd/sftp|sftp]]. Or, more quickly, you can analyze it on the server itself using tcpdump. Use the same options but replace -w with -r:%0a%3c %0a%3c [@%0a%3c $ doas tcpdump -r YYYYMMDDSS.pcap%0a%3c @]%0a%3c %0a%3c or%0a%3c %0a%3c [@%0a%3c $ doas tcpdump -i vio0 -s 1500 -A -v -n -r YYYYMMDDSS.pcap%0a%3c @]%0a%3c %0a%3c !! Identifying Attack Type%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Common DDoS Attacks !||%0a%3c ||! Name ||! Packet Type ||! Description ||%0a%3c || [[openbsd/SYNFlood|SYN Flood]] || SYN packets || Your server sends ACK packets and wastes resources on useless TCP connections ||%0a%3c || [[openbsd/HTTPFlood|HTTP Flood]] || HTTP packets || Your server wastes resources responding to fake HTTP requests ||%0a%3c || [[openbsd/NTPAmplification|NTP Amplification]] || NTP packets || Your server is flooded with fake NTP packets ||%0a%3c || [[openbsd/UDPFlood|UDP Flood]] || UDP packets || Your server receives lots of fake UDP packets at random ports ||%0a%3c || [[openbsd/SSDP|SSDP Attacks]] || SSDP packets || Your server is flooded with packets from Universal Plug and Play (UPnP) devices ||%0a%3c || [[openbsd/ACKFlood|TCP ACK Flood]] || ACK packets || Your server is flooded with useless ACK packets ||%0a%3c || [[openbsd/RSTFlood|TCP RST Flood]] || RST packets || Your system daemons are tricked into disconnecting by fake RST (reset) packets ||%0a%3c %0a%3c !! Reporting Criminals%0a%3c %0a%3c To stop abuse, it is necessary to report attackers. Often, a DDoSer can be quickly identified because an attack took place during an argument. A DDoSer may also be a competitor or have some other financial motive. If the pcap shows a specific IPv6 address was targeted, contact the user with that unique IPv6 address and ask him for clues. Attackers sometimes will show up on your channel to insult or mock you during an attack. This type of evidence, although not 100%25 certain, can provide clues as to who is behind an attack.%0a%3c %0a%3c Hints provide a very useful starting point, but you will still need to do the necessary investigation in order to get enough evidence to report. Please see the [[openbsd/police|police guide]].%0a%3c %0a%3c Keep in mind that criminals often spoof IP addresses (lie about the source IP address) or use proxies (other insecure machines) to amplify their attacks. Logs of packets alone often do not provide enough evidence to report a criminal. Attackers often amplify their attacks using IoT devices, universities, and large corporations to mask their true origin. The attacking IP might be the stolen server, home computer, or electronic device of some innocent bystander.%0a%3c %0a%3c !! DDoS Filtering%0a%3c %0a%3c If you are hosting a public service, sooner or later you will get hit with DDoS attacks. The Internet is full of criminals, and the anonymity of IRC makes it hard to catch them. Strong and determined attackers can sustain DDoS attacks of more than 500Gbps.%0a%3c %0a%3c A software firewall on a single server alone cannot stop all DDoS attacks because of physical limitations. Once the maximum bandwidth of your server is reached, it is unable to accept any further traffic. If you get attacked but you are not using a filtered IP, your provider will null route your IP (take it offline). So long as the attack continues, your service will be completely offline, and your users will blame you.%0a%3c %0a%3c As a result, we are forced to purchase DDoS filtering or acquire more bandwidth. Both solutions cost money, which is why it is necessary to work as a team to purchase more bandwidth at a cheaper rate. The larger our network, the more money we can afford to spend on DDoS defenses. It is wise to avoid depending entirely upon one single internet provider like Cloudflare or Voxility. Using diverse providers decreases the risk of failure.%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c Cloudflare/Voxility's DDoS protection can mangle SSL certs when you make requests from some servers. For example, I noticed HTTPS requests to Let's Encrypt's servers were being mangled: %0a%3c %0a%3c [@%0a%3c $ openssl s_client -connect 172.65.32.248:443%0a%3c @]%0a%3c %0a%3c It just hung there with no certificate being issued. If this happens, you will need to report this to the Internet Provider ([[https://buyvm.net|BuyVM]]).%0a%3c %0a%3c DDoS filtered IPs have been known to mangle SMTP, NTP, and DNS packets. So if networking fails for some inexplicable reason, check using openssl to see if SSL certs are being mangled.%0a
+host:1648138925=38.87.162.154
blob - /dev/null
blob + 4bba7666ca991ef274a1c318aafe63f5454ecf25 (mode 644)
--- /dev/null
+++ wiki.d/Ddos.RecentChanges
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+charset=UTF-8
+ctime=1648138925
+host=38.87.162.154
+name=Ddos.RecentChanges
+rev=1
+text=* [[Ddos/Intro]] . . . March 24, 2022, at 04:22 PM by [[~jrmu]]: [==]%0a
+time=1648138925
blob - /dev/null
blob + 4ee069f4a75f06a0377bbdb0802e2e6d342bb6c4 (mode 644)
--- /dev/null
+++ wiki.d/Debate.Ircnowd
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1644863049
+host=38.87.162.8
+name=Debate.Ircnowd
+rev=1
+targets=
+text=(:title Why we need our own ircd:)%0a%0a!! Motivation%0a%0aWe want a chat platform that normal people can use without reading manuals. We don't want a social network for elitists, we want a social network for normal users.%0a%0aUnrealIRCd and InspIRCd do not solve spam problems intuitively. They use almost a hundred different flags to ban innocent users in almost a hundred different ways. IRCNow bouncers were only recently banned by some inexperienced Unreal opers. Just a few days ago, they gave us express permission to connect with an iline, then recently Z-lined our IPs by accident for being proxies.%0a%0aAccidental banning happens on a daily basis because UnrealIRCd is too confusing for average users to administer. Channel ops also struggle to be able to administer their own channels because of the needlessly complex settings.%0a%0aHere are some example flags that are highly confusing and of no use:%0a%0a[@%0aD chanmodes/delayjoin Delays someone's JOIN message until that person speaks. Chanops and higher, opers and ulines/services are exempt. Requires +o or higher %0aQ chanmodes/nokick No /KICK allowed. Can be used to force all chanops to use Services for kicking. Unusual, but possible. %0aV chanmodes/noinvite /INVITE is not permitted. %0a@]%0a
+time=1644863049
+title=Why we need our own ircd
+author:1644863049=jrmu
+diff:1644863049:1644863049:=1,17d0%0a%3c (:title Why we need our own ircd:)%0a%3c %0a%3c !! Motivation%0a%3c %0a%3c We want a chat platform that normal people can use without reading manuals. We don't want a social network for elitists, we want a social network for normal users.%0a%3c %0a%3c UnrealIRCd and InspIRCd do not solve spam problems intuitively. They use almost a hundred different flags to ban innocent users in almost a hundred different ways. IRCNow bouncers were only recently banned by some inexperienced Unreal opers. Just a few days ago, they gave us express permission to connect with an iline, then recently Z-lined our IPs by accident for being proxies.%0a%3c %0a%3c Accidental banning happens on a daily basis because UnrealIRCd is too confusing for average users to administer. Channel ops also struggle to be able to administer their own channels because of the needlessly complex settings.%0a%3c %0a%3c Here are some example flags that are highly confusing and of no use:%0a%3c %0a%3c [@%0a%3c D chanmodes/delayjoin Delays someone's JOIN message until that person speaks. Chanops and higher, opers and ulines/services are exempt. Requires +o or higher %0a%3c Q chanmodes/nokick No /KICK allowed. Can be used to force all chanops to use Services for kicking. Unusual, but possible. %0a%3c V chanmodes/noinvite /INVITE is not permitted. %0a%3c @]%0a
+host:1644863049=38.87.162.8
blob - /dev/null
blob + 72b17e5b62de33903794a29071ea1b141fce3889 (mode 644)
--- /dev/null
+++ wiki.d/Debiankaios.Bio
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0
+author=debiankaios
+charset=UTF-8
+csum=
+ctime=1648832974
+host=77.22.249.156
+name=Debiankaios.Bio
+rev=3
+targets=
+text=Hi, i am debiankaios. Coming from germany, i guess the only in the team to time.%0a%0a'''Projects'''%0a- helping at freeirc%0a- some minetest related things%0a- working on game called [[https://gitlab.com/merge_box/mergebox | merge box]]
+time=1648833003
+author:1648833003=debiankaios
+diff:1648833003:1648833000:=
+host:1648833003=77.22.249.156
+author:1648833000=debiankaios
+diff:1648833000:1648832974:=6c6%0a%3c - working on game called [[https://gitlab.com/merge_box/mergebox | merge box]]%0a\ No newline at end of file%0a---%0a> - working on game called [[merge box | https://gitlab.com/merge_box/mergebox]]%0a\ No newline at end of file%0a
+host:1648833000=77.22.249.156
+author:1648832974=debiankaios
+diff:1648832974:1648832974:=1,6d0%0a%3c Hi, i am debiankaios. Coming from germany, i guess the only in the team to time.%0a%3c %0a%3c '''Projects'''%0a%3c - helping at freeirc%0a%3c - some minetest related things%0a%3c - working on game called [[merge box | https://gitlab.com/merge_box/mergebox]]%0a\ No newline at end of file%0a
+host:1648832974=77.22.249.156
blob - /dev/null
blob + f622c888f24f734f2c019ad6fe468268c65195c4 (mode 644)
--- /dev/null
+++ wiki.d/Debiankaios.RecentChanges
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0
+charset=UTF-8
+ctime=1648832974
+host=77.22.249.156
+name=Debiankaios.RecentChanges
+rev=3
+text=* [[Debiankaios/Bio]] . . . April 01, 2022, at 05:10 PM by [[~debiankaios]]: [==]%0a
+time=1648833003
blob - /dev/null
blob + beb1e555d05aaed537f4a54a031ad48424dd0530 (mode 644)
--- /dev/null
+++ wiki.d/Dns.BindResolver
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; Linux x86_64; rv:94.0) Gecko/20100101 Firefox/94.0
+author=nixdork
+charset=UTF-8
+csum=First draft of bind resolver howto
+ctime=1644478229
+host=185.220.100.255
+name=Dns.BindResolver
+rev=1
+targets=
+text=All servers need a way to resolve ip addresses to and from hostnames. In the good old days of the internet you could point your /etc/resolv.conf file at any valid nameserver and things would Just Work(tm). Not anymore.%0a%0aUnfortunately the bad guys have figured out that by spoofing millions of dns requests and setting the fake origin address to your ip they could get thousands of nameservers to flood you with millions of dns responses. Since those responses are usually 10-100 times bigger than the request this makes for a very nice [[https://en.wikipedia.org/wiki/Denial-of-service_attack#Amplification|dns amplification attack]].%0a%0aThis is why most nameservers on the internet stopped offering anonymous resolver services. So most people let some horrible company do it for them "for free". This is known as [[https://www.zdnet.com/article/how-surveillance-capitalism-will-totally-transform-the-domain-name-system/|surveillance capitalism]]. But we care about freedom and defending our user's privacy so we are going to rely on systems that we build and maintain ourselves.%0a%0aTo quickly install and configure your own dns resolver that is available only for your clients you can do this:%0a%0a[@%0a# pkg_add isc-bind%0aquirks-4.54 signed on 2022-02-09T17:55:10Z%0aAmbiguous: choose package for isc-bind%0aa 0: %3cNone>%0a 1: isc-bind-9.16.23v3%0a 2: isc-bind-9.16.23v3-geoip%0aYour choice: @] '''1''' [@%0aisc-bind-9.16.23v3:libuv-1.40.0: ok%0aisc-bind-9.16.23v3:json-c-0.13.1p0: ok%0aisc-bind-9.16.23v3: ok%0aThe following new rcscripts were installed: /etc/rc.d/isc_named%0aSee rcctl(8) for details.%0a%0a@]%0a%0aThen do this:%0a%0a'''cd /var/named/etc'''%0a%0a'''ftp https://www.internic.net/domain/named.root'''%0a%0a%0aNow you just need to configure the named.conf file. For your convenience you can cut and paste this to overwrite the existing file:%0a%0a[@%0a'''cat %3c%3cEOF > named.conf'''%0a// $OpenBSD: named.conf,v 1.3 2020/05/29 20:05:37 sthen Exp $%0a//%0a// Example file for a simple configuration of BIND, processing only%0a// recursive queries. Consult BIND's Administration and Reference Manual%0a// for more information.%0a%0aacl clients {%0a localnets;%0a ::1;%0a};%0a%0aoptions {%0a directory "/tmp"; // working directory, inside the /var/named chroot%0a // - must be writable by _bind%0a version ""; // remove this to allow version queries%0a%0a listen-on { any; };%0a listen-on-v6 { any; };%0a%0a empty-zones-enable yes;%0a%0a allow-recursion { 127.0.0.0/8; 38.81.163.0/24; 38.87.162.0/24; 2602:fccf:1::/48; };%0a};%0a%0azone "." {%0a type hint;%0a file "/etc/named.root";%0a};%0aEOF%0a%0a@]%0a%0aOr you can download this version instead: Attach:named.conf%0a%0aNow all you need to do is edit your server's /etc/resolv.conf and add a line like this:%0a%0a[@%0anameserver 127.0.0.1%0a@]%0a%0aAnd on every other client you would put your new nameserver's ip address in there instead:%0a%0a[@%0anameserver 38.87.162.999%0a@]%0a%0a
+time=1644478229
+author:1644478229=nixdork
+csum:1644478229=First draft of bind resolver howto
+diff:1644478229:1644478229:=1,81d0%0a%3c All servers need a way to resolve ip addresses to and from hostnames. In the good old days of the internet you could point your /etc/resolv.conf file at any valid nameserver and things would Just Work(tm). Not anymore.%0a%3c %0a%3c Unfortunately the bad guys have figured out that by spoofing millions of dns requests and setting the fake origin address to your ip they could get thousands of nameservers to flood you with millions of dns responses. Since those responses are usually 10-100 times bigger than the request this makes for a very nice [[https://en.wikipedia.org/wiki/Denial-of-service_attack#Amplification|dns amplification attack]].%0a%3c %0a%3c This is why most nameservers on the internet stopped offering anonymous resolver services. So most people let some horrible company do it for them "for free". This is known as [[https://www.zdnet.com/article/how-surveillance-capitalism-will-totally-transform-the-domain-name-system/|surveillance capitalism]]. But we care about freedom and defending our user's privacy so we are going to rely on systems that we build and maintain ourselves.%0a%3c %0a%3c To quickly install and configure your own dns resolver that is available only for your clients you can do this:%0a%3c %0a%3c [@%0a%3c # pkg_add isc-bind%0a%3c quirks-4.54 signed on 2022-02-09T17:55:10Z%0a%3c Ambiguous: choose package for isc-bind%0a%3c a 0: %3cNone>%0a%3c 1: isc-bind-9.16.23v3%0a%3c 2: isc-bind-9.16.23v3-geoip%0a%3c Your choice: @] '''1''' [@%0a%3c isc-bind-9.16.23v3:libuv-1.40.0: ok%0a%3c isc-bind-9.16.23v3:json-c-0.13.1p0: ok%0a%3c isc-bind-9.16.23v3: ok%0a%3c The following new rcscripts were installed: /etc/rc.d/isc_named%0a%3c See rcctl(8) for details.%0a%3c %0a%3c @]%0a%3c %0a%3c Then do this:%0a%3c %0a%3c '''cd /var/named/etc'''%0a%3c %0a%3c '''ftp https://www.internic.net/domain/named.root'''%0a%3c %0a%3c %0a%3c Now you just need to configure the named.conf file. For your convenience you can cut and paste this to overwrite the existing file:%0a%3c %0a%3c [@%0a%3c '''cat %3c%3cEOF > named.conf'''%0a%3c // $OpenBSD: named.conf,v 1.3 2020/05/29 20:05:37 sthen Exp $%0a%3c //%0a%3c // Example file for a simple configuration of BIND, processing only%0a%3c // recursive queries. Consult BIND's Administration and Reference Manual%0a%3c // for more information.%0a%3c %0a%3c acl clients {%0a%3c localnets;%0a%3c ::1;%0a%3c };%0a%3c %0a%3c options {%0a%3c directory "/tmp"; // working directory, inside the /var/named chroot%0a%3c // - must be writable by _bind%0a%3c version ""; // remove this to allow version queries%0a%3c %0a%3c listen-on { any; };%0a%3c listen-on-v6 { any; };%0a%3c %0a%3c empty-zones-enable yes;%0a%3c %0a%3c allow-recursion { 127.0.0.0/8; 38.81.163.0/24; 38.87.162.0/24; 2602:fccf:1::/48; };%0a%3c };%0a%3c %0a%3c zone "." {%0a%3c type hint;%0a%3c file "/etc/named.root";%0a%3c };%0a%3c EOF%0a%3c %0a%3c @]%0a%3c %0a%3c Or you can download this version instead: Attach:named.conf%0a%3c %0a%3c Now all you need to do is edit your server's /etc/resolv.conf and add a line like this:%0a%3c %0a%3c [@%0a%3c nameserver 127.0.0.1%0a%3c @]%0a%3c %0a%3c And on every other client you would put your new nameserver's ip address in there instead:%0a%3c %0a%3c [@%0a%3c nameserver 38.87.162.999%0a%3c @]%0a%3c %0a
+host:1644478229=185.220.100.255
blob - /dev/null
blob + ad9acc45181b118534a3bce49aeef12960283ca3 (mode 644)
--- /dev/null
+++ wiki.d/Doxing.Defense
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1646513683
+host=38.87.162.8
+name=Doxing.Defense
+rev=1
+targets=
+text=DEFENSE AGAINST DOXING - IT'S EVERYBODY'S BUSINESS, by QUINTUPLICATE, 2022.%0aAlso by the author:%0aIRC Made Easy (https://pastebin.com/LHFUkyhF)%0aCONTENTS%0aPreface%0aPart I. What Is Doxing%0aPart II. Prevention%0aPart III. Damage Control%0aPREFACE%0aIf you're reading this, you were probably taught not to share personal details with random people on the Internet. %0a%0aThis has become all the more important of late. Too many people didn't take this advice to heart. As a result, they lost jobs, homes, friends - everything.%0a%0aThose people don't just hurt themselves by disregarding this advice. When you've found out the personal information of one person, it's much easier to do the same to their friends and associates. They become a door into the lives of everyone they share a community with. %0a%0aThat's why I am writing this guide - to protect you and the communities you are a part of. %0a%0aDefense against doxing - it's everybody's business!%0aTHE AUTHOR.%0aPART I. WHAT IS DOXING%0a 1. Definition of doxing%0a 2. Doxing is legal%0a 3. Doxing is not fatal%0a 4. Doxing can be harmful%0a1. Doxing is the exposure of information about a person which can cause undesirable consequences to the person.%0a2. Doxing is not illegal, nor need it be done using illegal means. Voter registries are public; so are most high school yearbooks and driving records, and that's not even getting into social media accounts. With the amount of resources available free online, MOST AMERICANS CAN DOX EACH OTHER.%0a3. Doxing is not fatal or irresistible. There are things you can do today to protect against it. Even if you are doxed, there are things you can do to control the damage.%0a4. Doxing is not harmless either. Most people have some skeletons in their closets; even if your history seems "clean" today, 10 or 20 years down the line it may be enough to get you fired. If you've spent enough time online to need this guide, you don't need examples. %0aPART II. PREVENTION%0a 5. Prevention is better than cure%0a 6. Ways to prevent doxing%0a 7. Do both ways%0a Div. 1. Angering People%0a Div. 2. Oversharing%0a Div. 3. Leaking Metadata%0a Div. 4. Reusing Usernames%0a Div. 5. Writing Style%0a5. Your grandmother taught you this: a stitch in time saves nine.%0a6. There are two ways to prevent doxing:%0aFirst, by reducing the reasons people will want to dox you.%0aSecond, by making it hard for someone who wants to dox you to do so.%0a7. Effective prevention requires doing both. This part will describe the reasons why, and methods how, people get doxed, so you can protect against them.%0aDiv. 1. Angering People%0a 8. Real name means real life%0a 9. You shouldn't use real name%0a 10. When you're pseudonymous, imagine your real name%0a 11. Anonymity doesn't mean safety%0a8. Any platform where you use your real name is part of your family, social and work life. Don't post anything under your real name you wouldn't want everyone who knows about you to read. %0a9. You should not use or mention your real name in any Internet community.%0a10. Before you press enter, imagine what your message would look like if it were under your real name. Maybe your username can't be linked to your real life identity. But most usernames can be, by an attacker determined enough.%0a11. You're only fully free on an anonymous community. This doesn't mean you're completely safe. Whoever owns the server the community is hosted on has your IP, and you can inadvertently leak information in other ways.%0aDiv. 2. Oversharing%0a 12. You're an info leak%0a 13. You reveal info you don't wish to expose%0a 14. You can't trust anyone perfectly%0a 15. Personal details are broader than you think%0a 16. Date of birth%0a 17. Don't talk about your birthday%0a 18. Or the college you're attending%0a 19. Don't post your picture%0a 20. Or your area%0a 21. Think before you speak%0a 22. Lying might not work%0a12. You leak information in many ways. Sometimes you don't know you're leaking information; other times you know what you're sharing, but not the consequences of your doing so. %0a13. When you talk to someone in real life, you're saying more than what comes out of your mouth. Your listener can use your tone of voice, body language, eye contact, etc. to decide if you really mean what you're saying. It's similar, but different, online. When you communicate anything through the Internet, you're also saying things that reveal more or less of who you really are. This division will help you find out what those things are.%0a14. The difference between virtual and real communication is that body language and eye contact don't go through. You have no way of knowing if someone is trustworthy just by chatting with them, whether through text or voice. It's a lot easier for a bad person to gain your trust online. Think about that before you privately message anyone your personal details. Remember that online, "paranoid" is a compliment.%0a15. But what are "personal details"? You probably know not to tell anyone your national identity document or social security number, your bank account details, and your home address. But most victims of doxing don't do that. They don't drop their phone number, address, real name, and occupation, all in one go ready for attackers to find. Instead, attackers pick up bits of the information they leak, and piece them together.%0a16. Is your date of birth personal details? Let's do some ballpark math here. The current world population nears 8 billion. Assuming that births are evenly distributed in the year, 20 million people share your birthday. Assuming that people live for 75 years, your birthday and year of birth are shared by LESS THAN 300,000 PEOPLE - the size of a small city. That, by itself, wouldn't be enough to uniquely identify you; but if you've leaked your date of birth are you sure you haven't leaked anything else about you?%0a17. So, when it's your birthday, don't say how old you are anywhere public. Jesus was betrayed by a kiss; and you may be betrayed by a "happy birthday".%0a18. Is the university you go to personal details? In 2019, almost 20 million students were enrolled in nearly 4,000 institutions of higher education throughout the United States. This means that the average college had 5,000 students. The median college, however, fell within the "1,000 to 2,499" students range, whereas the majority of students attended universities with 10,000 or more students. Those numbers are too small for comfort - and they will be even smaller outside the United States.%0aNote. The source of those figures is https://nces.ed.gov/programs/digest/d20/tables/dt20_317.40.asp%0a19. Is your picture personal details? Facial recognition has advanced greatly in recent years. Google is already better at faces than many people. And the technology will only continue to improve until every picture can be linked to a name, and thence to everything else about that person.%0a20. Are landmarks in your area personal details? If you say "no", you're forgetting that there has been a database of the view from every road in the developed world for over a decade - Google Street View. Anyone in the world can "know your area", or at least what it looks like, as well as someone who was born and raised there.%0a21. Things which are widely believed not to be revealing, and even encouraged to be shared, can strip you of your anonymity. THINK TWICE BEFORE YOU SAY ANYTHING ABOUT YOURSELF - if you want to talk about yourself - talk about things that CAN'T be recorded in a database - like your personality.%0a22. Will lying to throw people off work? Well, only if your lies are consistent. An attacker can easily distinguish what's true just by seeing what stays constant from day to day.%0aDiv. 3. Leaking Metadata%0a 23. You might leak info unknowingly%0a 24. Pictures%0a 25. Office documents%0a 26. IP address%0a 27. VPNs%0a 28. Google Docs%0a23. Sometimes you leak information because you don't really know what the consequences of leaking it will be. Other times you leak information without knowing you're doing it. A big part of unknowing leaking of information is metadata - data about data. Would you put a return address on an anonymous letter? Why should it be any different if a computer does it for you?%0a24. Every picture you take includes information about where you took it and the device you took it with. This is known as EXIF metadata. It is easy to view, and it's easy to find software that will scrub it. %0aNote. Even if you don't mind people knowing the location of the picture, you still have to contend with information about the device.%0a25. Use Microsoft Office? Next time you send any of your work products, take the time to right-click and select "Properties". If your real name is there, don't panic. Saving as .odt or converting to .pdf should remove it.%0a26. When you access a website, you give its server the address of your router - called an IP address - so it knows where to send the data you want. THIS CAN SHOW YOUR APPROXIMATE GEOGRAPHICAL LOCATION. Clicking on links you don't recognize is bad for many reasons, most of which are beyond the scope of this work; but for our purposes, it can help identify you from a small group of other people who share your description.%0a27. A virtual private network gives websites another IP address which forwards the data they send there to you. You should use one you trust to access a website run by anyone who would have a reason to dox you.%0a28. You should view a Google Doc in a private or incognito tab if you have a Google account (including one you have as part of your school or workplace) that is tied to your real name.%0aDiv. 4. Reusing Usernames%0a 29. You should have many separate identities%0a 30. Why you should do so%0a 31. The less unique your username the safer %0a 32. Password and email should be different%0a 33. Don't talk about other sites you use%0a29. Why do companies tie many different things under the same name? Because they want consumers to link those things together. This is the opposite of what you want. %0a30. You do not want to use the same username on different sites, especially sites without much overlap, because:%0aFirst, if you say something embarrassing or compromising on any one of the sites you use the common username, everyone in any other of those sites can see and know that you said it.%0aSecond, anything you say about yourself on any one of the sites you use the common username can be combined and crosschecked with what you say on any other of those sites.%0aThird, by searching a username on one site, attackers can and do find other accounts held by the same person on other sites.%0a31. The risk of username reuse making doxing you easier is somewhat decreased if your username is a word (even an uncommon one). This does not, however, apply to combinations of words (unless the combination is itself commonly used), or if any community you use the common username has a problem with any other of those communities.%0a32. Take note that if the username is different, the password and email address (for password reset) should be different as well. While most sites do a decent job of keeping passwords and emails secret, just one leak might be the bridge the attacker needs to connect one of your personas to another or compromise your accounts using both personas.%0a33. Don't say you use a site on another one. If you do, don't say the username you use.%0aDiv. 5. Writing Style%0a 34. Writing style is unique for each person%0a 35. Use correct spelling and grammar%0a 36. Use commonly used idioms%0a 37. Don't self-plagiarize%0a 38. Software can analyze your writing even if a human can't%0a34. Remember when you passed your friend a note in school and how you were caught when the class snitch recognized your handwriting? Well, it's similar online. We all have our own writing style, and since online our writings are preserved indefinitely, anybody can analyze what you write, and in doing so, connect your personas.%0a35. To start off, if you always spell a word wrong or make a grammar mistake, this can be used to spot you. Two people are unlikely to break the same grammar rule the same way. That doesn't mean always making sure your sentences don't start with "and" or "but" or end with a preposition, but it does mean taking care that you write mostly like everyone else on the site. If your distinctive mistake is one native speakers often commit (can't distinguish between "it's" and "its", for example), or does not occur too often (have no idea how many Rs "embarrassing" has? you're not alone), you may be safer.%0a36. If you have any idioms you like to use, this can be used to spot you, especially if they are not in a pocket dictionary. Your English teacher might not want you to use cliches, but they are safer than coming up with your own expressions.%0a37. Copying and pasting the same thing between different websites is basically saying that your accounts on those sites belong to the same person, especially if it's longer than a short sentence. Why do it? If your idea is truly original, then you can express it in a different way.%0a38. Writing style analysis software has improved greatly in recent years. Often, a machine can tell if two text samples are written by the same person, even if a human can't.%0aPART III. DAMAGE CONTROL%0a 101. Don't panic%0a 102. Treat incorrect dox as if they were correct%0a 103. Delete everything%0a 104. You're not beat until you think you are%0a 105. Don't point out false dox%0a101. The first rule of being doxed is to remember that NO REAL LIFE SITUATION IS IMPROVED BY PANIC.%0a102. The second rule of being doxed is to TREAT INCORRECT DOX THE SAME AS CORRECT ONES.%0a103. Whenever any personal information about you is revealed, you should DELETE EVERYTHING ABOUT YOURSELF THAT IS ONLINE. "Everything" includes information that would not suffice to identify you normally, because the attacker may have narrowed you down to a small group and that information may be all they need to separate you from the herd. The faster you do so, the better. Just because the attacker knows something about you doesn't mean they know everything else.%0a104. If any one of your address, real name, or workplace has been revealed - the attacker is now in the home stretch. But remember that YOU'RE NEVER BEAT UNTIL YOU THINK YOU ARE. If you do all you can to prevent your attacker from finding the other two, you still have a chance. %0a105. It goes without saying that YOU SHOULD NOT TELL SOMEONE WHO POSTS FALSE DOX THAT THEY ARE FALSE - this includes mocking them or interacting them in any way. Many a person has been doxed because they interrupted their attackers while they were making a mistake. You should instead treat it as a drill. The attacker has given you time to conceal true information about yourself - do not waste it.%0a
+time=1646513683
+author:1646513683=jrmu
+diff:1646513683:1646513683:=1,125d0%0a%3c DEFENSE AGAINST DOXING - IT'S EVERYBODY'S BUSINESS, by QUINTUPLICATE, 2022.%0a%3c Also by the author:%0a%3c IRC Made Easy (https://pastebin.com/LHFUkyhF)%0a%3c CONTENTS%0a%3c Preface%0a%3c Part I. What Is Doxing%0a%3c Part II. Prevention%0a%3c Part III. Damage Control%0a%3c PREFACE%0a%3c If you're reading this, you were probably taught not to share personal details with random people on the Internet. %0a%3c %0a%3c This has become all the more important of late. Too many people didn't take this advice to heart. As a result, they lost jobs, homes, friends - everything.%0a%3c %0a%3c Those people don't just hurt themselves by disregarding this advice. When you've found out the personal information of one person, it's much easier to do the same to their friends and associates. They become a door into the lives of everyone they share a community with. %0a%3c %0a%3c That's why I am writing this guide - to protect you and the communities you are a part of. %0a%3c %0a%3c Defense against doxing - it's everybody's business!%0a%3c THE AUTHOR.%0a%3c PART I. WHAT IS DOXING%0a%3c 1. Definition of doxing%0a%3c 2. Doxing is legal%0a%3c 3. Doxing is not fatal%0a%3c 4. Doxing can be harmful%0a%3c 1. Doxing is the exposure of information about a person which can cause undesirable consequences to the person.%0a%3c 2. Doxing is not illegal, nor need it be done using illegal means. Voter registries are public; so are most high school yearbooks and driving records, and that's not even getting into social media accounts. With the amount of resources available free online, MOST AMERICANS CAN DOX EACH OTHER.%0a%3c 3. Doxing is not fatal or irresistible. There are things you can do today to protect against it. Even if you are doxed, there are things you can do to control the damage.%0a%3c 4. Doxing is not harmless either. Most people have some skeletons in their closets; even if your history seems "clean" today, 10 or 20 years down the line it may be enough to get you fired. If you've spent enough time online to need this guide, you don't need examples. %0a%3c PART II. PREVENTION%0a%3c 5. Prevention is better than cure%0a%3c 6. Ways to prevent doxing%0a%3c 7. Do both ways%0a%3c Div. 1. Angering People%0a%3c Div. 2. Oversharing%0a%3c Div. 3. Leaking Metadata%0a%3c Div. 4. Reusing Usernames%0a%3c Div. 5. Writing Style%0a%3c 5. Your grandmother taught you this: a stitch in time saves nine.%0a%3c 6. There are two ways to prevent doxing:%0a%3c First, by reducing the reasons people will want to dox you.%0a%3c Second, by making it hard for someone who wants to dox you to do so.%0a%3c 7. Effective prevention requires doing both. This part will describe the reasons why, and methods how, people get doxed, so you can protect against them.%0a%3c Div. 1. Angering People%0a%3c 8. Real name means real life%0a%3c 9. You shouldn't use real name%0a%3c 10. When you're pseudonymous, imagine your real name%0a%3c 11. Anonymity doesn't mean safety%0a%3c 8. Any platform where you use your real name is part of your family, social and work life. Don't post anything under your real name you wouldn't want everyone who knows about you to read. %0a%3c 9. You should not use or mention your real name in any Internet community.%0a%3c 10. Before you press enter, imagine what your message would look like if it were under your real name. Maybe your username can't be linked to your real life identity. But most usernames can be, by an attacker determined enough.%0a%3c 11. You're only fully free on an anonymous community. This doesn't mean you're completely safe. Whoever owns the server the community is hosted on has your IP, and you can inadvertently leak information in other ways.%0a%3c Div. 2. Oversharing%0a%3c 12. You're an info leak%0a%3c 13. You reveal info you don't wish to expose%0a%3c 14. You can't trust anyone perfectly%0a%3c 15. Personal details are broader than you think%0a%3c 16. Date of birth%0a%3c 17. Don't talk about your birthday%0a%3c 18. Or the college you're attending%0a%3c 19. Don't post your picture%0a%3c 20. Or your area%0a%3c 21. Think before you speak%0a%3c 22. Lying might not work%0a%3c 12. You leak information in many ways. Sometimes you don't know you're leaking information; other times you know what you're sharing, but not the consequences of your doing so. %0a%3c 13. When you talk to someone in real life, you're saying more than what comes out of your mouth. Your listener can use your tone of voice, body language, eye contact, etc. to decide if you really mean what you're saying. It's similar, but different, online. When you communicate anything through the Internet, you're also saying things that reveal more or less of who you really are. This division will help you find out what those things are.%0a%3c 14. The difference between virtual and real communication is that body language and eye contact don't go through. You have no way of knowing if someone is trustworthy just by chatting with them, whether through text or voice. It's a lot easier for a bad person to gain your trust online. Think about that before you privately message anyone your personal details. Remember that online, "paranoid" is a compliment.%0a%3c 15. But what are "personal details"? You probably know not to tell anyone your national identity document or social security number, your bank account details, and your home address. But most victims of doxing don't do that. They don't drop their phone number, address, real name, and occupation, all in one go ready for attackers to find. Instead, attackers pick up bits of the information they leak, and piece them together.%0a%3c 16. Is your date of birth personal details? Let's do some ballpark math here. The current world population nears 8 billion. Assuming that births are evenly distributed in the year, 20 million people share your birthday. Assuming that people live for 75 years, your birthday and year of birth are shared by LESS THAN 300,000 PEOPLE - the size of a small city. That, by itself, wouldn't be enough to uniquely identify you; but if you've leaked your date of birth are you sure you haven't leaked anything else about you?%0a%3c 17. So, when it's your birthday, don't say how old you are anywhere public. Jesus was betrayed by a kiss; and you may be betrayed by a "happy birthday".%0a%3c 18. Is the university you go to personal details? In 2019, almost 20 million students were enrolled in nearly 4,000 institutions of higher education throughout the United States. This means that the average college had 5,000 students. The median college, however, fell within the "1,000 to 2,499" students range, whereas the majority of students attended universities with 10,000 or more students. Those numbers are too small for comfort - and they will be even smaller outside the United States.%0a%3c Note. The source of those figures is https://nces.ed.gov/programs/digest/d20/tables/dt20_317.40.asp%0a%3c 19. Is your picture personal details? Facial recognition has advanced greatly in recent years. Google is already better at faces than many people. And the technology will only continue to improve until every picture can be linked to a name, and thence to everything else about that person.%0a%3c 20. Are landmarks in your area personal details? If you say "no", you're forgetting that there has been a database of the view from every road in the developed world for over a decade - Google Street View. Anyone in the world can "know your area", or at least what it looks like, as well as someone who was born and raised there.%0a%3c 21. Things which are widely believed not to be revealing, and even encouraged to be shared, can strip you of your anonymity. THINK TWICE BEFORE YOU SAY ANYTHING ABOUT YOURSELF - if you want to talk about yourself - talk about things that CAN'T be recorded in a database - like your personality.%0a%3c 22. Will lying to throw people off work? Well, only if your lies are consistent. An attacker can easily distinguish what's true just by seeing what stays constant from day to day.%0a%3c Div. 3. Leaking Metadata%0a%3c 23. You might leak info unknowingly%0a%3c 24. Pictures%0a%3c 25. Office documents%0a%3c 26. IP address%0a%3c 27. VPNs%0a%3c 28. Google Docs%0a%3c 23. Sometimes you leak information because you don't really know what the consequences of leaking it will be. Other times you leak information without knowing you're doing it. A big part of unknowing leaking of information is metadata - data about data. Would you put a return address on an anonymous letter? Why should it be any different if a computer does it for you?%0a%3c 24. Every picture you take includes information about where you took it and the device you took it with. This is known as EXIF metadata. It is easy to view, and it's easy to find software that will scrub it. %0a%3c Note. Even if you don't mind people knowing the location of the picture, you still have to contend with information about the device.%0a%3c 25. Use Microsoft Office? Next time you send any of your work products, take the time to right-click and select "Properties". If your real name is there, don't panic. Saving as .odt or converting to .pdf should remove it.%0a%3c 26. When you access a website, you give its server the address of your router - called an IP address - so it knows where to send the data you want. THIS CAN SHOW YOUR APPROXIMATE GEOGRAPHICAL LOCATION. Clicking on links you don't recognize is bad for many reasons, most of which are beyond the scope of this work; but for our purposes, it can help identify you from a small group of other people who share your description.%0a%3c 27. A virtual private network gives websites another IP address which forwards the data they send there to you. You should use one you trust to access a website run by anyone who would have a reason to dox you.%0a%3c 28. You should view a Google Doc in a private or incognito tab if you have a Google account (including one you have as part of your school or workplace) that is tied to your real name.%0a%3c Div. 4. Reusing Usernames%0a%3c 29. You should have many separate identities%0a%3c 30. Why you should do so%0a%3c 31. The less unique your username the safer %0a%3c 32. Password and email should be different%0a%3c 33. Don't talk about other sites you use%0a%3c 29. Why do companies tie many different things under the same name? Because they want consumers to link those things together. This is the opposite of what you want. %0a%3c 30. You do not want to use the same username on different sites, especially sites without much overlap, because:%0a%3c First, if you say something embarrassing or compromising on any one of the sites you use the common username, everyone in any other of those sites can see and know that you said it.%0a%3c Second, anything you say about yourself on any one of the sites you use the common username can be combined and crosschecked with what you say on any other of those sites.%0a%3c Third, by searching a username on one site, attackers can and do find other accounts held by the same person on other sites.%0a%3c 31. The risk of username reuse making doxing you easier is somewhat decreased if your username is a word (even an uncommon one). This does not, however, apply to combinations of words (unless the combination is itself commonly used), or if any community you use the common username has a problem with any other of those communities.%0a%3c 32. Take note that if the username is different, the password and email address (for password reset) should be different as well. While most sites do a decent job of keeping passwords and emails secret, just one leak might be the bridge the attacker needs to connect one of your personas to another or compromise your accounts using both personas.%0a%3c 33. Don't say you use a site on another one. If you do, don't say the username you use.%0a%3c Div. 5. Writing Style%0a%3c 34. Writing style is unique for each person%0a%3c 35. Use correct spelling and grammar%0a%3c 36. Use commonly used idioms%0a%3c 37. Don't self-plagiarize%0a%3c 38. Software can analyze your writing even if a human can't%0a%3c 34. Remember when you passed your friend a note in school and how you were caught when the class snitch recognized your handwriting? Well, it's similar online. We all have our own writing style, and since online our writings are preserved indefinitely, anybody can analyze what you write, and in doing so, connect your personas.%0a%3c 35. To start off, if you always spell a word wrong or make a grammar mistake, this can be used to spot you. Two people are unlikely to break the same grammar rule the same way. That doesn't mean always making sure your sentences don't start with "and" or "but" or end with a preposition, but it does mean taking care that you write mostly like everyone else on the site. If your distinctive mistake is one native speakers often commit (can't distinguish between "it's" and "its", for example), or does not occur too often (have no idea how many Rs "embarrassing" has? you're not alone), you may be safer.%0a%3c 36. If you have any idioms you like to use, this can be used to spot you, especially if they are not in a pocket dictionary. Your English teacher might not want you to use cliches, but they are safer than coming up with your own expressions.%0a%3c 37. Copying and pasting the same thing between different websites is basically saying that your accounts on those sites belong to the same person, especially if it's longer than a short sentence. Why do it? If your idea is truly original, then you can express it in a different way.%0a%3c 38. Writing style analysis software has improved greatly in recent years. Often, a machine can tell if two text samples are written by the same person, even if a human can't.%0a%3c PART III. DAMAGE CONTROL%0a%3c 101. Don't panic%0a%3c 102. Treat incorrect dox as if they were correct%0a%3c 103. Delete everything%0a%3c 104. You're not beat until you think you are%0a%3c 105. Don't point out false dox%0a%3c 101. The first rule of being doxed is to remember that NO REAL LIFE SITUATION IS IMPROVED BY PANIC.%0a%3c 102. The second rule of being doxed is to TREAT INCORRECT DOX THE SAME AS CORRECT ONES.%0a%3c 103. Whenever any personal information about you is revealed, you should DELETE EVERYTHING ABOUT YOURSELF THAT IS ONLINE. "Everything" includes information that would not suffice to identify you normally, because the attacker may have narrowed you down to a small group and that information may be all they need to separate you from the herd. The faster you do so, the better. Just because the attacker knows something about you doesn't mean they know everything else.%0a%3c 104. If any one of your address, real name, or workplace has been revealed - the attacker is now in the home stretch. But remember that YOU'RE NEVER BEAT UNTIL YOU THINK YOU ARE. If you do all you can to prevent your attacker from finding the other two, you still have a chance. %0a%3c 105. It goes without saying that YOU SHOULD NOT TELL SOMEONE WHO POSTS FALSE DOX THAT THEY ARE FALSE - this includes mocking them or interacting them in any way. Many a person has been doxed because they interrupted their attackers while they were making a mistake. You should instead treat it as a drill. The attacker has given you time to conceal true information about yourself - do not waste it.%0a
+host:1646513683=38.87.162.8
blob - /dev/null
blob + 3db355739723de3124bd95c19586aabecefefa88 (mode 644)
--- /dev/null
+++ wiki.d/Doxing.RecentChanges
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+charset=UTF-8
+ctime=1646513683
+host=38.87.162.8
+name=Doxing.RecentChanges
+rev=1
+text=* [[Doxing/Defense]] . . . March 05, 2022, at 08:54 PM by [[~jrmu]]: [==]%0a
+time=1646513683
blob - /dev/null
blob + 906b85b94eb5e1754981da945f17cbf972b5fba9 (mode 644)
--- /dev/null
+++ wiki.d/Duplicity.RecentChanges
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+charset=UTF-8
+ctime=1643797715
+host=38.87.162.8
+name=Duplicity.RecentChanges
+rev=2
+text=* [[Duplicity/Usage]] . . . February 02, 2022, at 10:31 AM by [[~jrmu]]: [==]%0a
+time=1643797886
blob - /dev/null
blob + c8d286cdb0f79dfd7050e10b0cd530c08a387fd8 (mode 644)
--- /dev/null
+++ wiki.d/Duplicity.Usage
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1643797715
+host=38.87.162.8
+name=Duplicity.Usage
+rev=2
+targets=
+text=To upload and encrypt a folder:%0a%0a$ duplicity /path/to/folder/ sftp://username@example.com/folder%0a%0aTo download and decrypt:%0a%0a$ duplicity sftp://username@example.com/folder /path/to/folder/%0a%0a
+time=1643797886
+author:1643797886=jrmu
+diff:1643797886:1643797715:=3,4c3,4%0a%3c $ duplicity /path/to/folder/ sftp://username@example.com/folder%0a%3c %0a---%0a> $ duplicity /path/to/folder/ sftp://username@example.com:/folder%0a> %0a7c7%0a%3c $ duplicity sftp://username@example.com/folder /path/to/folder/%0a---%0a> $ duplicity sftp://username@example.com:/folder /path/to/folder/%0a
+host:1643797886=38.87.162.8
+author:1643797715=jrmu
+diff:1643797715:1643797715:=1,8d0%0a%3c To upload and encrypt a folder:%0a%3c %0a%3c $ duplicity /path/to/folder/ sftp://username@example.com:/folder%0a%3c %0a%3c To download and decrypt:%0a%3c %0a%3c $ duplicity sftp://username@example.com:/folder /path/to/folder/%0a%3c %0a
+host:1643797715=38.87.162.8
blob - /dev/null
blob + 5cd25e08cd3f2f260f96e8f1df7e3cf6adf038cc (mode 644)
--- /dev/null
+++ wiki.d/Eggdrop.UTF8
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1640722889
+host=38.87.162.8
+name=Eggdrop.UTF8
+rev=1
+targets=
+text=How to change the tcl encoding system into utf-8?%0a%0aBy default the eggdrop encoding is Tcl: iso8859-1%0a%0aYou will need to recompile the eggdrop, but before recompiling the eggdrop. Need%0ato edit the src/tcl.c and add the this line encoding = "utf-8"; on line 738.%0a%0a
+time=1640722889
+author:1640722889=jrmu
+diff:1640722889:1640722889:=1,7d0%0a%3c How to change the tcl encoding system into utf-8?%0a%3c %0a%3c By default the eggdrop encoding is Tcl: iso8859-1%0a%3c %0a%3c You will need to recompile the eggdrop, but before recompiling the eggdrop. Need%0a%3c to edit the src/tcl.c and add the this line encoding = "utf-8"; on line 738.%0a%3c %0a
+host:1640722889=38.87.162.8
blob - /dev/null
blob + 2ca9fa9ea9861e65ff9183d087619b467d54bbe9 (mode 644)
--- /dev/null
+++ wiki.d/Ffmpeg.RecentChanges
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:93.0) Gecko/20100101 Firefox/93.0
+charset=UTF-8
+ctime=1640156448
+host=125.231.26.67
+name=Ffmpeg.RecentChanges
+rev=1
+text=* [[Ffmpeg/Recordscreen]] . . . December 22, 2021, at 07:00 AM by [[~jrmu]]: [==]%0a
+time=1640156448
blob - /dev/null
blob + 09f4c660d334887c4b36d3c89ea7e5feeed2b259 (mode 644)
--- /dev/null
+++ wiki.d/Ffmpeg.Recordscreen
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:93.0) Gecko/20100101 Firefox/93.0
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1640156448
+host=125.231.26.67
+name=Ffmpeg.Recordscreen
+rev=1
+targets=
+text=on debian%0a%0a[@%0affmpeg -f x11grab -video_size 1440x900 -framerate 0.2 -i $DISPLAY -f alsai default -c:v ffvhuff -c:a aac screen.mkv %0a@]
+time=1640156448
+author:1640156448=jrmu
+diff:1640156448:1640156448:=1,5d0%0a%3c on debian%0a%3c %0a%3c [@%0a%3c ffmpeg -f x11grab -video_size 1440x900 -framerate 0.2 -i $DISPLAY -f alsai default -c:v ffvhuff -c:a aac screen.mkv %0a%3c @]%0a\ No newline at end of file%0a
+host:1640156448=125.231.26.67
blob - /dev/null
blob + d71a6b3b998c023eef41368bb31495b571e9ad33 (mode 644)
--- /dev/null
+++ wiki.d/Freedom.Universal
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1645417788
+host=38.87.162.8
+name=Freedom.Universal
+rev=5
+targets=
+text=(:title Universal Access:)%0a%0aNo matter how old or obscure a protocol may be, IRCNow should%0acommit to supporting users running any form of free software with open%0aprotocols. IRCNow should commit to providing fair access for all users%0a(including competitors) at a reasonable, affordable price.%0a%0aWe're committed to serving users from every nation, regardless of economic background%0aor disability.%0a
+time=1647024490
+title=Universal Access
+author:1647024490=jrmu
+diff:1647024490:1647024271:=5c5%0a%3c protocols. IRCNow should commit to providing fair access for all users%0a---%0a> protocols. It should commit to providing fair access for all users%0a8,9c8%0a%3c We're committed to serving users from every nation, regardless of economic background%0a%3c or disability.%0a---%0a> Every nation, regardless of economic background or disability.%0a
+host:1647024490=38.87.162.8
+author:1647024271=jrmu
+diff:1647024271:1645424595:=7,8d6%0a%3c %0a%3c Every nation, regardless of economic background or disability.%0a
+host:1647024271=38.87.162.8
+author:1645424595=jrmu
+diff:1645424595:1645417887:=3,5c3,5%0a%3c No matter how old or obscure a protocol may be, IRCNow should%0a%3c commit to supporting users running any form of free software with open%0a%3c protocols. It should commit to providing fair access for all users%0a---%0a> No matter how remote or unprofitable, IRCNow should commit to%0a> supporting users running any form of free software with open protocols.%0a> It should commit to providing fair access for all users%0a
+host:1645424595=38.87.162.8
+author:1645417887=jrmu
+diff:1645417887:1645417788:=5c5%0a%3c It should commit to providing fair access for all users%0a---%0a> It should commit to providing fair access for any user%0a
+host:1645417887=38.87.162.8
+author:1645417788=jrmu
+diff:1645417788:1645417788:=1,6d0%0a%3c (:title Universal Access:)%0a%3c %0a%3c No matter how remote or unprofitable, IRCNow should commit to%0a%3c supporting users running any form of free software with open protocols.%0a%3c It should commit to providing fair access for any user%0a%3c (including competitors) at a reasonable, affordable price.%0a
+host:1645417788=38.87.162.8
blob - /dev/null
blob + a0eb859bd244ff4404c48e34f8040e2a209cf5b8 (mode 644)
--- /dev/null
+++ wiki.d/ISCABBS.DownloadingAndInstalling
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36
+author=Mandarax
+charset=UTF-8
+csum=
+ctime=1647379561
+description=This page covers instructions for obtaining the ISCA BBS client via git and compiling a binary for us on an OpenBSD system or user shell
+host=2600:6c4a:7c7f:5700:a941:9e90:8adb:dc10
+name=ISCABBS.DownloadingAndInstalling
+rev=4
+targets=
+text=(:Title How to download ISCA BBS Client and Install:)%0a(:Description This page covers instructions for obtaining the ISCA BBS client via git and compiling a binary for us on an OpenBSD system or user shell:)%0a%0a!!Obtaining the latest source code%0a%0a->The first step is obtaining the source code for the [[https://en.wikipedia.org/wiki/ISCABBS | ISCABBS]] client. The best source to obtain this is from GitHuB using the git command. Input the following at the shell prompt to obtain the source files:%0a%0a->''''''$ git clone https://github.com/7jXlqS-hmpBUGsK/iscabbs-client.git''''''%0a%0a!!Configuring, making and installing your client executable%0a->First we must retrieve autoconf, autoreconf, and automake version installed using the following commands%0a%0a->'''''$ ls /usr/local/bin/autoreconf*'''''%0a%0a->This will return an output similar to:%0a->/usr/local/bin/autoreconf-'''X.XX''' %3c- Where '''X.XX''' is your version number you will use to set your version variable%0a%0a->Do the same for the next two version variables with the following commands noting the version numbers for each:%0a->'''''$ ls /usr/local/bin/autoconf*'''''%0a->'''''$ ls /usr/local/bin/automake*'''''%0a%0a->Set the variables using export for all three variables like below: Replacing '''X.XX''' with your version.%0a->'''''$ export AUTORECONF_VERSION=X.XX'''''%0a->'''''$ export AUTOCONF_VERSION=X.XX'''''%0a->'''''$ export AUTOMAKE_VERSION=X.XX'''''%0a%0a->We can now make the config script and compile our executable.%0a->'''''$ cd iscabbs-client'''''%0a->'''''$ autoreconf --install'''''%0a->'''''$ ./configure --prefix=$HOME --bindir=$HOME'''''%0a->'''''$ make'''''%0a->'''''$ make install'''''%0a%0aThe BBS Client executable should now be compiled and installed in your home directory. I find it easiest to alias '''''bbs''''' to run the executable now located at '''''./bbs'''''%0a%0aIf you have root access and want to compile and install in the bin directory for all users to run just ommit '''''--prefix=$HOME --bindir=$HOME''''' from the '''''./configure''''' command.%0a%0a%0a%0a%0a
+time=1647384131
+title=How to download ISCA BBS Client and Install
+author:1647384131=Mandarax
+diff:1647384131:1647384069:=8c8%0a%3c ->''''''$ git clone https://github.com/7jXlqS-hmpBUGsK/iscabbs-client.git''''''%0a---%0a> ->''$ git clone https://github.com/7jXlqS-hmpBUGsK/iscabbs-client.git''%0a
+host:1647384131=2600:6c4a:7c7f:5700:a941:9e90:8adb:dc10
+author:1647384069=Mandarax
+diff:1647384069:1647379661:=3,39d2%0a%3c %0a%3c !!Obtaining the latest source code%0a%3c %0a%3c ->The first step is obtaining the source code for the [[https://en.wikipedia.org/wiki/ISCABBS | ISCABBS]] client. The best source to obtain this is from GitHuB using the git command. Input the following at the shell prompt to obtain the source files:%0a%3c %0a%3c ->''$ git clone https://github.com/7jXlqS-hmpBUGsK/iscabbs-client.git''%0a%3c %0a%3c !!Configuring, making and installing your client executable%0a%3c ->First we must retrieve autoconf, autoreconf, and automake version installed using the following commands%0a%3c %0a%3c ->'''''$ ls /usr/local/bin/autoreconf*'''''%0a%3c %0a%3c ->This will return an output similar to:%0a%3c ->/usr/local/bin/autoreconf-'''X.XX''' %3c- Where '''X.XX''' is your version number you will use to set your version variable%0a%3c %0a%3c ->Do the same for the next two version variables with the following commands noting the version numbers for each:%0a%3c ->'''''$ ls /usr/local/bin/autoconf*'''''%0a%3c ->'''''$ ls /usr/local/bin/automake*'''''%0a%3c %0a%3c ->Set the variables using export for all three variables like below: Replacing '''X.XX''' with your version.%0a%3c ->'''''$ export AUTORECONF_VERSION=X.XX'''''%0a%3c ->'''''$ export AUTOCONF_VERSION=X.XX'''''%0a%3c ->'''''$ export AUTOMAKE_VERSION=X.XX'''''%0a%3c %0a%3c ->We can now make the config script and compile our executable.%0a%3c ->'''''$ cd iscabbs-client'''''%0a%3c ->'''''$ autoreconf --install'''''%0a%3c ->'''''$ ./configure --prefix=$HOME --bindir=$HOME'''''%0a%3c ->'''''$ make'''''%0a%3c ->'''''$ make install'''''%0a%3c %0a%3c The BBS Client executable should now be compiled and installed in your home directory. I find it easiest to alias '''''bbs''''' to run the executable now located at '''''./bbs'''''%0a%3c %0a%3c If you have root access and want to compile and install in the bin directory for all users to run just ommit '''''--prefix=$HOME --bindir=$HOME''''' from the '''''./configure''''' command.%0a%3c %0a%3c %0a%3c %0a
+host:1647384069=2600:6c4a:7c7f:5700:a941:9e90:8adb:dc10
+author:1647379661=Mandarax
+diff:1647379661:1647379561:=1,3c1%0a%3c (:Title How to download ISCA BBS Client and Install:)%0a%3c (:Description This page covers instructions for obtaining the ISCA BBS client via git and compiling a binary for us on an OpenBSD system or user shell:)%0a%3c %0a---%0a> (:Title How to download ISCA BBS Client and Install:)%0a\ No newline at end of file%0a
+host:1647379661=2600:6c4a:7c7f:5700:a941:9e90:8adb:dc10
+author:1647379561=Mandarax
+diff:1647379561:1647379561:=1d0%0a%3c (:Title How to download ISCA BBS Client and Install:)%0a\ No newline at end of file%0a
+host:1647379561=2600:6c4a:7c7f:5700:a941:9e90:8adb:dc10
blob - /dev/null
blob + 270d91c4ce149571723835ba2287e027909765d5 (mode 644)
--- /dev/null
+++ wiki.d/ISCABBS.ISCABBS
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36
+author=Mandarax
+charset=UTF-8
+csum=
+ctime=1647379396
+host=2600:6c4a:7c7f:5700:a941:9e90:8adb:dc10
+name=ISCABBS.ISCABBS
+rev=2
+targets=ISCABBS.DownloadingAndInstalling
+text=[[Downloading and Installing]]
+time=1647379447
+author:1647379447=Mandarax
+diff:1647379447:1647379396:=1c1%0a%3c [[Downloading and Installing]]%0a\ No newline at end of file%0a---%0a> [[Compiling and Installing]]%0a\ No newline at end of file%0a
+host:1647379447=2600:6c4a:7c7f:5700:a941:9e90:8adb:dc10
+author:1647379396=Mandarax
+csum:1647379396=ISCA BBS Client
+diff:1647379396:1647379396:=1d0%0a%3c [[Compiling and Installing]]%0a\ No newline at end of file%0a
+host:1647379396=2600:6c4a:7c7f:5700:a941:9e90:8adb:dc10
blob - /dev/null
blob + 88787f188598a61dc3760318e940b29c35d66530 (mode 644)
--- /dev/null
+++ wiki.d/ISCABBS.RecentChanges
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36
+charset=UTF-8
+ctime=1647379396
+host=2600:6c4a:7c7f:5700:a941:9e90:8adb:dc10
+name=ISCABBS.RecentChanges
+rev=6
+text=* [[ISCABBS/DownloadingAndInstalling]] . . . March 15, 2022, at 10:42 PM by [[~Mandarax]]: [==]%0a* [[ISCABBS/ISCABBS]] . . . March 15, 2022, at 09:24 PM by [[~Mandarax]]: [==]%0a
+time=1647384131
blob - /dev/null
blob + 99244ab5a497bc458e4d94ba7ce219e110d99f2d (mode 644)
--- /dev/null
+++ wiki.d/Irc.Easy
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1646513760
+host=38.87.162.8
+name=Irc.Easy
+rev=1
+targets=
+text=IRC MADE EASY, by QUINTUPLICATE, 2019.%0aSecond printing with some errors corrected and other assorted revision, 2020.%0aThird printing with corrections and revisions, 2021.%0aCONTENTS.%0a Introduction.%0a Part I. The Nature of IRC.%0a Part II. Connecting.%0a Part III. Commands.%0a Part IV. Services.%0a Part V. Modes.%0a Tabulation of Mod Roles.%0a Further Reading.%0aINTRODUCTION.%0aIf you are reading this, you do not need reasons for using IRC; therefore none will be given.%0a%0aBrevity, simplicity, clarity, organization, and convenience have been the goals of this work, and not literary beauty. %0a%0aI would like to thank all those who read and offered feedback on this work. I do not pretend to be an expert, and this work is mostly based on my personal experience. All faults in this work are mine alone, and suggestions for improvement are eagerly requested. %0a%0aThis work is intended to be read from beginning to end. Sequential indices head every part and division, in order to provide a concise summary of the matter contained therein.%0a%0aI disclaim all legal responsibility for anything done in consequence of this work. I also disclaim all rights in this work; it is in the public domain.%0a%0aTHE AUTHOR.%0aPART I. THE NATURE OF IRC.%0a 1. IRC, servers, clients.%0a 2. Clients only receive when they are online.%0a 3. Networks and channels.%0a 4. # and & channels.%0a 5. Life and death of channels.%0a 6. Channel, network, and server operators.%0a 7. Existence of # channels.%0a 8. Commands and ordinary messages.%0a 9. / for starting commands.%0a1. Internet Relay Chat, or IRC, is a protocol for communication between:%0aFirst. Servers, which carry the communication; and%0aSecond. Clients, which are connected to servers, through which they communicate with each other.%0a2. Servers do not store messages for clients; a client will only see the messages servers transmit when it is online.%0a3. Servers--%0aFirst. May be grouped into networks, which allow channels to be shared;%0aSecond. Carry channels, in which all communication between clients takes place.%0a4. Channels begin with--%0aFirst. # for channels usable throughout the network; and%0aSecond. & for channels usable on one server only. Few networks will have or allow the creation of such channels.%0aNote. Channels beginning with ## are # channels, and on Freenode are used for conversation unrelated to FOSS. %0a5. A channel is created when the first user joins, and is destroyed when the last user leaves.%0aNote. In some networks, it is not possible to create channels simply by joining them.%0a6. Channels, servers, and networks have their own classes of operators, each having a wider range of power than the one before it.%0a7. A channel beginning with # exists--%0aFirst. On every server to which a client that is a member of it is connected;%0aSecond. On every server through which a message to every server covered by the first item must pass.%0a8. Clients and servers may send commands to servers. An ordinary message is interpreted as "/query %3cmessage>".%0a9. A command always begins with "/".%0aPART II. CONNECTING.%0a 10. Clients.%0a 11. Web chats.%0a 12. Finding channels.%0a 13. Server key, address, and nick.%0a 14. Message of the day.%0a 15. Joining channels.%0a 16. Networks.%0a 17. Autojoins.%0a10. There is no single make of client; instead there is a variety of types. Ones I've used are:%0amIRC: For Windows. Proprietary shareware with a $20 license fee after 30 days.%0aPidgin: For Windows and Linux. Is also a client for many other chat protocols, but is slightly different from more conventional IRC clients.%0aTrillian: For OS X, Windows, Linux, iOS, and Android. Proprietary, has a free version and a paid version without ads, resembles an IM client much more than an IRC client. Is also a client for its in-house chat protocol.%0aHexChat: For Windows. FOSS version of XChat, which has a proprietary Windows version that requires payment. Past a certain point, will clear old messages as new messages come in. Has support for mIRC color codes, but not for Chinese characters.%0aIrssi: For Linux. A Text Based client, unlike the 4 others, which are GUI clients. Not recommended for new users.%0aThere are also other clients that I haven't used:%0aChatzilla (an add-on for Firefox), XChat (FOSS for Linux), WeeChat, Quassel, AdiIRC, etc.%0a11. For connecting on the go or from foreign devices, use KiwiIRC (kiwiirc.com) or Mibbit (mibbit.com), or see if the IRC network provides a web chat.%0a12. To find IRC channels, use irc2go.com. Most clients will include lists of networks with them.%0a13. To connect to IRC, it is needed to provide:%0aFirst. A server key or password. Very few servers will have this.%0aSecond. A server address. Use the address the network provides for the whole network; a server will be automatically assigned to you.%0aThird. A nickname or nick. If your nick is already in use, the server will let you join with numbers added to the end.%0a14. Once you have connected, you will receive a Message Of The Day. This will usually include ground rules for the network and helpful tips.%0a15. From this point on, type "/join [channel, including leading symbol] [password if one is needed]" if you were asked to join a channel, or just "/list" if you're just looking around.%0a16. Here are some networks:%0aFreenode: Focuses on free and open-source software and other collaborative projects. Much more centralized and strictly governed than other IRC networks. (chat.freenode.net)%0aRizon: A general-purpose IRC network. It aims to cultivate a free, fun atmosphere. Both entertainment channels like #4chan and #8chan as well as more serious channels like #bibanon are there. (irc.rizon.net)%0aEFnet: The original IRC network (not exactly, but close enough.) Has no ChanServ or NickServ, so keeping your nickname and channel yours will require some legwork. (irc.efnet.org)%0aIRCnet: A European split of EFnet. Has no ChanServ or NickServ, so keeping your nickname and channel yours will require some legwork. (open.ircnet.net)%0aUndernet: Has no NickServ, and registering channels is by application; channels will only be registered if they are active and have 5 regulars. (irc.undernet.net)%0aThese are the biggest ones, but there are many small networks. You're liable to find a good conversation and many friends on any of them, so give them a try!%0a17. At this point you may be wondering how to have your client join a channel every time you log on. Your client should have an "execute upon connection" box. Type /join [channel] [password if one is needed] in it.%0aPART III. COMMANDS.%0a Prior reading: par. 9.%0a 18. /join, /j.%0a 19. /msg, /m%0a 20. Target of /msg.%0a 21. /quit.%0a 22. /part.%0a 23. /say, /query.%0a 24. Important notices for /say and /query.%0a 25. /invite.%0a 26. /op, /deop, /voice, /devoice, /hop, /dehop.%0a 27. /ban, /unban, /kick, /kickban, /kb.%0a 28. /whois, /whowas.%0a 29. /help.%0a18. The first command we will look at is /join or /j. It has two parameters:%0aFirst. Channel to join. Mandatory. The initial symbol must be included.%0aSecond. Channel key. Optional. If you happen to forget it, you may ask ChanServ using /cs GETKEY.%0aNote. A /join command may fail because the channel you join is an invite-only channel. Again, ask ChanServ for an invite.%0a19. Another command is /msg, or /m for short everywhere except Pidgin. It is used for private messages, (DO NOT CALL THEM DIRECT MESSAGES UNLESS YOU WANT TO SOUND LIKE YOU USE DISCORD WHICH YOU SHOULDN'T BECAUSE IT'S NOT FREE AND OPEN SOURCE SOFTWARE.) It has two parameters:%0aFirst. The target. Mandatory.%0aSecond. The message. Mandatory.%0a20. The target can be:%0aFirst. A user. The message might not get through because the user might not take PMs from unregistered users or have put you on /ignore.%0aSecond. A channel. Channels are set by default not to accept messages from users that are not in them.%0aThird. A service. In most clients, messages to services do not appear in a separate window.%0a21. Another command is /quit. It disconnects you from IRC. The command takes one parameter: a quit message. It is optional to leave a quit message, but usually people will tell a joke in it. If none is given, it will default to "Leaving".%0a22. Another command is /part. It allows you to leave a channel without disconnecting altogether. It has two parameters:%0aFirst. A channel to leave. Optional, defaults to channel you are typing /part in.%0aSecond. A part message. Optional, defaults to none.%0a23. Another two commands are /say and /query. They send a message normally as if no command were being used, and are good for two purposes:%0aFirst. Sending a message beginning with / without triggering a command.%0aSecond. PMing someone and opening a separate window with that person (/msg doesn't do that.)%0aNote. For the first item, if you begin a message with ./ you will be understood.%0a24. For using /say and /query, remember that:%0aFirst. /say works on channels, while /query works on users.%0aSecond. /say takes only the message as a parameter, while /query takes the same parameters as /msg except it is not possible to /query channels.%0a25. Another command is /invite. For invite only channels, this will be necessary if you want to get someone in. It has two parameters:%0aFirst. The user to be invited. Mandatory.%0aSecond. The channel to be invited to. Optional, defaults to current channel. %0aNote. You have to be an op to use this. If you are already one and can't get in, use ChanServ.%0a26. Another set of commands are /op and /deop, /hop and /dehop, /voice and /devoice. They will save you a lot of effort if you don't want to use /mode or ChanServ. %0aNote. To op yourself when you have the right to do so, use ChanServ.%0a27. To punish people, use /ban and /unban, /kick, or /kickban or /kb if you want to do both. People who are under a plain /ban will not be allowed to send messages to the channel, but will still be able to view messages. If they leave, they can't rejoin for the duration of the ban. It takes one parameter, the mask, consisting of three parts:%0aFirst. The nickname. This will ban everyone using the nickname.%0aSecond. The "ident", i.e. the part you see before the @ when someone joins a channel.%0aThird. The host. An IP address or range of IP addresses can be used. If there are no legitimate users from a country or state trolls are posting from, you may do /ban *!*@*.[country code] or /ban *!*@*.[USPS code, e.g. wa for Washington].us. Regular expressions may be used for all 3 parts of the mask.%0aNote. Timed bans are not possible with /ban or /kb. You must /unban manually.%0a28. To find out what someone's IP is, use /whois and /whowas. The only parameter is the nickname.%0aNote. On Freenode and some other networks, YOUR IP ADDRESS IS NOT MASKED LIKE IT IS ON RIZON. IT IS IN YOUR BENEFIT TO OBTAIN A CLOAK/VHOST AS SOON AS POSSIBLE.%0a29. To know what commands your client supports, use /help. Play around a bit. It'll explain some of the more obscure commands better than I can.%0aPART IV. SERVICES.%0a Prior reading: par. 9.%0a 30. Services common to all networks with them.%0a 31. Services that occasionally appear.%0a 32. Scope of part.%0a 33. Querying a server, /ns, /cs, /ms, /hs.%0a 34. HELP.%0a Div. 1. NickServ.%0a Div. 2. ChanServ.%0a Div. 3. MemoServ.%0a Div. 4. Miscellaneous.%0a30. Every network that has services will have--%0aFirst. NickServ, for registering nicknames.%0aSecond. ChanServ, for registering channels.%0aThird. MemoServ, for sending memos to offline users.%0aFourth. OperServ, for use by server operators.%0a31. Some networks will also have--%0aFirst. HostServ, for requesting virtual hosts for cloaking IPs.%0aSecond. BotServ, for requesting bots.%0aThird. HelpServ, for requesting help.%0aFourth. FunServ, for trivia games.%0a32. This work will not attempt to go into an exhaustive description of what every service can do, but will cover the basics of using them as well as some useful functions.%0a33. To query a server, use /msg [service] [command]. Most, but by no means all, clients will allow you to shorten the query by using:%0aFirst. For NickServ, /nickserv or /ns.%0aSecond. For ChanServ, /chanserv or /cs.%0aThird. For MemoServ, /memoserv or /ms.%0aFourth. For HostServ, /hostserv or /hs.%0aNote. The latter, abbreviated forms will be used throughout this work.%0a34. Your first command to a service should always be /msg [service] HELP.%0aDiv. 1. NickServ.%0a Prior reading: pars. 30, 33, 34.%0a 35. REGISTER.%0a 36. CONFIRM.%0a 37. IDENTIFY.%0a 38. Auto-identify.%0a 39. GHOST.%0a 40. GROUP.%0a 41. SET ENFORCE.%0a35. To register a nickname, use /ns REGISTER, with the following two parameters:%0aFirst. A password.%0aSecond. An email address. %0aNote. Registration is highly encouraged, both for the security of your nickname, as well as because some channels won't let you join if you are unregistered to prevent spammers.%0a36. After you have done so, you will receive an email which will direct you to type /ns CONFIRM followed by a code. The registration will expire if you do not confirm it within 24 hours.%0a37. To log in as a registered nickname, use /ns IDENTIFY, with the following parameters:%0aFirst. A nickname, if it is not your current nickname.%0aSecond. The password you registered it as.%0a38. Constantly typing it may be annoying, not to mention revealing of your IP. To have your client "remember" your password, put /ns IDENTIFY [password] in your auto-execute box.%0a39. Sometimes when you get disconnected there may be a copy of yourself still in the channel. To remove this copy, type /ns GHOST with the following parameters:%0aFirst. The nickname to be removed.%0aSecond. The password of that nick, if you are not in a group with it.%0aNote. If your client allows for it, by all means put down names for your "second alternative" and "third alternative", and register them.%0a40. If you do get a vHost/cloak, it would be a good idea to group all your nicks under one group, so that all the nicks may use it. %0aUse /ns GROUP with the following parameters:%0aFirst. A nick you wish to be in the same group with.%0aSecond. That nick's password.%0a41. To protect your nickname while you are offline, use /ns SET ENFORCE. This will give anybody who uses this nickname 30 seconds to supply the password, or have their nick changed.%0aDiv. 2. ChanServ.%0a Prior reading: par. 26.%0a 42. REGISTER.%0a 43. SET ACCESSTYPE.%0a 44. Ways to use xOP.%0a 45. SOP, AOP, HOP, VOP.%0a 46. xOP.%0a 47. Powers of ops.%0a 48. Voiced people.%0a 49. Half-ops.%0a 50. Ops.%0a 51. Super-ops.%0a 52. Symbols for ops.%0a 53. Purpose of ACCESS.%0a 54. Access levels.%0a 55. HELP LEVELS DESC.%0a 56. LEVELS.%0a 57. ACCESS.%0a 58. Purpose of FLAGS.%0a 59. Nature of FLAGS.%0a 60. HELP FLAGS.%0a 61. FLAGS.%0a 62. Need to register.%0a42. To register a channel, use /cs REGISTER, with the following three parameters:%0aFirst. The channel to be registered.%0aSecond. A password for that channel. While mandatory, you may wish to enable SECUREFOUNDER to prevent anyone into the hands of which the password might fall from abusing it.%0aThird. A description of that channel, for use with /list.%0aNote. Some networks might not require the second or third.%0a43. There are three ways to manage the various administrative positions of an IRC channel:%0aFirst. xOP.%0aSecond. ACCESS.%0aThird. FLAGS.%0aNote. To change from one to the other, use /cs SET #channel ACCESSTYPE.%0a44. XOP may be used:%0aFirst. By /mode.%0aSecond. By ChanServ.%0a45. There are four types of ops:%0aFirst. Super-ops (SOP).%0aSecond. Ops (AOP).%0aThird. Half-ops. (HOP).%0aFourth. Voiced people. (VOP).%0aNote. The fourth is not a real op class, but still a privileged class; as used here, the word "op" includes voiced people.%0a46. To add people to each class, use /cs #channel xOP [hence the name] with the single parameter of the nickname of the person to be added.%0a47. Each level of op, except voiced people, can:%0aFirst. Ban and kick people at or below their level.%0aSecond. Give and take access levels at or below their level.%0a48. Voiced people gain no privileges except the right to keep sending messages when the channel is under +m.%0a49. Half-ops can set the topic on top of that.%0a50. Ops, also known as chanops or chops, can ban, give, and take ops and half-ops.%0a51. Super-ops, or protect-ops, can only be kicked by the channel owner.%0a52. The symbols for them in text-based clients are:%0aFirst. For the owner of the channel, ~ before the nick.%0aSecond. For super-ops, & before the nick.%0aThird. For ops, @ before the nick.%0aFourth. For half-ops, %25 before the nick.%0aFifth. For voiced people, + before the nick.%0aNote. See the "Tabulation of Mod Roles" for the representations of mod roles in two common clients.%0a53. ACCESS is useful if you wish all users of a certain class to have privileges other than the default granted by xOP.%0a54. The access levels are:%0aFirst. The founder, 10000.%0aSecond. Super-ops, 10.%0aThird. Ops, 5.%0aFourth. Half-ops, 4.%0aFifth. Voiced people, 3.%0aSixth. Ordinary users, 0.%0aSeventh. Banned people, -1.%0aNote. The gaps between access levels are deliberate, to enable the formation of new access levels.%0a55. For a list of access levels with their features, use /cs HELP LEVELS DESC.%0a56. To adjust them, use /cs LEVELS with the following parameters:%0aFirst. The channel on which the change is to take place.%0aSecond. LIST, to simply list the privileges of the current access levels for the channel and SET, to change them.%0aThird. The feature (found using HELP LEVELS) the right to use which is sought to be changed.%0aFourth. The numerical access level to change it to.%0a57. To add or remove a person to the access list, use /cs ACCESS with the following parameters:%0aFirst. The channel whose access list is sought to be changed.%0aSecond. ADD to add someone and DEL to remove someone.%0aThird. The nick of the person to be added or removed.%0aFourth. The access level to which they are to be added (for ADD only).%0aNote. To change the access level of a person, repeat this process.%0a58. FLAGS should be used if and only if you would like to fine-tune and individualize what every person is able to do.%0a59. FLAGS contains a list of attributes which are added to individual nicks as appropriate.%0aNote. These "attributes" contain one letter, and ARE NOT coterminous with or identical to the "features" of ACCESS!%0a60. To see a list of flags, use /cs HELP FLAGS.%0aNote. Flags are case sensitive.%0a61. To use FLAGS, use /cs FLAGS with the following parameters:%0aFirst. The channel.%0aSecond. The nick.%0aThird. + or - followed by one-letter "flags".%0aNote. +* to add all privileges, -* to remove all.%0a62. It is absolutely necessary to be registered to register channels as well as be opped under either of these three systems. (Unless you use /mode, which expires every time you log off.) This is another incentive to register and have everyone in your channel register as well.%0aDiv. 3. MemoServ.%0a Prior reading: par. 2.%0a 63. MemoServ.%0a 64. Advantages.%0a 65. Memos to channels.%0a 66. Possible application.%0a 67. Range of memos to channels.%0a 68. Storage of memos.%0a63. MemoServ is a service to send messages to registered:%0aFirst. Users.%0aSecond. Channels.%0a64. The advantages of MemoServ are that it:%0aFirst. Works whether the target is on- or offline.%0aSecond. Stores messages indefinitely.%0a65. MemoServ can be used to send messages to channels. %0a66. It is possible to set up a system where the ops of a channel talk to each other while private conversation continues unawares below. I do not believe this system is doable under any other protocol. This will greatly enhance the experience of managing a channel.%0a67. By default only super-ops and the owner will get memos to a channel. If you want people to get memos but do not trust them with super-op powers, your only choices are to use ACCESS or FLAGS.%0a68. MemoServ stores and numbers memos so you can look back on them whenever you want.%0aDiv. 4. Miscellaneous.%0a 69. VHosts.%0a 70. Cloaks.%0a 71. Note for using all services.%0a69. To hide your IP on most servers, ask HostServ. One will not be automatically given, but will be approved or rejected at network discretion. Pay attention to the kind of people that use the network and the kind of vHosts other people have to maximize your chances of approval. A vHost (short for "visible host") is in the form of a domain that does not actually resolve.%0a70. On Freenode, there is no HostServ. Instead "cloaks" (their name for vHosts) are to be manually requested in #freenode. If you are affiliated with a FOSS project, you may request a cloak of that project, in the form project/role/user. If you do not meet that project's policy for letting you have cloaks, you can get an "unaffiliated" cloak, in the form unaffiliated/accountname.%0aNote. It is possible through manipulating ChanServ to reveal a person's IP. The details will not be discussed here, both because I cannot see a reason someone would want to know this without malicious intent, and because I personally do not know how. But the take-away is that cloaks are not completely secure and complete security requires a VPN or Tor.%0a71. Unlike private messages with users, messages to services are NOT in a separate window, except in Pidgin. Thus it is EXTREMELY EASY to accidentally divulge your password if you mistype something. For that reason I would recommend not using a password you use anywhere else, and always double checking if you have the prefix "/msg NickServ" completely right.%0aPART V. MODES.%0a Prior reading: par. 9.%0a 72. Divisions of modes.%0a 73. Classes of channel modes.%0a 74. /mode.%0a 75. Adding or removing multiple modes.%0a Div. 1. Channel Modes.%0a Div. 2. User Modes.%0a72. Modes are divided into:%0aFirst. User modes, set by a user upon themselves or a server upon a user.%0aSecond. Channel modes, set by an op upon a channel or users in it, or by a server or service upon a channel.%0aThird. Server modes, set by a server operator upon their server, which is beyond the scope of this work.%0a73. Channel modes are in this work considered in two classes:%0aFirst. Modes set by an op upon a channel.%0aSecond. Modes set by an op upon its users, giving them privileges or restrictions within the channel.%0a74. To set modes, use /mode, with the following parameters:%0aFirst. The target of the mode, be it a user for the first division of modes, or a channel for the second.%0aSecond. + or - and the mode or modes to be added or removed.%0aThird. Any parameter for the mode.%0a75. Multiple modes may be added at the same time, but:%0aFirst. The modes and the parameters must be grouped together; as "/mode #channel +bbbb troll1 troll2 troll3 troll4" (to ban 4 trolls with 1 /mode).%0aSecond. There must be as many modes as there are parameters.%0aThird. The same action cannot both add and remove modes.%0aDiv. 1. Channel Modes.%0a Prior reading: par. 74.%0a 76. First step of channel modes.%0a 77. +k.%0a 78. +i.%0a 79. +b.%0a 80. +e.%0a 81. +I.%0a 82. Modes of different op grades.%0a 83. Applications.%0a 84. +r.%0a 85. +m.%0a 86. +M.%0a76. In this division, the first step is always /mode followed by the target channel.%0a77. To make a channel require a password to join:%0aFirst. "+k".%0aSecond. The password, case sensitive.%0a78. To make a channel invite-only, "+i".%0a79. To ban someone:%0aFirst. +b.%0aSecond. The mask intended to be banned. [See par. 27.]%0a80. To exempt someone from banning:%0aFirst. +e.%0aSecond. The mask intended to be excepted.%0a81. To exempt someone from having to be invited:%0aFirst. +I.%0aSecond. The mask intended to be exempted.%0a82. To use xOP through /mode [see par. 44]:%0aFirst. To make someone owner, +q.%0aSecond. To super-op someone, +a.%0aThird. To op someone, +o.%0aFourth. To half-op someone, +h.%0aFifth. To voice someone, +v.%0a83. It is possible to use /mode to op people through masks as well as nicks. This may be useful on Freenode.%0a84. To prevent unregistered users from joining, +r.%0a85. To prevent unvoiced users from talking (but not from viewing), +m.%0aNote. You may want to use LEVELS SET AUTOVOICE 0 to auto-voice people, and then strip voice when they become troublemakers.%0a86. To prevent unvoiced AND unregistered users from talking (but not from viewing), +M.%0aNote. The above three measures are all very good defenses against low-effort trolls.%0aDiv. 2. User Modes.%0aPrior reading: par. 74.%0a 87. +R.%0a 88. +p.%0a87. To block private messages from unregistered users, +R.%0a88. To hide channels the enquirer doesn't share with you, as well as sign-on and idle time from /whois, +p.%0aNote. Freenode does that automatically, but MOST OTHER NETWORKS DON'T, and thus this information, in conjunction with others can be a versatile tool for investigating trolls.%0aTHE END.%0aTABULATION OF MOD ROLES.%0a------------------------------------------------------------------------------------------------------%0a| Common name | /mode code | Symbol (text based) | Symbol (Hexchat) | Symbol (Pidgin) | ACCESS level |%0a| Owner | +q | ~ | Orange dot | Blue flag | 10000 |%0a| Super-op | +a | & | Yellow dot | None | 10 |%0a| Op | +o | @ | Blue dot | Gold hexagram | 5 |%0a| Half-op | +h | %25 | Light blue dot | Silver star | 4 |%0a| Voiced | +v | + | Blue dot | "Connection" | 3 |%0a------------------------------------------------------------------------------------------------------%0aFURTHER READING.%0aNote: The sources provided herein are for purposes of comparison and reference only. No inference of endorsement or responsibility for any part of any of their contents is to be drawn or can be accepted.--Author.%0aOriginal IRC RFC's:%0aRFC 1459 by Jarkko Oikarinen (inventor of IRC): https://tools.ietf.org/html/rfc1459%0aRFC 2811 "Channel Management" : https://tools.ietf.org/html/rfc2811%0aRFC 2812 "Client Protocol": https://tools.ietf.org/html/rfc2812%0aRizon Wiki https://wiki.rizon.net/index.php?title=Main_Page%0aAnopeWiki https://wiki.anope.org/index.php/Main_Page%0aAtheme Wiki https://github.com/atheme/atheme/wiki%0aUnrealIRCd Documentation Wiki https://www.unrealircd.org/docs/Main_Page%0a
+time=1646513760
+author:1646513760=jrmu
+diff:1646513760:1646513760:=1,397d0%0a%3c IRC MADE EASY, by QUINTUPLICATE, 2019.%0a%3c Second printing with some errors corrected and other assorted revision, 2020.%0a%3c Third printing with corrections and revisions, 2021.%0a%3c CONTENTS.%0a%3c Introduction.%0a%3c Part I. The Nature of IRC.%0a%3c Part II. Connecting.%0a%3c Part III. Commands.%0a%3c Part IV. Services.%0a%3c Part V. Modes.%0a%3c Tabulation of Mod Roles.%0a%3c Further Reading.%0a%3c INTRODUCTION.%0a%3c If you are reading this, you do not need reasons for using IRC; therefore none will be given.%0a%3c %0a%3c Brevity, simplicity, clarity, organization, and convenience have been the goals of this work, and not literary beauty. %0a%3c %0a%3c I would like to thank all those who read and offered feedback on this work. I do not pretend to be an expert, and this work is mostly based on my personal experience. All faults in this work are mine alone, and suggestions for improvement are eagerly requested. %0a%3c %0a%3c This work is intended to be read from beginning to end. Sequential indices head every part and division, in order to provide a concise summary of the matter contained therein.%0a%3c %0a%3c I disclaim all legal responsibility for anything done in consequence of this work. I also disclaim all rights in this work; it is in the public domain.%0a%3c %0a%3c THE AUTHOR.%0a%3c PART I. THE NATURE OF IRC.%0a%3c 1. IRC, servers, clients.%0a%3c 2. Clients only receive when they are online.%0a%3c 3. Networks and channels.%0a%3c 4. # and & channels.%0a%3c 5. Life and death of channels.%0a%3c 6. Channel, network, and server operators.%0a%3c 7. Existence of # channels.%0a%3c 8. Commands and ordinary messages.%0a%3c 9. / for starting commands.%0a%3c 1. Internet Relay Chat, or IRC, is a protocol for communication between:%0a%3c First. Servers, which carry the communication; and%0a%3c Second. Clients, which are connected to servers, through which they communicate with each other.%0a%3c 2. Servers do not store messages for clients; a client will only see the messages servers transmit when it is online.%0a%3c 3. Servers--%0a%3c First. May be grouped into networks, which allow channels to be shared;%0a%3c Second. Carry channels, in which all communication between clients takes place.%0a%3c 4. Channels begin with--%0a%3c First. # for channels usable throughout the network; and%0a%3c Second. & for channels usable on one server only. Few networks will have or allow the creation of such channels.%0a%3c Note. Channels beginning with ## are # channels, and on Freenode are used for conversation unrelated to FOSS. %0a%3c 5. A channel is created when the first user joins, and is destroyed when the last user leaves.%0a%3c Note. In some networks, it is not possible to create channels simply by joining them.%0a%3c 6. Channels, servers, and networks have their own classes of operators, each having a wider range of power than the one before it.%0a%3c 7. A channel beginning with # exists--%0a%3c First. On every server to which a client that is a member of it is connected;%0a%3c Second. On every server through which a message to every server covered by the first item must pass.%0a%3c 8. Clients and servers may send commands to servers. An ordinary message is interpreted as "/query %3cmessage>".%0a%3c 9. A command always begins with "/".%0a%3c PART II. CONNECTING.%0a%3c 10. Clients.%0a%3c 11. Web chats.%0a%3c 12. Finding channels.%0a%3c 13. Server key, address, and nick.%0a%3c 14. Message of the day.%0a%3c 15. Joining channels.%0a%3c 16. Networks.%0a%3c 17. Autojoins.%0a%3c 10. There is no single make of client; instead there is a variety of types. Ones I've used are:%0a%3c mIRC: For Windows. Proprietary shareware with a $20 license fee after 30 days.%0a%3c Pidgin: For Windows and Linux. Is also a client for many other chat protocols, but is slightly different from more conventional IRC clients.%0a%3c Trillian: For OS X, Windows, Linux, iOS, and Android. Proprietary, has a free version and a paid version without ads, resembles an IM client much more than an IRC client. Is also a client for its in-house chat protocol.%0a%3c HexChat: For Windows. FOSS version of XChat, which has a proprietary Windows version that requires payment. Past a certain point, will clear old messages as new messages come in. Has support for mIRC color codes, but not for Chinese characters.%0a%3c Irssi: For Linux. A Text Based client, unlike the 4 others, which are GUI clients. Not recommended for new users.%0a%3c There are also other clients that I haven't used:%0a%3c Chatzilla (an add-on for Firefox), XChat (FOSS for Linux), WeeChat, Quassel, AdiIRC, etc.%0a%3c 11. For connecting on the go or from foreign devices, use KiwiIRC (kiwiirc.com) or Mibbit (mibbit.com), or see if the IRC network provides a web chat.%0a%3c 12. To find IRC channels, use irc2go.com. Most clients will include lists of networks with them.%0a%3c 13. To connect to IRC, it is needed to provide:%0a%3c First. A server key or password. Very few servers will have this.%0a%3c Second. A server address. Use the address the network provides for the whole network; a server will be automatically assigned to you.%0a%3c Third. A nickname or nick. If your nick is already in use, the server will let you join with numbers added to the end.%0a%3c 14. Once you have connected, you will receive a Message Of The Day. This will usually include ground rules for the network and helpful tips.%0a%3c 15. From this point on, type "/join [channel, including leading symbol] [password if one is needed]" if you were asked to join a channel, or just "/list" if you're just looking around.%0a%3c 16. Here are some networks:%0a%3c Freenode: Focuses on free and open-source software and other collaborative projects. Much more centralized and strictly governed than other IRC networks. (chat.freenode.net)%0a%3c Rizon: A general-purpose IRC network. It aims to cultivate a free, fun atmosphere. Both entertainment channels like #4chan and #8chan as well as more serious channels like #bibanon are there. (irc.rizon.net)%0a%3c EFnet: The original IRC network (not exactly, but close enough.) Has no ChanServ or NickServ, so keeping your nickname and channel yours will require some legwork. (irc.efnet.org)%0a%3c IRCnet: A European split of EFnet. Has no ChanServ or NickServ, so keeping your nickname and channel yours will require some legwork. (open.ircnet.net)%0a%3c Undernet: Has no NickServ, and registering channels is by application; channels will only be registered if they are active and have 5 regulars. (irc.undernet.net)%0a%3c These are the biggest ones, but there are many small networks. You're liable to find a good conversation and many friends on any of them, so give them a try!%0a%3c 17. At this point you may be wondering how to have your client join a channel every time you log on. Your client should have an "execute upon connection" box. Type /join [channel] [password if one is needed] in it.%0a%3c PART III. COMMANDS.%0a%3c Prior reading: par. 9.%0a%3c 18. /join, /j.%0a%3c 19. /msg, /m%0a%3c 20. Target of /msg.%0a%3c 21. /quit.%0a%3c 22. /part.%0a%3c 23. /say, /query.%0a%3c 24. Important notices for /say and /query.%0a%3c 25. /invite.%0a%3c 26. /op, /deop, /voice, /devoice, /hop, /dehop.%0a%3c 27. /ban, /unban, /kick, /kickban, /kb.%0a%3c 28. /whois, /whowas.%0a%3c 29. /help.%0a%3c 18. The first command we will look at is /join or /j. It has two parameters:%0a%3c First. Channel to join. Mandatory. The initial symbol must be included.%0a%3c Second. Channel key. Optional. If you happen to forget it, you may ask ChanServ using /cs GETKEY.%0a%3c Note. A /join command may fail because the channel you join is an invite-only channel. Again, ask ChanServ for an invite.%0a%3c 19. Another command is /msg, or /m for short everywhere except Pidgin. It is used for private messages, (DO NOT CALL THEM DIRECT MESSAGES UNLESS YOU WANT TO SOUND LIKE YOU USE DISCORD WHICH YOU SHOULDN'T BECAUSE IT'S NOT FREE AND OPEN SOURCE SOFTWARE.) It has two parameters:%0a%3c First. The target. Mandatory.%0a%3c Second. The message. Mandatory.%0a%3c 20. The target can be:%0a%3c First. A user. The message might not get through because the user might not take PMs from unregistered users or have put you on /ignore.%0a%3c Second. A channel. Channels are set by default not to accept messages from users that are not in them.%0a%3c Third. A service. In most clients, messages to services do not appear in a separate window.%0a%3c 21. Another command is /quit. It disconnects you from IRC. The command takes one parameter: a quit message. It is optional to leave a quit message, but usually people will tell a joke in it. If none is given, it will default to "Leaving".%0a%3c 22. Another command is /part. It allows you to leave a channel without disconnecting altogether. It has two parameters:%0a%3c First. A channel to leave. Optional, defaults to channel you are typing /part in.%0a%3c Second. A part message. Optional, defaults to none.%0a%3c 23. Another two commands are /say and /query. They send a message normally as if no command were being used, and are good for two purposes:%0a%3c First. Sending a message beginning with / without triggering a command.%0a%3c Second. PMing someone and opening a separate window with that person (/msg doesn't do that.)%0a%3c Note. For the first item, if you begin a message with ./ you will be understood.%0a%3c 24. For using /say and /query, remember that:%0a%3c First. /say works on channels, while /query works on users.%0a%3c Second. /say takes only the message as a parameter, while /query takes the same parameters as /msg except it is not possible to /query channels.%0a%3c 25. Another command is /invite. For invite only channels, this will be necessary if you want to get someone in. It has two parameters:%0a%3c First. The user to be invited. Mandatory.%0a%3c Second. The channel to be invited to. Optional, defaults to current channel. %0a%3c Note. You have to be an op to use this. If you are already one and can't get in, use ChanServ.%0a%3c 26. Another set of commands are /op and /deop, /hop and /dehop, /voice and /devoice. They will save you a lot of effort if you don't want to use /mode or ChanServ. %0a%3c Note. To op yourself when you have the right to do so, use ChanServ.%0a%3c 27. To punish people, use /ban and /unban, /kick, or /kickban or /kb if you want to do both. People who are under a plain /ban will not be allowed to send messages to the channel, but will still be able to view messages. If they leave, they can't rejoin for the duration of the ban. It takes one parameter, the mask, consisting of three parts:%0a%3c First. The nickname. This will ban everyone using the nickname.%0a%3c Second. The "ident", i.e. the part you see before the @ when someone joins a channel.%0a%3c Third. The host. An IP address or range of IP addresses can be used. If there are no legitimate users from a country or state trolls are posting from, you may do /ban *!*@*.[country code] or /ban *!*@*.[USPS code, e.g. wa for Washington].us. Regular expressions may be used for all 3 parts of the mask.%0a%3c Note. Timed bans are not possible with /ban or /kb. You must /unban manually.%0a%3c 28. To find out what someone's IP is, use /whois and /whowas. The only parameter is the nickname.%0a%3c Note. On Freenode and some other networks, YOUR IP ADDRESS IS NOT MASKED LIKE IT IS ON RIZON. IT IS IN YOUR BENEFIT TO OBTAIN A CLOAK/VHOST AS SOON AS POSSIBLE.%0a%3c 29. To know what commands your client supports, use /help. Play around a bit. It'll explain some of the more obscure commands better than I can.%0a%3c PART IV. SERVICES.%0a%3c Prior reading: par. 9.%0a%3c 30. Services common to all networks with them.%0a%3c 31. Services that occasionally appear.%0a%3c 32. Scope of part.%0a%3c 33. Querying a server, /ns, /cs, /ms, /hs.%0a%3c 34. HELP.%0a%3c Div. 1. NickServ.%0a%3c Div. 2. ChanServ.%0a%3c Div. 3. MemoServ.%0a%3c Div. 4. Miscellaneous.%0a%3c 30. Every network that has services will have--%0a%3c First. NickServ, for registering nicknames.%0a%3c Second. ChanServ, for registering channels.%0a%3c Third. MemoServ, for sending memos to offline users.%0a%3c Fourth. OperServ, for use by server operators.%0a%3c 31. Some networks will also have--%0a%3c First. HostServ, for requesting virtual hosts for cloaking IPs.%0a%3c Second. BotServ, for requesting bots.%0a%3c Third. HelpServ, for requesting help.%0a%3c Fourth. FunServ, for trivia games.%0a%3c 32. This work will not attempt to go into an exhaustive description of what every service can do, but will cover the basics of using them as well as some useful functions.%0a%3c 33. To query a server, use /msg [service] [command]. Most, but by no means all, clients will allow you to shorten the query by using:%0a%3c First. For NickServ, /nickserv or /ns.%0a%3c Second. For ChanServ, /chanserv or /cs.%0a%3c Third. For MemoServ, /memoserv or /ms.%0a%3c Fourth. For HostServ, /hostserv or /hs.%0a%3c Note. The latter, abbreviated forms will be used throughout this work.%0a%3c 34. Your first command to a service should always be /msg [service] HELP.%0a%3c Div. 1. NickServ.%0a%3c Prior reading: pars. 30, 33, 34.%0a%3c 35. REGISTER.%0a%3c 36. CONFIRM.%0a%3c 37. IDENTIFY.%0a%3c 38. Auto-identify.%0a%3c 39. GHOST.%0a%3c 40. GROUP.%0a%3c 41. SET ENFORCE.%0a%3c 35. To register a nickname, use /ns REGISTER, with the following two parameters:%0a%3c First. A password.%0a%3c Second. An email address. %0a%3c Note. Registration is highly encouraged, both for the security of your nickname, as well as because some channels won't let you join if you are unregistered to prevent spammers.%0a%3c 36. After you have done so, you will receive an email which will direct you to type /ns CONFIRM followed by a code. The registration will expire if you do not confirm it within 24 hours.%0a%3c 37. To log in as a registered nickname, use /ns IDENTIFY, with the following parameters:%0a%3c First. A nickname, if it is not your current nickname.%0a%3c Second. The password you registered it as.%0a%3c 38. Constantly typing it may be annoying, not to mention revealing of your IP. To have your client "remember" your password, put /ns IDENTIFY [password] in your auto-execute box.%0a%3c 39. Sometimes when you get disconnected there may be a copy of yourself still in the channel. To remove this copy, type /ns GHOST with the following parameters:%0a%3c First. The nickname to be removed.%0a%3c Second. The password of that nick, if you are not in a group with it.%0a%3c Note. If your client allows for it, by all means put down names for your "second alternative" and "third alternative", and register them.%0a%3c 40. If you do get a vHost/cloak, it would be a good idea to group all your nicks under one group, so that all the nicks may use it. %0a%3c Use /ns GROUP with the following parameters:%0a%3c First. A nick you wish to be in the same group with.%0a%3c Second. That nick's password.%0a%3c 41. To protect your nickname while you are offline, use /ns SET ENFORCE. This will give anybody who uses this nickname 30 seconds to supply the password, or have their nick changed.%0a%3c Div. 2. ChanServ.%0a%3c Prior reading: par. 26.%0a%3c 42. REGISTER.%0a%3c 43. SET ACCESSTYPE.%0a%3c 44. Ways to use xOP.%0a%3c 45. SOP, AOP, HOP, VOP.%0a%3c 46. xOP.%0a%3c 47. Powers of ops.%0a%3c 48. Voiced people.%0a%3c 49. Half-ops.%0a%3c 50. Ops.%0a%3c 51. Super-ops.%0a%3c 52. Symbols for ops.%0a%3c 53. Purpose of ACCESS.%0a%3c 54. Access levels.%0a%3c 55. HELP LEVELS DESC.%0a%3c 56. LEVELS.%0a%3c 57. ACCESS.%0a%3c 58. Purpose of FLAGS.%0a%3c 59. Nature of FLAGS.%0a%3c 60. HELP FLAGS.%0a%3c 61. FLAGS.%0a%3c 62. Need to register.%0a%3c 42. To register a channel, use /cs REGISTER, with the following three parameters:%0a%3c First. The channel to be registered.%0a%3c Second. A password for that channel. While mandatory, you may wish to enable SECUREFOUNDER to prevent anyone into the hands of which the password might fall from abusing it.%0a%3c Third. A description of that channel, for use with /list.%0a%3c Note. Some networks might not require the second or third.%0a%3c 43. There are three ways to manage the various administrative positions of an IRC channel:%0a%3c First. xOP.%0a%3c Second. ACCESS.%0a%3c Third. FLAGS.%0a%3c Note. To change from one to the other, use /cs SET #channel ACCESSTYPE.%0a%3c 44. XOP may be used:%0a%3c First. By /mode.%0a%3c Second. By ChanServ.%0a%3c 45. There are four types of ops:%0a%3c First. Super-ops (SOP).%0a%3c Second. Ops (AOP).%0a%3c Third. Half-ops. (HOP).%0a%3c Fourth. Voiced people. (VOP).%0a%3c Note. The fourth is not a real op class, but still a privileged class; as used here, the word "op" includes voiced people.%0a%3c 46. To add people to each class, use /cs #channel xOP [hence the name] with the single parameter of the nickname of the person to be added.%0a%3c 47. Each level of op, except voiced people, can:%0a%3c First. Ban and kick people at or below their level.%0a%3c Second. Give and take access levels at or below their level.%0a%3c 48. Voiced people gain no privileges except the right to keep sending messages when the channel is under +m.%0a%3c 49. Half-ops can set the topic on top of that.%0a%3c 50. Ops, also known as chanops or chops, can ban, give, and take ops and half-ops.%0a%3c 51. Super-ops, or protect-ops, can only be kicked by the channel owner.%0a%3c 52. The symbols for them in text-based clients are:%0a%3c First. For the owner of the channel, ~ before the nick.%0a%3c Second. For super-ops, & before the nick.%0a%3c Third. For ops, @ before the nick.%0a%3c Fourth. For half-ops, %25 before the nick.%0a%3c Fifth. For voiced people, + before the nick.%0a%3c Note. See the "Tabulation of Mod Roles" for the representations of mod roles in two common clients.%0a%3c 53. ACCESS is useful if you wish all users of a certain class to have privileges other than the default granted by xOP.%0a%3c 54. The access levels are:%0a%3c First. The founder, 10000.%0a%3c Second. Super-ops, 10.%0a%3c Third. Ops, 5.%0a%3c Fourth. Half-ops, 4.%0a%3c Fifth. Voiced people, 3.%0a%3c Sixth. Ordinary users, 0.%0a%3c Seventh. Banned people, -1.%0a%3c Note. The gaps between access levels are deliberate, to enable the formation of new access levels.%0a%3c 55. For a list of access levels with their features, use /cs HELP LEVELS DESC.%0a%3c 56. To adjust them, use /cs LEVELS with the following parameters:%0a%3c First. The channel on which the change is to take place.%0a%3c Second. LIST, to simply list the privileges of the current access levels for the channel and SET, to change them.%0a%3c Third. The feature (found using HELP LEVELS) the right to use which is sought to be changed.%0a%3c Fourth. The numerical access level to change it to.%0a%3c 57. To add or remove a person to the access list, use /cs ACCESS with the following parameters:%0a%3c First. The channel whose access list is sought to be changed.%0a%3c Second. ADD to add someone and DEL to remove someone.%0a%3c Third. The nick of the person to be added or removed.%0a%3c Fourth. The access level to which they are to be added (for ADD only).%0a%3c Note. To change the access level of a person, repeat this process.%0a%3c 58. FLAGS should be used if and only if you would like to fine-tune and individualize what every person is able to do.%0a%3c 59. FLAGS contains a list of attributes which are added to individual nicks as appropriate.%0a%3c Note. These "attributes" contain one letter, and ARE NOT coterminous with or identical to the "features" of ACCESS!%0a%3c 60. To see a list of flags, use /cs HELP FLAGS.%0a%3c Note. Flags are case sensitive.%0a%3c 61. To use FLAGS, use /cs FLAGS with the following parameters:%0a%3c First. The channel.%0a%3c Second. The nick.%0a%3c Third. + or - followed by one-letter "flags".%0a%3c Note. +* to add all privileges, -* to remove all.%0a%3c 62. It is absolutely necessary to be registered to register channels as well as be opped under either of these three systems. (Unless you use /mode, which expires every time you log off.) This is another incentive to register and have everyone in your channel register as well.%0a%3c Div. 3. MemoServ.%0a%3c Prior reading: par. 2.%0a%3c 63. MemoServ.%0a%3c 64. Advantages.%0a%3c 65. Memos to channels.%0a%3c 66. Possible application.%0a%3c 67. Range of memos to channels.%0a%3c 68. Storage of memos.%0a%3c 63. MemoServ is a service to send messages to registered:%0a%3c First. Users.%0a%3c Second. Channels.%0a%3c 64. The advantages of MemoServ are that it:%0a%3c First. Works whether the target is on- or offline.%0a%3c Second. Stores messages indefinitely.%0a%3c 65. MemoServ can be used to send messages to channels. %0a%3c 66. It is possible to set up a system where the ops of a channel talk to each other while private conversation continues unawares below. I do not believe this system is doable under any other protocol. This will greatly enhance the experience of managing a channel.%0a%3c 67. By default only super-ops and the owner will get memos to a channel. If you want people to get memos but do not trust them with super-op powers, your only choices are to use ACCESS or FLAGS.%0a%3c 68. MemoServ stores and numbers memos so you can look back on them whenever you want.%0a%3c Div. 4. Miscellaneous.%0a%3c 69. VHosts.%0a%3c 70. Cloaks.%0a%3c 71. Note for using all services.%0a%3c 69. To hide your IP on most servers, ask HostServ. One will not be automatically given, but will be approved or rejected at network discretion. Pay attention to the kind of people that use the network and the kind of vHosts other people have to maximize your chances of approval. A vHost (short for "visible host") is in the form of a domain that does not actually resolve.%0a%3c 70. On Freenode, there is no HostServ. Instead "cloaks" (their name for vHosts) are to be manually requested in #freenode. If you are affiliated with a FOSS project, you may request a cloak of that project, in the form project/role/user. If you do not meet that project's policy for letting you have cloaks, you can get an "unaffiliated" cloak, in the form unaffiliated/accountname.%0a%3c Note. It is possible through manipulating ChanServ to reveal a person's IP. The details will not be discussed here, both because I cannot see a reason someone would want to know this without malicious intent, and because I personally do not know how. But the take-away is that cloaks are not completely secure and complete security requires a VPN or Tor.%0a%3c 71. Unlike private messages with users, messages to services are NOT in a separate window, except in Pidgin. Thus it is EXTREMELY EASY to accidentally divulge your password if you mistype something. For that reason I would recommend not using a password you use anywhere else, and always double checking if you have the prefix "/msg NickServ" completely right.%0a%3c PART V. MODES.%0a%3c Prior reading: par. 9.%0a%3c 72. Divisions of modes.%0a%3c 73. Classes of channel modes.%0a%3c 74. /mode.%0a%3c 75. Adding or removing multiple modes.%0a%3c Div. 1. Channel Modes.%0a%3c Div. 2. User Modes.%0a%3c 72. Modes are divided into:%0a%3c First. User modes, set by a user upon themselves or a server upon a user.%0a%3c Second. Channel modes, set by an op upon a channel or users in it, or by a server or service upon a channel.%0a%3c Third. Server modes, set by a server operator upon their server, which is beyond the scope of this work.%0a%3c 73. Channel modes are in this work considered in two classes:%0a%3c First. Modes set by an op upon a channel.%0a%3c Second. Modes set by an op upon its users, giving them privileges or restrictions within the channel.%0a%3c 74. To set modes, use /mode, with the following parameters:%0a%3c First. The target of the mode, be it a user for the first division of modes, or a channel for the second.%0a%3c Second. + or - and the mode or modes to be added or removed.%0a%3c Third. Any parameter for the mode.%0a%3c 75. Multiple modes may be added at the same time, but:%0a%3c First. The modes and the parameters must be grouped together; as "/mode #channel +bbbb troll1 troll2 troll3 troll4" (to ban 4 trolls with 1 /mode).%0a%3c Second. There must be as many modes as there are parameters.%0a%3c Third. The same action cannot both add and remove modes.%0a%3c Div. 1. Channel Modes.%0a%3c Prior reading: par. 74.%0a%3c 76. First step of channel modes.%0a%3c 77. +k.%0a%3c 78. +i.%0a%3c 79. +b.%0a%3c 80. +e.%0a%3c 81. +I.%0a%3c 82. Modes of different op grades.%0a%3c 83. Applications.%0a%3c 84. +r.%0a%3c 85. +m.%0a%3c 86. +M.%0a%3c 76. In this division, the first step is always /mode followed by the target channel.%0a%3c 77. To make a channel require a password to join:%0a%3c First. "+k".%0a%3c Second. The password, case sensitive.%0a%3c 78. To make a channel invite-only, "+i".%0a%3c 79. To ban someone:%0a%3c First. +b.%0a%3c Second. The mask intended to be banned. [See par. 27.]%0a%3c 80. To exempt someone from banning:%0a%3c First. +e.%0a%3c Second. The mask intended to be excepted.%0a%3c 81. To exempt someone from having to be invited:%0a%3c First. +I.%0a%3c Second. The mask intended to be exempted.%0a%3c 82. To use xOP through /mode [see par. 44]:%0a%3c First. To make someone owner, +q.%0a%3c Second. To super-op someone, +a.%0a%3c Third. To op someone, +o.%0a%3c Fourth. To half-op someone, +h.%0a%3c Fifth. To voice someone, +v.%0a%3c 83. It is possible to use /mode to op people through masks as well as nicks. This may be useful on Freenode.%0a%3c 84. To prevent unregistered users from joining, +r.%0a%3c 85. To prevent unvoiced users from talking (but not from viewing), +m.%0a%3c Note. You may want to use LEVELS SET AUTOVOICE 0 to auto-voice people, and then strip voice when they become troublemakers.%0a%3c 86. To prevent unvoiced AND unregistered users from talking (but not from viewing), +M.%0a%3c Note. The above three measures are all very good defenses against low-effort trolls.%0a%3c Div. 2. User Modes.%0a%3c Prior reading: par. 74.%0a%3c 87. +R.%0a%3c 88. +p.%0a%3c 87. To block private messages from unregistered users, +R.%0a%3c 88. To hide channels the enquirer doesn't share with you, as well as sign-on and idle time from /whois, +p.%0a%3c Note. Freenode does that automatically, but MOST OTHER NETWORKS DON'T, and thus this information, in conjunction with others can be a versatile tool for investigating trolls.%0a%3c THE END.%0a%3c TABULATION OF MOD ROLES.%0a%3c ------------------------------------------------------------------------------------------------------%0a%3c | Common name | /mode code | Symbol (text based) | Symbol (Hexchat) | Symbol (Pidgin) | ACCESS level |%0a%3c | Owner | +q | ~ | Orange dot | Blue flag | 10000 |%0a%3c | Super-op | +a | & | Yellow dot | None | 10 |%0a%3c | Op | +o | @ | Blue dot | Gold hexagram | 5 |%0a%3c | Half-op | +h | %25 | Light blue dot | Silver star | 4 |%0a%3c | Voiced | +v | + | Blue dot | "Connection" | 3 |%0a%3c ------------------------------------------------------------------------------------------------------%0a%3c FURTHER READING.%0a%3c Note: The sources provided herein are for purposes of comparison and reference only. No inference of endorsement or responsibility for any part of any of their contents is to be drawn or can be accepted.--Author.%0a%3c Original IRC RFC's:%0a%3c RFC 1459 by Jarkko Oikarinen (inventor of IRC): https://tools.ietf.org/html/rfc1459%0a%3c RFC 2811 "Channel Management" : https://tools.ietf.org/html/rfc2811%0a%3c RFC 2812 "Client Protocol": https://tools.ietf.org/html/rfc2812%0a%3c Rizon Wiki https://wiki.rizon.net/index.php?title=Main_Page%0a%3c AnopeWiki https://wiki.anope.org/index.php/Main_Page%0a%3c Atheme Wiki https://github.com/atheme/atheme/wiki%0a%3c UnrealIRCd Documentation Wiki https://www.unrealircd.org/docs/Main_Page%0a
+host:1646513760=38.87.162.8
blob - /dev/null
blob + 6ba0bd47715129baf76db4903d09a0ea7831516e (mode 644)
--- /dev/null
+++ wiki.d/Irc.Services
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1648182544
+host=38.87.162.154
+name=Irc.Services
+rev=2
+targets=Irc.Easy
+text=See [[irc/easy|IRC made easy]] for a quick guide of what services provide.%0a
+time=1648182555
+author:1648182555=jrmu
+diff:1648182555:1648182544:=1c1%0a%3c See [[irc/easy|IRC made easy]] for a quick guide of what services provide.%0a---%0a> See [irc/easy|IRC made easy]] for a quick guide of what services provide.%0a
+host:1648182555=38.87.162.154
+author:1648182544=jrmu
+diff:1648182544:1648182544:=1d0%0a%3c See [irc/easy|IRC made easy]] for a quick guide of what services provide.%0a
+host:1648182544=38.87.162.154
blob - /dev/null
blob + ca97ce26b772472b648bc3954ae244912510f20c (mode 644)
--- /dev/null
+++ wiki.d/Irc201.Irc201
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36 Edg/98.0.1108.62
+author=suzerain
+charset=UTF-8
+csum=
+ctime=1645888144
+host=114.37.148.234
+name=Irc201.Irc201
+rev=13
+targets=Irc.Guide
+text=Read [[Irc.Guide]] at first.%0a%0a!! Set User/Channel Mode%0a%0aUsage:%0a MODE %3cnickname> [{+|-}%3cmode>[%3cmode>] [{+|-}%3cmode>[%3cmode>] [...]]]%0a MODE %3cchannel> [{+|-}%3cmode>[%3cmode>] [%3carg> [%3carg> [...]]] [{+|-}%3cmode>[%3cmode>] [%3carg> [%3carg> [...]]] [...]]]%0aExample:%0a%0a/mode #hi +i +z%0a%0aIt will set mods "iz"on channel #hi. And +i +z are tags of IRC Channel mode.%0a%0a/mode hacker +b%0a%0aIt will be block nickname called "hacker" on this channel. And +b is a tag of IRC User mode.%0a%0a!!! More Mode Tags%0ahttps://github.com/ngircd/ngircd/blob/master/doc/Modes.txt%0a%0a!! Server Setting%0a!!! INVITE%0aUsage:%0a INVITE %3cnickname> %3cchannel>%0a%0aExample:%0a%0a/invite Suzerain #hi-pe%0a%0aIt will be invite Suzerain join the channel #hi-pe, it be used in +i channel to let channel ops invite user join their channel.%0a!!!TOPIC%0aUsage:%0a TOPIC %3cchannel> [%3ctopic>]%0a%0aExample:%0a%0a/topic #hi hi there.%0a%0aIt will be set topic of the channel #hi to hi there. '''DO NOT''' include [] unless you need it.%0a%0a!!! For IRC Opers%0a!!!! GLINE%0aUsage:%0a GLINE %3cnick!user@hostmask> [%3ctimeout> :%3creason>]%0a%0aExample:%0a%0a/GLINE nick!suzerain@hostmask4sz 0:spam%0a%0aIt will block nick called suzerain or user of hostmask is hostmask4sz, reason is spam and never timeout. '''For Network'''.%0a%0aFor local block, you should use KLINE.%0a%0a!!!! KLINE%0aUsage:%0a KLINE %3cnick!user@hostmask> [%3ctimeout> :%3creason>]%0a%0aExample:%0a%0a/KLINE nick!suzerain@hostmask4sz 0:spam%0a%0aIt will be block nickname called suzerain or user of hostmask is hostmask4sz to connect server, reason is spam and block never timeout.%0a%0aFor Network block, use GLINE.%0a%0a!!!!Un-GLINE/KLINE%0aIf you want to un-gline/kline. Please type the same commands but '''do not''' type timeout and reason. It will delete block for the nickname or hostmask.%0a%0a!!!!KILL%0aUsage:%0a KILL %3cnickname> %3creason>%0a%0aExample:%0a%0a/kill Suzerain userrequest.%0a%0aIt will be take offline for nick called Suzerain '''on Network''' and reason is userrequest, and the reason will be given them.%0a%0a!!!!REHASH%0aUsage:%0a REHASH%0a%0aExample:%0a%0a/REHASH%0a%0aIt will reload causes the server to re-read and re-process its configuration file, and reject all new link request.%0a%0a!!!!RESTART%0aUsage:%0a RESTART%0a%0aExample:%0a%0a/RESTART%0a%0aIt will restart IRC Server.%0a%0a!!ChanServ
+time=1645935690
+author:1645935690=suzerain
+diff:1645935690:1645935669:=99c99%0a%3c !!ChanServ%0a\ No newline at end of file%0a---%0a> !!!ChanServ%0a\ No newline at end of file%0a
+host:1645935690=114.37.148.234
+author:1645935669=suzerain
+diff:1645935669:1645935494:=21c21%0a%3c !! Server Setting%0a---%0a> !! Server Setting and ChanServ%0a99d98%0a%3c !!!ChanServ%0a\ No newline at end of file%0a
+host:1645935669=114.37.148.234
+author:1645935494=suzerain
+diff:1645935494:1645935056:=41c41%0a%3c !!! For IRC Opers%0a---%0a> !!! For Network Opers%0a77,98c77%0a%3c It will be take offline for nick called Suzerain '''on Network''' and reason is userrequest, and the reason will be given them.%0a%3c %0a%3c !!!!REHASH%0a%3c Usage:%0a%3c REHASH%0a%3c %0a%3c Example:%0a%3c %0a%3c /REHASH%0a%3c %0a%3c It will reload causes the server to re-read and re-process its configuration file, and reject all new link request.%0a%3c %0a%3c !!!!RESTART%0a%3c Usage:%0a%3c RESTART%0a%3c %0a%3c Example:%0a%3c %0a%3c /RESTART%0a%3c %0a%3c It will restart IRC Server.%0a%3c %0a---%0a> It will be take offline for nick called Suzerain '''on Network''' and reason is userrequest, and the reason will be given them.%0a\ No newline at end of file%0a
+host:1645935494=114.37.148.234
+author:1645935056=suzerain
+diff:1645935056:1645934969:=54c54%0a%3c !!!! KLINE%0a---%0a> !!! KLINE%0a66,67c66,67%0a%3c !!!!Un-GLINE/KLINE%0a%3c If you want to un-gline/kline. Please type the same commands but '''do not''' type timeout and reason. It will delete block for the nickname or hostmask.%0a---%0a> !!!Un-GLINE/KLINE%0a> If you want to un-gline/kline. Please type the same commands but '''do not''' type timeout and reason. It will be delete block for the nickname or hostmask.%0a
+host:1645935056=114.37.148.234
+author:1645934969=suzerain
+diff:1645934969:1645934662:=53,68d52%0a%3c %0a%3c !!! KLINE%0a%3c Usage:%0a%3c KLINE %3cnick!user@hostmask> [%3ctimeout> :%3creason>]%0a%3c %0a%3c Example:%0a%3c %0a%3c /KLINE nick!suzerain@hostmask4sz 0:spam%0a%3c %0a%3c It will be block nickname called suzerain or user of hostmask is hostmask4sz to connect server, reason is spam and block never timeout.%0a%3c %0a%3c For Network block, use GLINE.%0a%3c %0a%3c !!!Un-GLINE/KLINE%0a%3c If you want to un-gline/kline. Please type the same commands but '''do not''' type timeout and reason. It will be delete block for the nickname or hostmask.%0a%3c %0a
+host:1645934969=114.37.148.234
+author:1645934662=suzerain
+diff:1645934662:1645934526:=52d51%0a%3c For local block, you should use KLINE.%0a
+host:1645934662=114.37.148.234
+author:1645934526=suzerain
+diff:1645934526:1645934371:=47d46%0a%3c %0a57d55%0a%3c %0a
+host:1645934526=114.37.148.234
+author:1645934371=suzerain
+diff:1645934371:1645888782:=40,58d39%0a%3c %0a%3c !!! For Network Opers%0a%3c !!!! GLINE%0a%3c Usage:%0a%3c GLINE %3cnick!user@hostmask> [%3ctimeout> :%3creason>]%0a%3c %0a%3c Example:%0a%3c /GLINE nick!suzerain@hostmask4sz 0:spam%0a%3c %0a%3c It will block nick called suzerain or user of hostmask is hostmask4sz, reason is spam and never timeout. '''For Network'''.%0a%3c %0a%3c !!!!KILL%0a%3c Usage:%0a%3c KILL %3cnickname> %3creason>%0a%3c %0a%3c Example:%0a%3c /kill Suzerain userrequest.%0a%3c %0a%3c It will be take offline for nick called Suzerain '''on Network''' and reason is userrequest, and the reason will be given them.%0a\ No newline at end of file%0a
+host:1645934371=114.37.148.234
+author:1645888782=suzerain
+diff:1645888782:1645888519:=22,30d21%0a%3c !!! INVITE%0a%3c Usage:%0a%3c INVITE %3cnickname> %3cchannel>%0a%3c %0a%3c Example:%0a%3c %0a%3c /invite Suzerain #hi-pe%0a%3c %0a%3c It will be invite Suzerain join the channel #hi-pe, it be used in +i channel to let channel ops invite user join their channel.%0a
+host:1645888782=114.37.148.234
+author:1645888519=suzerain
+diff:1645888519:1645888286:=22,30c22%0a%3c !!!TOPIC%0a%3c Usage:%0a%3c TOPIC %3cchannel> [%3ctopic>]%0a%3c %0a%3c Example:%0a%3c %0a%3c /topic #hi hi there.%0a%3c %0a%3c It will be set topic of the channel #hi to hi there. '''DO NOT''' include [] unless you need it.%0a---%0a> %0a
+host:1645888519=114.37.148.234
+author:1645888286=suzerain
+diff:1645888286:1645888196:=16,17c16,17%0a%3c It will be block nickname called "hacker" on this channel. And +b is a tag of IRC User mode.%0a%3c %0a---%0a> It will be block user "hacker" on this channel. And +b is a tag of IRC User mode.%0a> %0a19,21c19%0a%3c https://github.com/ngircd/ngircd/blob/master/doc/Modes.txt%0a%3c %0a%3c !! Server Setting and ChanServ%0a---%0a> [https://github.com/ngircd/ngircd/blob/master/doc/Modes.txt]%0a
+host:1645888286=114.37.148.234
+author:1645888196=suzerain
+diff:1645888196:1645888144:=18c18%0a%3c !!! More Mode Tags%0a---%0a> !! More Mode Tags%0a
+host:1645888196=114.37.148.234
+author:1645888144=suzerain
+diff:1645888144:1645888144:=1,20d0%0a%3c Read [[Irc.Guide]] at first.%0a%3c %0a%3c !! Set User/Channel Mode%0a%3c %0a%3c Usage:%0a%3c MODE %3cnickname> [{+|-}%3cmode>[%3cmode>] [{+|-}%3cmode>[%3cmode>] [...]]]%0a%3c MODE %3cchannel> [{+|-}%3cmode>[%3cmode>] [%3carg> [%3carg> [...]]] [{+|-}%3cmode>[%3cmode>] [%3carg> [%3carg> [...]]] [...]]]%0a%3c Example:%0a%3c %0a%3c /mode #hi +i +z%0a%3c %0a%3c It will set mods "iz"on channel #hi. And +i +z are tags of IRC Channel mode.%0a%3c %0a%3c /mode hacker +b%0a%3c %0a%3c It will be block user "hacker" on this channel. And +b is a tag of IRC User mode.%0a%3c %0a%3c !! More Mode Tags%0a%3c [https://github.com/ngircd/ngircd/blob/master/doc/Modes.txt]%0a%3c %0a
+host:1645888144=114.37.148.234
blob - /dev/null
blob + 939bb6da173db8b24c8dec1ffa7c33f34c636a9d (mode 644)
--- /dev/null
+++ wiki.d/Irc201.RecentChanges
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36 Edg/98.0.1108.62
+charset=UTF-8
+ctime=1645888144
+host=114.37.148.234
+name=Irc201.RecentChanges
+rev=13
+text=* [[Irc201/Irc201]] . . . February 27, 2022, at 04:21 AM by [[~suzerain]]: [==]%0a
+time=1645935690
blob - /dev/null
blob + 33d31e3034c27b48e4742b20c82b697ad505fec6 (mode 644)
--- /dev/null
+++ wiki.d/Ircfs.Intro
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1639782038
+host=38.87.162.8
+name=Ircfs.Intro
+rev=3
+targets=
+text=ircfs%0a%0aInspired by ii, ircfs presents IRC as a filesystem with the%0afollowing features:%0a%0a* ctcp replies%0a* multiple connections%0a* multiple networks%0a* multiple users%0a* tls%0a* password%0a* automatic reconnect upon disconnection%0a* optional metadata collection%0a
+time=1641120584
+author:1641120584=jrmu
+diff:1641120584:1641105363:=7,9c7,9%0a%3c * multiple connections%0a%3c * multiple networks%0a%3c * multiple users%0a---%0a> * infinite connections%0a> * infinite networks%0a> * infinite users%0a13d12%0a%3c * optional metadata collection%0a
+host:1641120584=38.87.162.8
+author:1641105363=jrmu
+diff:1641105363:1639782038:=3,4c3%0a%3c Inspired by ii, ircfs presents IRC as a filesystem with the%0a%3c following features:%0a---%0a> presents IRC as a file system with the following features:%0a
+host:1641105363=38.87.162.8
+author:1639782038=jrmu
+diff:1639782038:1639782038:=1,11d0%0a%3c ircfs%0a%3c %0a%3c presents IRC as a file system with the following features:%0a%3c %0a%3c * ctcp replies%0a%3c * infinite connections%0a%3c * infinite networks%0a%3c * infinite users%0a%3c * tls%0a%3c * password%0a%3c * automatic reconnect upon disconnection%0a
+host:1639782038=38.87.162.8
blob - /dev/null
blob + 6f287b7384174f2efc911d7264126fe9a2d7cb3f (mode 644)
--- /dev/null
+++ wiki.d/Ircfs.RecentChanges
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+charset=UTF-8
+ctime=1639782038
+host=38.87.162.8
+name=Ircfs.RecentChanges
+rev=3
+text=* [[Ircfs/Intro]] . . . January 02, 2022, at 10:49 AM by [[~jrmu]]: [==]%0a
+time=1641120584
blob - /dev/null
blob + 80c3d2d618c02f91dcd24e38eaed51b4e7228215 (mode 644)
--- /dev/null
+++ wiki.d/Ircnow.Dogfood
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1641458920
+host=38.87.162.8
+name=Ircnow.Dogfood
+rev=1
+targets=
+text=(:title Eat Your Own Dog Food:)%0a%0aAs staff, you must use the services you are providing. For example, if you provide a bouncer, you should use that bouncer every day for your IRC chat. In other words, '''we must eat our own dog food'''.%0a%0aEating your own dog food has many benefits:%0a%0a# You notice right away when your service is broken%0a# It shows you have confidence in your own services%0a# It's a great way to advertise%0a%0aIf you're not dogfooding, this is probably because your service is broken. So please go and fix it. If you don't want to use your own service, who else will?%0a%0a!! Admins who don't dogfood admit their own service is broken%0a%0aIn February 1980, Apple Computer announced "Effective Immediately!! No more typewriters are to be purchased... We believe the typewriter is obsolete. Let's prove it inside before we try and convince our customers." ([[https://en.wikipedia.org/wiki/Dogfooding|Wikipedia]]) Apple Computer dogfoods.%0a%0aMicrosoft forced over 200 developers to use Windows NT daily to perform daily builds. It crashed often. They fixed it. ([[https://en.wikipedia.org/wiki/Dogfooding|Wikipedia]]) Microsoft dogfoods.%0a%0a!! What happens when you don't dogfood?%0a%0aIn the mid-1990s, Microsoft's internal email system was built around Unix. What an embarassment for Microsoft. Everyone considered it proof that Unix is better than Windows.%0a%0aIf you are running your own mail server, are you using GMail every day? It would be an embarassment for your team. It's proof GMail is better than your own mail server.%0a%0a--> Thus, I came to the conclusion that the designer of a new system must not only be the implementor and the first large-scale user; the designer should also write the first user manual. The separation of any of these four components would have hurt TeX significantly. If I had not participated fully in all these activities, literally hundreds of improvements would never have been made, because I would never have thought of them or perceived why they were important.%0a--> — Donald E. Knuth, "The Errors Of TeX"%0a%0a'''Take pride in your work: Dogfood.'''%0a
+time=1641458920
+title=Eat Your Own Dog Food
+author:1641458920=jrmu
+diff:1641458920:1641458920:=1,28d0%0a%3c (:title Eat Your Own Dog Food:)%0a%3c %0a%3c As staff, you must use the services you are providing. For example, if you provide a bouncer, you should use that bouncer every day for your IRC chat. In other words, '''we must eat our own dog food'''.%0a%3c %0a%3c Eating your own dog food has many benefits:%0a%3c %0a%3c # You notice right away when your service is broken%0a%3c # It shows you have confidence in your own services%0a%3c # It's a great way to advertise%0a%3c %0a%3c If you're not dogfooding, this is probably because your service is broken. So please go and fix it. If you don't want to use your own service, who else will?%0a%3c %0a%3c !! Admins who don't dogfood admit their own service is broken%0a%3c %0a%3c In February 1980, Apple Computer announced "Effective Immediately!! No more typewriters are to be purchased... We believe the typewriter is obsolete. Let's prove it inside before we try and convince our customers." ([[https://en.wikipedia.org/wiki/Dogfooding|Wikipedia]]) Apple Computer dogfoods.%0a%3c %0a%3c Microsoft forced over 200 developers to use Windows NT daily to perform daily builds. It crashed often. They fixed it. ([[https://en.wikipedia.org/wiki/Dogfooding|Wikipedia]]) Microsoft dogfoods.%0a%3c %0a%3c !! What happens when you don't dogfood?%0a%3c %0a%3c In the mid-1990s, Microsoft's internal email system was built around Unix. What an embarassment for Microsoft. Everyone considered it proof that Unix is better than Windows.%0a%3c %0a%3c If you are running your own mail server, are you using GMail every day? It would be an embarassment for your team. It's proof GMail is better than your own mail server.%0a%3c %0a%3c --> Thus, I came to the conclusion that the designer of a new system must not only be the implementor and the first large-scale user; the designer should also write the first user manual. The separation of any of these four components would have hurt TeX significantly. If I had not participated fully in all these activities, literally hundreds of improvements would never have been made, because I would never have thought of them or perceived why they were important.%0a%3c --> — Donald E. Knuth, "The Errors Of TeX"%0a%3c %0a%3c '''Take pride in your work: Dogfood.'''%0a
+host:1641458920=38.87.162.8
blob - /dev/null
blob + 922e5a63d55c15f0a28c54223ded4f6007f5f72f (mode 644)
--- /dev/null
+++ wiki.d/Ircnow.Roadmap2021
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1640845906
+host=38.87.162.8
+name=Ircnow.Roadmap2021
+rev=1
+targets=Ircnow.Servers,Bouncer.Bouncer,Ircnow.Team,Minutemin.Training,Openbsd.Openbsd,Openbsd.Bitlbee,Shell.Shell,Www.Www,Openbsd.Sftp,Openbsd.Pmwiki,Openbsd.Php,Openbsd.Bchs,Openbsd.Gotweb,Openbsd.Eggdrop,Openbsd.Openrsync,Openbsd.Scp,Openbsd.Iked,Openbsd.Opensmtpd,Openbsd.Dovecot,Openbsd.Spamd,Openbsd.Pf,Openbsd.FilePermissions,Third.Third,Openbsd.Botnow,Openbsd.Opensnmpd,Openbsd.Identd,Openbsd.Asterisk,Ircnow.Todo
+text=(:title IRCNow Roadmap:)%0a%0a!! Plans for Profit%0a%0a# Build a free and open Internet platform for 3rd party businesses to easily buy/sell to users; charge transaction fees on each sale%0a # Provide an IRC marketplace and cryptocoin payment platform%0a # Provide an IRC platform for developers of IRC bots and games%0a # Provide an IRC analytics platform for advertisers (require user consent)%0a # These 3rd parties could sell proprietary software and services, ads, and physical goods%0a# Directly sell our users annual subscriptions for%0a # Extra file storage for web, file, and email hosting%0a # VPS hosting%0a # IRCd hosting%0a# Collect donations%0a%0a!! Ongoing%0a%0a# Invite your friends to [[ircnow/servers|connect to our network]] and [[bouncer/bouncer|request zncs]]%0a# Recruit new [[Ircnow/Team|teammates]]%0a# Finish [[Minutemin/Training|Minutemin Training]]%0a# Learn the [[Openbsd/Openbsd|OpenBSD software stack]] thoroughly and train other teammtes%0a# Update your team's [[Ircnow/Servers|server page]] to show what services you offer%0a# Update the [[Openbsd/Openbsd|Sysadmin Almanack]] to improve it for other sysadmins%0a%0a!! Jan 2021 to Dec 2021%0a%0a# Provide [[bouncer/bouncer|znc accounts]]%0a # Install and configure [[openbsd/bitlbee|bitlbee]]%0a# Provide [[shell/shell|shell accounts]]%0a# Provide [[www/www|web hosting]]%0a # Offer [[openbsd/sftp|chrooted sftp]] access%0a # Offer [[openbsd/pmwiki|pmwiki]] for each user%0a # Offer [[openbsd/php|PHP]] web hosting%0a # Offer [[openbsd/bchs|BCHS]] web hosting%0a # Offer [[https://undeadly.org|undeadly's]] [[https://undeadly.org/src/|source code]] for blogs%0a # Alternatively, offer [[https://centroid.eu/blog|centroid's]] [[https://gotweb.centroid.eu/cgi-bin/gotweb/gotweb?path=centroidblog.got&action=tree|source code]] for blogs%0a # Offer [[openbsd/gotweb|gotweb]] for version control%0a# Provide [[openbsd/eggdrop|eggdrops]]%0a# Provide file hosting%0a # Setup a [[openbsd/sftp|chrooted sftp]]%0a # For shell servers, provide [[openbsd/openrsync|openrsync]], rsync, and [[openbsd/scp|scp]]%0a# Provide IPSec VPNs with [[openbsd/iked|IKED]]%0a# Provide mail hosting%0a # Configure [[openbsd/opensmtpd|opensmtpd]] and [[openbsd/dovecot|dovecot]]%0a # Find a spam solution, possibly using [[openbsd/spamd|spamd]]%0a# Improve security:%0a # Set up server [[openbsd/pf|firewalls]]%0a # Harden [[Openbsd/FilePermissions|file permissions]]%0a # Set up DNS blacklists%0a # Implement quotas%0a# Experiment with suggested [[Third/Third|third party apps]]%0a%0a!! Jan 2022 to December 2022%0a%0a# Patch ngircd:%0a # Add support for ilines%0a # Toggle +r user mode based as determined by open proxy monitors%0a # Fix buffer exhausted errors%0a # Add ELIST functionality for IRCCloud since this client cannot use /list%0a # Add defcon mode%0a # Add /ns and /cs aliases%0a# Improve [[openbsd/botnow|botnow]], a script for registering IRCNow services%0a # Add support for instant registration of shell accounts%0a # Add support for automatic eggdrop compilation and configuration%0a# Add interactive UNIX tutorials for shell account users%0a# Add interactive VPS tutorials for teammates%0a# Update website theme%0a# Create disaster recovery plan%0a # Automated backups / restore testing%0a# Setup [[openbsd/opensnmpd|opensnmpd]] for alert monitoring%0a# Patch [[openbsd/identd|identd]] to allow spoofing%0a# CGI script to view znc logs%0a%0a!! Future%0a# Improve security:%0a # Automate check for abusive processes/malware on shell accounts%0a# Write interactive C programming tutorials%0a# Switch services from anope to fork of achurch%0a# Switch open proxy monitor from hopm to fork of acopm%0a# Encourage use of psybnc instead of znc%0a # Add playback feature to psybnc%0a # Allow searching of old IRC history%0a # Fix IPv6 connection issues with psybnc%0a # Add NickServ modules that 'just works' across all major IRC networks%0a# Add new features to achurch:%0a # MemeServ%0a # HoneyServ%0a # PasteServ%0a # TrapServ%0a # FileServ%0a # KeyServ%0a# Provide telephony using SIP%0a # Setup [[openbsd/asterisk]]%0a # Provide free sip accounts%0a # Register DIDs%0a # Provide free TURN/STUN servers%0a# Write web IRC app%0a%0a!! Marketing%0a# Get our IRC network listed%0a # https://search.mibbit.com/, mIRC, androIRC%0a # https://netsplit.de/%0a # Get listed on undeadly.org%0a%0a(:if false:)%0a # Use Yahoo's NSFW bot to scan for banned content%0a(:ifend:)%0a%0a# [[ircnow/todo|IRCNow Todo List]]%0a
+time=1640845906
+title=IRCNow Roadmap
+author:1640845906=jrmu
+diff:1640845906:1640845906:=1,109d0%0a%3c (:title IRCNow Roadmap:)%0a%3c %0a%3c !! Plans for Profit%0a%3c %0a%3c # Build a free and open Internet platform for 3rd party businesses to easily buy/sell to users; charge transaction fees on each sale%0a%3c # Provide an IRC marketplace and cryptocoin payment platform%0a%3c # Provide an IRC platform for developers of IRC bots and games%0a%3c # Provide an IRC analytics platform for advertisers (require user consent)%0a%3c # These 3rd parties could sell proprietary software and services, ads, and physical goods%0a%3c # Directly sell our users annual subscriptions for%0a%3c # Extra file storage for web, file, and email hosting%0a%3c # VPS hosting%0a%3c # IRCd hosting%0a%3c # Collect donations%0a%3c %0a%3c !! Ongoing%0a%3c %0a%3c # Invite your friends to [[ircnow/servers|connect to our network]] and [[bouncer/bouncer|request zncs]]%0a%3c # Recruit new [[Ircnow/Team|teammates]]%0a%3c # Finish [[Minutemin/Training|Minutemin Training]]%0a%3c # Learn the [[Openbsd/Openbsd|OpenBSD software stack]] thoroughly and train other teammtes%0a%3c # Update your team's [[Ircnow/Servers|server page]] to show what services you offer%0a%3c # Update the [[Openbsd/Openbsd|Sysadmin Almanack]] to improve it for other sysadmins%0a%3c %0a%3c !! Jan 2021 to Dec 2021%0a%3c %0a%3c # Provide [[bouncer/bouncer|znc accounts]]%0a%3c # Install and configure [[openbsd/bitlbee|bitlbee]]%0a%3c # Provide [[shell/shell|shell accounts]]%0a%3c # Provide [[www/www|web hosting]]%0a%3c # Offer [[openbsd/sftp|chrooted sftp]] access%0a%3c # Offer [[openbsd/pmwiki|pmwiki]] for each user%0a%3c # Offer [[openbsd/php|PHP]] web hosting%0a%3c # Offer [[openbsd/bchs|BCHS]] web hosting%0a%3c # Offer [[https://undeadly.org|undeadly's]] [[https://undeadly.org/src/|source code]] for blogs%0a%3c # Alternatively, offer [[https://centroid.eu/blog|centroid's]] [[https://gotweb.centroid.eu/cgi-bin/gotweb/gotweb?path=centroidblog.got&action=tree|source code]] for blogs%0a%3c # Offer [[openbsd/gotweb|gotweb]] for version control%0a%3c # Provide [[openbsd/eggdrop|eggdrops]]%0a%3c # Provide file hosting%0a%3c # Setup a [[openbsd/sftp|chrooted sftp]]%0a%3c # For shell servers, provide [[openbsd/openrsync|openrsync]], rsync, and [[openbsd/scp|scp]]%0a%3c # Provide IPSec VPNs with [[openbsd/iked|IKED]]%0a%3c # Provide mail hosting%0a%3c # Configure [[openbsd/opensmtpd|opensmtpd]] and [[openbsd/dovecot|dovecot]]%0a%3c # Find a spam solution, possibly using [[openbsd/spamd|spamd]]%0a%3c # Improve security:%0a%3c # Set up server [[openbsd/pf|firewalls]]%0a%3c # Harden [[Openbsd/FilePermissions|file permissions]]%0a%3c # Set up DNS blacklists%0a%3c # Implement quotas%0a%3c # Experiment with suggested [[Third/Third|third party apps]]%0a%3c %0a%3c !! Jan 2022 to December 2022%0a%3c %0a%3c # Patch ngircd:%0a%3c # Add support for ilines%0a%3c # Toggle +r user mode based as determined by open proxy monitors%0a%3c # Fix buffer exhausted errors%0a%3c # Add ELIST functionality for IRCCloud since this client cannot use /list%0a%3c # Add defcon mode%0a%3c # Add /ns and /cs aliases%0a%3c # Improve [[openbsd/botnow|botnow]], a script for registering IRCNow services%0a%3c # Add support for instant registration of shell accounts%0a%3c # Add support for automatic eggdrop compilation and configuration%0a%3c # Add interactive UNIX tutorials for shell account users%0a%3c # Add interactive VPS tutorials for teammates%0a%3c # Update website theme%0a%3c # Create disaster recovery plan%0a%3c # Automated backups / restore testing%0a%3c # Setup [[openbsd/opensnmpd|opensnmpd]] for alert monitoring%0a%3c # Patch [[openbsd/identd|identd]] to allow spoofing%0a%3c # CGI script to view znc logs%0a%3c %0a%3c !! Future%0a%3c # Improve security:%0a%3c # Automate check for abusive processes/malware on shell accounts%0a%3c # Write interactive C programming tutorials%0a%3c # Switch services from anope to fork of achurch%0a%3c # Switch open proxy monitor from hopm to fork of acopm%0a%3c # Encourage use of psybnc instead of znc%0a%3c # Add playback feature to psybnc%0a%3c # Allow searching of old IRC history%0a%3c # Fix IPv6 connection issues with psybnc%0a%3c # Add NickServ modules that 'just works' across all major IRC networks%0a%3c # Add new features to achurch:%0a%3c # MemeServ%0a%3c # HoneyServ%0a%3c # PasteServ%0a%3c # TrapServ%0a%3c # FileServ%0a%3c # KeyServ%0a%3c # Provide telephony using SIP%0a%3c # Setup [[openbsd/asterisk]]%0a%3c # Provide free sip accounts%0a%3c # Register DIDs%0a%3c # Provide free TURN/STUN servers%0a%3c # Write web IRC app%0a%3c %0a%3c !! Marketing%0a%3c # Get our IRC network listed%0a%3c # https://search.mibbit.com/, mIRC, androIRC%0a%3c # https://netsplit.de/%0a%3c # Get listed on undeadly.org%0a%3c %0a%3c (:if false:)%0a%3c # Use Yahoo's NSFW bot to scan for banned content%0a%3c (:ifend:)%0a%3c %0a%3c # [[ircnow/todo|IRCNow Todo List]]%0a
+host:1640845906=38.87.162.8
blob - /dev/null
blob + 0fc195349e1b7798a86cf6a0abc0359376fb669d (mode 644)
--- /dev/null
+++ wiki.d/Ircnow.Roadmap2022
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1640842419
+host=38.87.162.8
+name=Ircnow.Roadmap2022
+rev=20
+targets=Irc101.Irc101,Irc201.Irc201,Unix201.Unix201,C.Intro,Lua.Intro,Lisp.Intro,9101.9101,Perl101.Perl101,Unix101.Unix101,Ircnow.Projects,Shell.Shell,Bouncer.Bouncer,Email.Email,Vpn.Vpn,Xmpp.Xmpp,Eggdrop.Install,Openbsd.Bchs,Openhttpd.Configure,Sftp.Chroot,Openrsync.Usage,Rsync.Usage,Scp.Usage,Iked.Configure,Opensmtpd.Configure,Mlmmj.Install,Got.Usage,Cvs.Intro,Asterisk.Install,Codeforce.Intro,Sonsofliberty.Intro,Ircnow.Ranger,Cloud9p.Roadmap
+text=!! Roadmap for 2022%0a%0a!!! Developer training%0a%0a# Create [[irc101/irc101|irc101]] intro course%0a# Create [[irc201/irc201|channel oper]] course%0a# Create [[unix201/unix201|Unix 201 shell scripting course]]%0a# Create [[c/intro|C programming]] tutorial%0a# Create [[lua/intro|lua programming]] tutorial%0a# Create [[lisp/intro|lisp programming]] tutorial%0a# Create [[9101/9101|9 101 course]]%0a# Update [[perl101/perl101|perl101 programming]] tutorial%0a# Update [[unix101/unix101|Unix 101]] tutorial%0a# Work on [[ircnow/projects|new software projects]]%0a%0a!!! User services%0a%0a# Fix [[shell/shell|liberty shell]], [[bouncer/bouncer|znc]] requests bot%0a# Update guides for [[bouncer/bouncer|znc]], [[shell/shell|shell]], [[email/email|email]], [[vpn/vpn|vpn]], [[xmpp/xmpp|xmpp]]%0a# Automate VPS request bot%0a# Provide automated [[eggdrop/install|eggdrops]]%0a# Offer [[openbsd/bchs|BCHS]] web hosting%0a # [[https://undeadly.org|undeadly's]] [[https://undeadly.org/src/|source code]] for blogs%0a # [[https://centroid.eu/blog|centroid's]] [[https://gotweb.centroid.eu/cgi-bin/gotweb/gotweb?path=centroidblog.got&action=tree|source code]] for blogs%0a# Provide file hosting with [[openhttpd/configure|http]], [[sftp/chroot|sftp]], ftp, ssh, [[openrsync/usage|openrsync]] and [[rsync/usage|rsync]], and [[scp/usage|scp]] access.%0a# Provide [[vpn/vpn|IPSec VPNs]] with [[iked/configure|IKED]]%0a# Provide [[opensmtpd/configure|mail hosting]]%0a# Implement voting system using [[mlmmj/install|mailing list]] archives%0a# Offer code hosting with [[got/usage|got]] and [[cvs/intro|cvs]]%0a# Provide telephony using SIP using [[asterisk/install|asterisk]] (include free public phone number)%0a%0a!!! Training%0a%0a# Create [[codeforce/intro|codeforce]] training program%0a# Create [[sonsofliberty/intro|sons of liberty]] guide%0a# Create [[ircnow/ranger|security team]]%0a# Document [[cloud9p/roadmap|cloud9p]] network%0a%0a!!! Server Independence%0a%0aEach team should work towards financial independence. We can then transfer legal ownership to each team.%0a%0aHere are some approaches to revenue:%0a%0a# User subscriptions/memberships%0a # Extra storage%0a # Extra bandwidth%0a # VPS hosting%0a# User donations and organizational sponsorships%0a# Fees on 3rd party transactions%0a # Provide an IRC marketplace and cryptocoin payment platform%0a # Provide an IRC platform for developers of IRC bots and games%0a # Provide a platform for advertisers (require user consent)%0a
+time=1641130096
+author:1641130096=jrmu
+diff:1641130096:1641122934:=51,53c51%0a%3c # Provide an IRC marketplace and cryptocoin payment platform%0a%3c # Provide an IRC platform for developers of IRC bots and games%0a%3c # Provide a platform for advertisers (require user consent)%0a---%0a> # Sales of software, services, ads, or physical goods can have fees%0a
+host:1641130096=38.87.162.8
+author:1641122934=jrmu
+diff:1641122934:1641122888:=14,15c14%0a%3c # Work on [[ircnow/projects|new software projects]]%0a%3c %0a---%0a> %0a37a37,42%0a> %0a> !!! Code%0a> %0a> # Work on [[ircnow/projects|new software projects]]%0a> # Switch services from anope to fork of achurch%0a> # Switch open proxy monitor from hopm to fork of acopm%0a
+host:1641122934=38.87.162.8
+author:1641122888=jrmu
+diff:1641122888:1641122757:=42a43,49%0a> # Add new features to achurch:%0a> # MemeServ%0a> # HoneyServ%0a> # PasteServ%0a> # TrapServ%0a> # FileServ%0a> # KeyServ%0a
+host:1641122888=38.87.162.8
+author:1641122757=jrmu
+diff:1641122757:1641122353:=29c29%0a%3c # Provide telephony using SIP using [[asterisk/install|asterisk]] (include free public phone number)%0a---%0a> # Provide telephony using SIP using [[asterisk/install]] (include free public phone number)%0a
+host:1641122757=38.87.162.8
+author:1641122353=jrmu
+diff:1641122353:1641121788:=42a43,47%0a> # Encourage use of psybnc instead of znc%0a> # Add playback feature to psybnc%0a> # Allow searching of old IRC history%0a> # Fix IPv6 connection issues with psybnc%0a> # Add NickServ modules that 'just works' across all major IRC networks%0a
+host:1641122353=38.87.162.8
+author:1641121788=jrmu
+diff:1641121788:1641120901:=22,23c22,23%0a%3c # [[https://undeadly.org|undeadly's]] [[https://undeadly.org/src/|source code]] for blogs%0a%3c # [[https://centroid.eu/blog|centroid's]] [[https://gotweb.centroid.eu/cgi-bin/gotweb/gotweb?path=centroidblog.got&action=tree|source code]] for blogs%0a---%0a> # [[https://undeadly.org|undeadly's]] [[https://undeadly.org/src/|source code]] for blogs%0a> # [[https://centroid.eu/blog|centroid's]] [[https://gotweb.centroid.eu/cgi-bin/gotweb/gotweb?path=centroidblog.got&action=tree|source code]] for blogs%0a
+host:1641121788=38.87.162.8
+author:1641120901=jrmu
+diff:1641120901:1641120898:=
+host:1641120901=38.87.162.8
+author:1641120898=jrmu
+diff:1641120898:1641104608:=40c40,49%0a%3c # Work on [[ircnow/projects|new software projects]]%0a---%0a> # Patch ngircd:%0a> # Add support for ilines%0a> # Toggle +r user mode based as determined by open proxy monitors%0a> # Fix buffer exhausted errors%0a> # Add ELIST functionality for IRCCloud since this client cannot use /list%0a> # Add defcon mode%0a> # Add /ns and /cs aliases%0a> # Write [[openbsd/botnow|botnow]], a script for registering IRCNow services%0a> # Add support for instant registration of shell accounts%0a> # Add support for automatic eggdrop compilation and configuration%0a
+host:1641120898=38.87.162.8
+author:1641104608=jrmu
+diff:1641104608:1641094658:=
+host:1641104608=38.87.162.8
+author:1641094658=jrmu
+diff:1641094658:1641094092:=
+host:1641094658=38.87.162.8
+author:1641094092=jrmu
+diff:1641094092:1640847723:=5,6c5%0a%3c # Create [[irc101/irc101|irc101]] intro course%0a%3c # Create [[irc201/irc201|channel oper]] course%0a---%0a> # Create [[irc101/irc101|irc101]] course%0a18d16%0a%3c # Update guides for [[bouncer/bouncer|znc]], [[shell/shell|shell]], [[email/email|email]], [[vpn/vpn|vpn]], [[xmpp/xmpp|xmpp]]%0a25c23%0a%3c # Provide [[vpn/vpn|IPSec VPNs]] with [[iked/configure|IKED]]%0a---%0a> # Provide IPSec VPNs with [[iked/configure|IKED]]%0a67,68c65,66%0a%3c Each team should work towards financial independence. We can then transfer legal ownership to each team.%0a%3c %0a---%0a> Each team should work towards financial independence. Afterwards, we can transfer legal ownership to each team.%0a> %0a72,73c70%0a%3c # Extra storage%0a%3c # Extra bandwidth%0a---%0a> # Extra storage or bandwidth%0a
+host:1641094092=38.87.162.8
+author:1640847723=jrmu
+diff:1640847723:1640846113:=22c22%0a%3c # Provide file hosting with [[openhttpd/configure|http]], [[sftp/chroot|sftp]], ftp, ssh, [[openrsync/usage|openrsync]] and [[rsync/usage|rsync]], and [[scp/usage|scp]] access.%0a---%0a> # Provide file hosting with http, [[sftp/chroot|sftp]], ftp, ssh, [[openrsync/usage|openrsync]] and [[rsync/usage|rsync]], and [[scp/usage|scp]] access.%0a24,25c24%0a%3c # Provide [[opensmtpd/configure|mail hosting]]%0a%3c # Implement voting system using [[mlmmj/install|mailing list]] archives%0a---%0a> # Provide mail hosting%0a27,28c26,29%0a%3c # Provide telephony using SIP using [[asterisk/install]] (include free public phone number)%0a%3c %0a---%0a> # Provide telephony using SIP using [[asterisk/install]]%0a> # Provide free sip accounts and register a DID%0a> # Provide free TURN/STUN servers%0a> %0a31c32%0a%3c # Create [[codeforce/intro|codeforce]] training program%0a---%0a> # Create [[codeforce/intro|codeforce]] guides%0a47a49,50%0a> # Create disaster recovery plan%0a> # Automated backups / restore testing%0a
+host:1640847723=38.87.162.8
+author:1640846113=jrmu
+diff:1640846113:1640844033:=
+host:1640846113=38.87.162.8
+author:1640844033=jrmu
+diff:1640844033:1640843853:=16,17c16%0a%3c # Fix [[shell/shell|liberty shell]], [[bouncer/bouncer|znc]] requests bot%0a%3c # Automate VPS request bot%0a---%0a> # Provide [[shell/shell|liberty shells]]%0a20,22c19,23%0a%3c # [[https://undeadly.org|undeadly's]] [[https://undeadly.org/src/|source code]] for blogs%0a%3c # [[https://centroid.eu/blog|centroid's]] [[https://gotweb.centroid.eu/cgi-bin/gotweb/gotweb?path=centroidblog.got&action=tree|source code]] for blogs%0a%3c # Provide file hosting with http, [[sftp/chroot|sftp]], ftp, ssh, [[openrsync/usage|openrsync]] and [[rsync/usage|rsync]], and [[scp/usage|scp]] access.%0a---%0a> # Offer [[https://undeadly.org|undeadly's]] [[https://undeadly.org/src/|source code]] for blogs%0a> # Alternatively, offer [[https://centroid.eu/blog|centroid's]] [[https://gotweb.centroid.eu/cgi-bin/gotweb/gotweb?path=centroidblog.got&action=tree|source code]] for blogs%0a> # Provide file hosting with http, ftp, ssh, sftp, rsync access%0a> # Setup a [[openbsd/sftp|chrooted sftp]]%0a> # For shell servers, provide [[openbsd/openrsync|openrsync]], rsync, and [[openbsd/scp|scp]]%0a
+host:1640844033=38.87.162.8
+author:1640843853=jrmu
+diff:1640843853:1640843640:=
+host:1640843853=38.87.162.8
+author:1640843640=jrmu
+diff:1640843640:1640843423:=67,72c67,72%0a%3c !!! Server Independence%0a%3c %0a%3c Each team should work towards financial independence. Afterwards, we can transfer legal ownership to each team.%0a%3c %0a%3c Here are some approaches to revenue:%0a%3c %0a---%0a> !!! Options for revenue%0a> %0a> Each team will decide how it plans to pay for its expenses. Here are some possible approaches:%0a> %0a> # User donations%0a> # Sponsorships%0a76,78c76,79%0a%3c # User donations and organizational sponsorships%0a%3c # Fees on 3rd party transactions%0a%3c # Sales of software, services, ads, or physical goods can have fees%0a---%0a> # Transaction fees on 3rd party transactions:%0a> # Provide an IRC marketplace and cryptocoin payment platform%0a> # Provide an IRC platform for developers of IRC bots and games%0a> # If 3rd parties sell software, services, ads, or physical goods, these transactions can be taxed%0a
+host:1640843640=38.87.162.8
+author:1640843423=jrmu
+diff:1640843423:1640842734:=33d32%0a%3c # Create [[codeforce/intro|codeforce]] guides%0a35c34,38%0a%3c # Create [[ircnow/ranger|security team]]%0a---%0a> # Create security team%0a> # Set up server [[openbsd/pf|firewalls]]%0a> # Harden [[Openbsd/FilePermissions|file permissions]]%0a> # Set up DNS blacklists%0a> # Implement quotas%0a
+host:1640843423=38.87.162.8
+author:1640842734=jrmu
+diff:1640842734:1640842694:=68a69,71%0a> # Write web IRC app%0a> %0a> # [[ircnow/todo|IRCNow Todo List]]%0a
+host:1640842734=38.87.162.8
+author:1640842694=jrmu
+diff:1640842694:1640842419:=33d32%0a%3c # Create [[sonsofliberty/intro|sons of liberty]] guide%0a39,40c38%0a%3c # Document [[cloud9p/roadmap|cloud9p]] network%0a%3c %0a---%0a> %0a69a68,69%0a> # Create [[sonsofliberty/intro|sons of liberty]] guide%0a> # Create [[cloud9p/roadmap|cloud9p]] network%0a
+host:1640842694=38.87.162.8
+author:1640842419=jrmu
+diff:1640842419:1640842419:=1,85d0%0a%3c !! Roadmap for 2022%0a%3c %0a%3c !!! Developer training%0a%3c %0a%3c # Create [[irc101/irc101|irc101]] course%0a%3c # Create [[unix201/unix201|Unix 201 shell scripting course]]%0a%3c # Create [[c/intro|C programming]] tutorial%0a%3c # Create [[lua/intro|lua programming]] tutorial%0a%3c # Create [[lisp/intro|lisp programming]] tutorial%0a%3c # Create [[9101/9101|9 101 course]]%0a%3c # Update [[perl101/perl101|perl101 programming]] tutorial%0a%3c # Update [[unix101/unix101|Unix 101]] tutorial%0a%3c %0a%3c !!! User services%0a%3c %0a%3c # Provide [[shell/shell|liberty shells]]%0a%3c # Provide automated [[eggdrop/install|eggdrops]]%0a%3c # Offer [[openbsd/bchs|BCHS]] web hosting%0a%3c # Offer [[https://undeadly.org|undeadly's]] [[https://undeadly.org/src/|source code]] for blogs%0a%3c # Alternatively, offer [[https://centroid.eu/blog|centroid's]] [[https://gotweb.centroid.eu/cgi-bin/gotweb/gotweb?path=centroidblog.got&action=tree|source code]] for blogs%0a%3c # Provide file hosting with http, ftp, ssh, sftp, rsync access%0a%3c # Setup a [[openbsd/sftp|chrooted sftp]]%0a%3c # For shell servers, provide [[openbsd/openrsync|openrsync]], rsync, and [[openbsd/scp|scp]]%0a%3c # Provide IPSec VPNs with [[iked/configure|IKED]]%0a%3c # Provide mail hosting%0a%3c # Offer code hosting with [[got/usage|got]] and [[cvs/intro|cvs]]%0a%3c # Provide telephony using SIP using [[asterisk/install]]%0a%3c # Provide free sip accounts and register a DID%0a%3c # Provide free TURN/STUN servers%0a%3c %0a%3c !!! Training%0a%3c %0a%3c # Create security team%0a%3c # Set up server [[openbsd/pf|firewalls]]%0a%3c # Harden [[Openbsd/FilePermissions|file permissions]]%0a%3c # Set up DNS blacklists%0a%3c # Implement quotas%0a%3c %0a%3c !!! Code%0a%3c %0a%3c # Patch ngircd:%0a%3c # Add support for ilines%0a%3c # Toggle +r user mode based as determined by open proxy monitors%0a%3c # Fix buffer exhausted errors%0a%3c # Add ELIST functionality for IRCCloud since this client cannot use /list%0a%3c # Add defcon mode%0a%3c # Add /ns and /cs aliases%0a%3c # Write [[openbsd/botnow|botnow]], a script for registering IRCNow services%0a%3c # Add support for instant registration of shell accounts%0a%3c # Add support for automatic eggdrop compilation and configuration%0a%3c # Create disaster recovery plan%0a%3c # Automated backups / restore testing%0a%3c # Switch services from anope to fork of achurch%0a%3c # Switch open proxy monitor from hopm to fork of acopm%0a%3c # Encourage use of psybnc instead of znc%0a%3c # Add playback feature to psybnc%0a%3c # Allow searching of old IRC history%0a%3c # Fix IPv6 connection issues with psybnc%0a%3c # Add NickServ modules that 'just works' across all major IRC networks%0a%3c # Add new features to achurch:%0a%3c # MemeServ%0a%3c # HoneyServ%0a%3c # PasteServ%0a%3c # TrapServ%0a%3c # FileServ%0a%3c # KeyServ%0a%3c # Write web IRC app%0a%3c # Create [[sonsofliberty/intro|sons of liberty]] guide%0a%3c # Create [[cloud9p/roadmap|cloud9p]] network%0a%3c %0a%3c # [[ircnow/todo|IRCNow Todo List]]%0a%3c %0a%3c !!! Options for revenue%0a%3c %0a%3c Each team will decide how it plans to pay for its expenses. Here are some possible approaches:%0a%3c %0a%3c # User donations%0a%3c # Sponsorships%0a%3c # User subscriptions/memberships%0a%3c # Extra storage or bandwidth%0a%3c # VPS hosting%0a%3c # Transaction fees on 3rd party transactions:%0a%3c # Provide an IRC marketplace and cryptocoin payment platform%0a%3c # Provide an IRC platform for developers of IRC bots and games%0a%3c # If 3rd parties sell software, services, ads, or physical goods, these transactions can be taxed%0a
+host:1640842419=38.87.162.8
blob - /dev/null
blob + b7f50b919a1663cca9732e189c0bb604a7dc5eb1 (mode 644)
--- /dev/null
+++ wiki.d/Ircnow.Status
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1640637337
+host=38.87.162.8
+name=Ircnow.Status
+rev=2
+targets=Openbsd.Bitlbee,Shell.Shell,Www.Www,Openbsd.Sftp,Openbsd.Pmwiki,Openbsd.Php,Openbsd.Bchs,Openbsd.Gotweb,Openbsd.Eggdrop,Openbsd.Openrsync,Openbsd.Scp,Openbsd.Iked,Rspamd.Install,Openbsd.Pf,Openbsd.FilePermissions,Openbsd.Botnow,Openbsd.Opensnmpd,Openbsd.Identd,Openbsd.Asterisk,Ircnow.Todo
+text=(:redirect ircnow/status2022:)%0a(:title IRCNow: Status of the Union:)%0a%0a# Install and configure [[openbsd/bitlbee|bitlbee]]%0a# Provide [[shell/shell|shell accounts]]%0a# Provide [[www/www|web hosting]]%0a # Offer [[openbsd/sftp|chrooted sftp]] access%0a # Offer [[openbsd/pmwiki|pmwiki]] for each user%0a # Offer [[openbsd/php|PHP]] web hosting%0a # Offer [[openbsd/bchs|BCHS]] web hosting%0a # Offer [[https://undeadly.org|undeadly's]] [[https://undeadly.org/src/|source code]] for blogs%0a # Alternatively, offer [[https://centroid.eu/blog|centroid's]] [[https://gotweb.centroid.eu/cgi-bin/gotweb/gotweb?path=centroidblog.got&action=tree|source code]] for blogs%0a # Offer [[openbsd/gotweb|gotweb]] for version control%0a# Provide [[openbsd/eggdrop|eggdrops]]%0a# Provide file hosting%0a # Setup a [[openbsd/sftp|chrooted sftp]]%0a # For shell servers, provide [[openbsd/openrsync|openrsync]], rsync, and [[openbsd/scp|scp]]%0a# Provide IPSec VPNs with [[openbsd/iked|IKED]]%0a# Provide mail hosting%0a # Find a spam solution, possibly using [[rspamd/install|rspamd]]%0a# Improve security:%0a # Set up server [[openbsd/pf|firewalls]]%0a # Harden [[Openbsd/FilePermissions|file permissions]]%0a # Set up DNS blacklists%0a # Implement quotas%0a%0a!! Jan 2022 to December 2022%0a%0a# Patch ngircd:%0a # Add support for ilines%0a # Toggle +r user mode based as determined by open proxy monitors%0a # Fix buffer exhausted errors%0a # Add ELIST functionality for IRCCloud since this client cannot use /list%0a # Add defcon mode%0a # Add /ns and /cs aliases%0a# Improve [[openbsd/botnow|botnow]], a script for registering IRCNow services%0a # Add support for instant registration of shell accounts%0a # Add support for automatic eggdrop compilation and configuration%0a# Add interactive UNIX tutorials for shell account users%0a# Add interactive VPS tutorials for teammates%0a# Update website theme%0a# Create disaster recovery plan%0a # Automated backups / restore testing%0a# Setup [[openbsd/opensnmpd|opensnmpd]] for alert monitoring%0a# Patch [[openbsd/identd|identd]] to allow spoofing%0a# CGI script to view znc logs%0a%0a!! Future%0a# Improve security:%0a # Automate check for abusive processes/malware on shell accounts%0a# Write interactive C programming tutorials%0a# Switch services from anope to fork of achurch%0a# Switch open proxy monitor from hopm to fork of acopm%0a# Encourage use of psybnc instead of znc%0a # Add playback feature to psybnc%0a # Allow searching of old IRC history%0a # Fix IPv6 connection issues with psybnc%0a # Add NickServ modules that 'just works' across all major IRC networks%0a# Add new features to achurch:%0a # MemeServ%0a # HoneyServ%0a # PasteServ%0a # TrapServ%0a # FileServ%0a # KeyServ%0a# Provide telephony using SIP%0a # Setup [[openbsd/asterisk]]%0a # Provide free sip accounts%0a # Register DIDs%0a # Provide free TURN/STUN servers%0a# Write web IRC app%0a%0a!! Marketing%0a# Get our IRC network listed%0a # https://search.mibbit.com/, mIRC, androIRC%0a # https://netsplit.de/%0a # Get listed on undeadly.org%0a%0a# [[ircnow/todo|IRCNow Todo List]]%0a%0a!! Plans for Profit%0a%0a# Build a free and open Internet platform for 3rd party businesses to easily buy/sell to users; charge transaction fees on each sale%0a # Provide an IRC marketplace and cryptocoin payment platform%0a # Provide an IRC platform for developers of IRC bots and games%0a # Provide an IRC analytics platform for advertisers (require user consent)%0a # These 3rd parties could sell proprietary software and services, ads, and physical goods%0a# Directly sell our users annual subscriptions for%0a # Extra file storage for web, file, and email hosting%0a # VPS hosting%0a # IRCd hosting%0a# Collect donations%0a%0a
+time=1641190009
+title=IRCNow: Status of the Union
+author:1641190009=jrmu
+diff:1641190009:1640637337:=1d0%0a%3c (:redirect ircnow/status2022:)%0a
+host:1641190009=38.87.162.8
+author:1640637337=jrmu
+diff:1640637337:1640637337:=1,92d0%0a%3c (:title IRCNow: Status of the Union:)%0a%3c %0a%3c # Install and configure [[openbsd/bitlbee|bitlbee]]%0a%3c # Provide [[shell/shell|shell accounts]]%0a%3c # Provide [[www/www|web hosting]]%0a%3c # Offer [[openbsd/sftp|chrooted sftp]] access%0a%3c # Offer [[openbsd/pmwiki|pmwiki]] for each user%0a%3c # Offer [[openbsd/php|PHP]] web hosting%0a%3c # Offer [[openbsd/bchs|BCHS]] web hosting%0a%3c # Offer [[https://undeadly.org|undeadly's]] [[https://undeadly.org/src/|source code]] for blogs%0a%3c # Alternatively, offer [[https://centroid.eu/blog|centroid's]] [[https://gotweb.centroid.eu/cgi-bin/gotweb/gotweb?path=centroidblog.got&action=tree|source code]] for blogs%0a%3c # Offer [[openbsd/gotweb|gotweb]] for version control%0a%3c # Provide [[openbsd/eggdrop|eggdrops]]%0a%3c # Provide file hosting%0a%3c # Setup a [[openbsd/sftp|chrooted sftp]]%0a%3c # For shell servers, provide [[openbsd/openrsync|openrsync]], rsync, and [[openbsd/scp|scp]]%0a%3c # Provide IPSec VPNs with [[openbsd/iked|IKED]]%0a%3c # Provide mail hosting%0a%3c # Find a spam solution, possibly using [[rspamd/install|rspamd]]%0a%3c # Improve security:%0a%3c # Set up server [[openbsd/pf|firewalls]]%0a%3c # Harden [[Openbsd/FilePermissions|file permissions]]%0a%3c # Set up DNS blacklists%0a%3c # Implement quotas%0a%3c %0a%3c !! Jan 2022 to December 2022%0a%3c %0a%3c # Patch ngircd:%0a%3c # Add support for ilines%0a%3c # Toggle +r user mode based as determined by open proxy monitors%0a%3c # Fix buffer exhausted errors%0a%3c # Add ELIST functionality for IRCCloud since this client cannot use /list%0a%3c # Add defcon mode%0a%3c # Add /ns and /cs aliases%0a%3c # Improve [[openbsd/botnow|botnow]], a script for registering IRCNow services%0a%3c # Add support for instant registration of shell accounts%0a%3c # Add support for automatic eggdrop compilation and configuration%0a%3c # Add interactive UNIX tutorials for shell account users%0a%3c # Add interactive VPS tutorials for teammates%0a%3c # Update website theme%0a%3c # Create disaster recovery plan%0a%3c # Automated backups / restore testing%0a%3c # Setup [[openbsd/opensnmpd|opensnmpd]] for alert monitoring%0a%3c # Patch [[openbsd/identd|identd]] to allow spoofing%0a%3c # CGI script to view znc logs%0a%3c %0a%3c !! Future%0a%3c # Improve security:%0a%3c # Automate check for abusive processes/malware on shell accounts%0a%3c # Write interactive C programming tutorials%0a%3c # Switch services from anope to fork of achurch%0a%3c # Switch open proxy monitor from hopm to fork of acopm%0a%3c # Encourage use of psybnc instead of znc%0a%3c # Add playback feature to psybnc%0a%3c # Allow searching of old IRC history%0a%3c # Fix IPv6 connection issues with psybnc%0a%3c # Add NickServ modules that 'just works' across all major IRC networks%0a%3c # Add new features to achurch:%0a%3c # MemeServ%0a%3c # HoneyServ%0a%3c # PasteServ%0a%3c # TrapServ%0a%3c # FileServ%0a%3c # KeyServ%0a%3c # Provide telephony using SIP%0a%3c # Setup [[openbsd/asterisk]]%0a%3c # Provide free sip accounts%0a%3c # Register DIDs%0a%3c # Provide free TURN/STUN servers%0a%3c # Write web IRC app%0a%3c %0a%3c !! Marketing%0a%3c # Get our IRC network listed%0a%3c # https://search.mibbit.com/, mIRC, androIRC%0a%3c # https://netsplit.de/%0a%3c # Get listed on undeadly.org%0a%3c %0a%3c # [[ircnow/todo|IRCNow Todo List]]%0a%3c %0a%3c !! Plans for Profit%0a%3c %0a%3c # Build a free and open Internet platform for 3rd party businesses to easily buy/sell to users; charge transaction fees on each sale%0a%3c # Provide an IRC marketplace and cryptocoin payment platform%0a%3c # Provide an IRC platform for developers of IRC bots and games%0a%3c # Provide an IRC analytics platform for advertisers (require user consent)%0a%3c # These 3rd parties could sell proprietary software and services, ads, and physical goods%0a%3c # Directly sell our users annual subscriptions for%0a%3c # Extra file storage for web, file, and email hosting%0a%3c # VPS hosting%0a%3c # IRCd hosting%0a%3c # Collect donations%0a%3c %0a
+host:1640637337=38.87.162.8
blob - /dev/null
blob + 219bf6252f0114cffe2fcb020f09dfb86c026211 (mode 644)
--- /dev/null
+++ wiki.d/Ircnow.Status2022
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1640763025
+host=38.87.162.8
+name=Ircnow.Status2022
+rev=9
+targets=Ircnow.Roadmap2022
+text=(:title IRCNow Status of the Union:)%0a%0aAll across the Internet, our rights online are being revoked. At the same time, the free and open source community is collapsing.%0a%0aNow, more than ever, our network needs to continue the fight for our freedom. We must now lead the way in open innovation.%0a%0aLet's dare to dream great so we can accomplish great things. Let's dare to build the open ecosystem of the future.%0a%0aWill it be hard? Yes: all great things are hard. But an easy life is not worth living.%0a%0aIf we run away from hard work, a bolder and stronger network will do it, and take away from us our talented and bright minds.%0a%0aIf we choose only safe projects due to a fear of failure, our users will miss out on the job opportunities needed to survive.%0a%0aBut if we innovate, our network can become the cultural center of the free Internet.%0a%0aYou might ask, can a team of volunteers, a group of amateurs and hobbyists, produce software that can save the Internet?%0a%0aYes. In our lifetime, the free user community built an entire operating system by collaborating over the Internet. Their code surpassed what you could buy from the non-free world. Corporations may have money, but they can't pay enough to compete with a group of inspired users who work on what they love.%0a%0aWe did it before and we can do it again. And if we lead the way, we can make sure that we can make it stand for user freedom.%0a%0a!! The Challenges Ahead%0a%0aThere are today many hard problems which are solved on non-free platforms, but which few free and open services exist:%0a%0a# Universal Bridge: The free user community uses a dozen competing protocols: IRC, XMPP, Matrix, Email, NNTP, ActivityPub, etc. We need to provide bridges to connect protocols together where it makes sense. This can be done using plan 9.%0a# Replacement for Modern Web: We need a replacement that users have control over. Current mainstream browsers are non-free. The protocol 9p may provide the answer.%0a# Distributed/grid network: We cannot rely on Silicon Valley's cloud hosting. The free user community needs its own content distribution network, cloud hosting, and DDoS protection.%0a# Voice User Interface: We need a method to send text using our voice and have it interoperate with open protocols so users can write voice applications on an open platform.%0a# Computer Vision: We need an open platform that can accurately identify objects and text so users can quickly build computer vision applications, such translating signs and documents in real time.%0a# Natural Language Processing: Most users are still relying on non-free translation tools. A free and open replacement is needed. This will also be necessary for virtual assistant technology.%0a# Search: Better search tools to allow us organize information for protocols besides http.%0a# Virtual reality: Libre computer aided design (CAD) or libre virtual world software would make a huge impact.%0a# Free Market: Users need a global marketplace they have control over, especially one which offers alternative payment and shipment methods.%0a# Sharing services: User-controlled rideshare, courier, and hospitality services for the free world%0a%0aWe are encouraging teammates to explore these fields.%0a%0aHere is the [[ircnow/roadmap2022|IRCNow roadmap for 2022]].%0a
+time=1640842533
+title=IRCNow Status of the Union
+author:1640842533=jrmu
+diff:1640842533:1640839789:=39,40d38%0a%3c %0a%3c Here is the [[ircnow/roadmap2022|IRCNow roadmap for 2022]].%0a
+host:1640842533=38.87.162.8
+author:1640839789=jrmu
+diff:1640839789:1640839378:=32a33%0a> # Navigation: A free and open navigation system to help replace non-free services.%0a34,38c35,39%0a%3c # Virtual reality: Libre computer aided design (CAD) or libre virtual world software would make a huge impact.%0a%3c # Free Market: Users need a global marketplace they have control over, especially one which offers alternative payment and shipment methods.%0a%3c # Sharing services: User-controlled rideshare, courier, and hospitality services for the free world%0a%3c %0a%3c We are encouraging teammates to explore these fields.%0a---%0a> # Virtual reality: libre Computer Aided Design (CAD) or libre virtual world software would make a huge impact.%0a> # Free Market: Users need a marketplace they can control, especially one which offers alternative payment methods%0a> # Sharing services: User-controlled rideshare and courier service%0a> %0a> We are looking to encourage teammates to explore these fields. Perhaps in the future, we hope to sponsor the development of these critical projects.%0a
+host:1640839789=38.87.162.8
+author:1640839378=jrmu
+diff:1640839378:1640790855:=13,14c13,14%0a%3c If we choose only safe projects due to a fear of failure, our users will miss out on the job opportunities needed to survive.%0a%3c %0a---%0a> If we choose only safe projects due to a fear of failure, our users will miss out on job opportunities needed to survive.%0a> %0a28d27%0a%3c # Replacement for Modern Web: We need a replacement that users have control over. Current mainstream browsers are non-free. The protocol 9p may provide the answer.%0a
+host:1640839378=38.87.162.8
+author:1640790855=jrmu
+diff:1640790855:1640778151:=25,38c25,40%0a%3c There are today many hard problems which are solved on non-free platforms, but which few free and open services exist:%0a%3c %0a%3c # Universal Bridge: The free user community uses a dozen competing protocols: IRC, XMPP, Matrix, Email, NNTP, ActivityPub, etc. We need to provide bridges to connect protocols together where it makes sense. This can be done using plan 9.%0a%3c # Distributed/grid network: We cannot rely on Silicon Valley's cloud hosting. The free user community needs its own content distribution network, cloud hosting, and DDoS protection.%0a%3c # Voice User Interface: We need a method to send text using our voice and have it interoperate with open protocols so users can write voice applications on an open platform.%0a%3c # Computer Vision: We need an open platform that can accurately identify objects and text so users can quickly build computer vision applications, such translating signs and documents in real time.%0a%3c # Natural Language Processing: Most users are still relying on non-free translation tools. A free and open replacement is needed. This will also be necessary for virtual assistant technology.%0a%3c # Navigation: A free and open navigation system to help replace non-free services.%0a%3c # Search: Better search tools to allow us organize information for protocols besides http.%0a%3c # Virtual reality: libre Computer Aided Design (CAD) or libre virtual world software would make a huge impact.%0a%3c # Free Market: Users need a marketplace they can control, especially one which offers alternative payment methods%0a%3c # Sharing services: User-controlled rideshare and courier service%0a%3c %0a%3c We are looking to encourage teammates to explore these fields. Perhaps in the future, we hope to sponsor the development of these critical projects.%0a---%0a> There are today many hard problems which are mostly solved on non-free platforms, but which few free and open services exist.%0a> %0a> # Universal Bridge: The free user community has fled from Silicon Valley but users have not agreed on any single protocol. Instead, there are a dozen of competing protocols (IRC, XMPP, Matrix, Email, NNTP, ActivityPub, SIP, Mumble, ...). We will need to provide bridges to connect protocols together where it makes sense.%0a> # Simple distributed/grid network: We cannot rely on Silicon Valley's cloud hosting. The free user community will needs its own content distribution network, cloud hosting, and DDoS protection.%0a> # Voice Recognition and Speech Synthesis: The number of users using personal digital assistants may someday rival that of touchscreen, mouse, and keyboard. We should provide a method to text chat and send commands using our voice, and strive to have it use open protocols.%0a> # Machine Vision: Provide an easy way to scan written and typed documents%0a> # Natural Language Processing: Most users are still relying on non-free translation tools. A free and open replacement that is accurate and supports many languages is needed.%0a> # Navigation: A free and open replacement for GPS navigation would allow us to replace non-free services and software.%0a> # Search%0a> # Virtual reality%0a> # Free Market%0a> # Sharing services%0a> %0a> Problems 1) and 2) can be solved with plan 9 and the 9p protocol.%0a> %0a> For other problems, we will look to encourage teammates to explore these fields. Perhaps in the future, we can sponsor the development of these critical projects.%0a
+host:1640790855=38.87.162.8
+author:1640778151=jrmu
+diff:1640778151:1640777210:=5,16c5,12%0a%3c Now, more than ever, our network needs to continue the fight for our freedom. We must now lead the way in open innovation.%0a%3c %0a%3c Let's dare to dream great so we can accomplish great things. Let's dare to build the open ecosystem of the future.%0a%3c %0a%3c Will it be hard? Yes: all great things are hard. But an easy life is not worth living.%0a%3c %0a%3c If we run away from hard work, a bolder and stronger network will do it, and take away from us our talented and bright minds.%0a%3c %0a%3c If we choose only safe projects due to a fear of failure, our users will miss out on job opportunities needed to survive.%0a%3c %0a%3c But if we innovate, our network can become the cultural center of the free Internet.%0a%3c %0a---%0a> To fight for our freedom, our network must now lead the way in open innovation.%0a> %0a> We must dare to dream great so we can accomplish great things. Let us dare to build the open ecosystem of the future.%0a> %0a> Will it be hard? Yes: all great things are hard. An easy life is not worth living. It is painful to fail, but it is worse to never even try.%0a> %0a> If we run away from hard work, a bolder and stronger network will do it, and take away from us our talented and bright minds. But if we try, our network can become the cultural center of the free Internet.%0a> %0a19,20c15,16%0a%3c Yes. In our lifetime, the free user community built an entire operating system by collaborating over the Internet. Their code surpassed what you could buy from the non-free world. Corporations may have money, but they can't pay enough to compete with a group of inspired users who work on what they love.%0a%3c %0a---%0a> Yes. In our lifetime, the free user community built entire operating systems by collaborating over the Internet. Their code surpassed what you could buy from the non-free world. Corporations may have money, but they can't pay enough to compete with a group of inspired users who work on what they love.%0a> %0a23c19%0a%3c !! The Challenges Ahead%0a---%0a> The Great Challenges%0a
+host:1640778151=38.87.162.8
+author:1640777210=jrmu
+diff:1640777210:1640763126:=2a3,4%0a> We live in the middle of a new crisis.%0a> %0a9c11%0a%3c Will it be hard? Yes: all great things are hard. An easy life is not worth living. It is painful to fail, but it is worse to never even try.%0a---%0a> Will it be hard? Yes: all great things are hard. An easy life is not worth living. We cannot avoid hard problems. It is painful to fail, but it is worse to never even try.%0a
+host:1640777210=38.87.162.8
+author:1640763126=jrmu
+diff:1640763126:1640763056:=28c28%0a%3c # Machine Vision: Provide an easy way to scan written and typed documents%0a---%0a> # Machine Vision: Provide want to be able to write and scan documents seamlessly and have it magically translated like google does, just by pointing my phone in the direction%0a
+host:1640763126=38.87.162.8
+author:1640763056=jrmu
+diff:1640763056:1640763025:=35a36,37%0a> 6 and 7) I plan to address with 9p, the others I have very little time to work on%0a> but i want to see if we can get our network to aspire to reach these goals%0a38c40%0a%3c For other problems, we will look to encourage teammates to explore these fields. Perhaps in the future, we can sponsor the development of these critical projects.%0a---%0a> We will look to encourage teammates to explore these fields. Perhaps in the future, we can sponsor the development of these critical projects.%0a
+host:1640763056=38.87.162.8
+author:1640763025=jrmu
+diff:1640763025:1640763025:=1,40d0%0a%3c (:title IRCNow Status of the Union:)%0a%3c %0a%3c We live in the middle of a new crisis.%0a%3c %0a%3c All across the Internet, our rights online are being revoked. At the same time, the free and open source community is collapsing.%0a%3c %0a%3c To fight for our freedom, our network must now lead the way in open innovation.%0a%3c %0a%3c We must dare to dream great so we can accomplish great things. Let us dare to build the open ecosystem of the future.%0a%3c %0a%3c Will it be hard? Yes: all great things are hard. An easy life is not worth living. We cannot avoid hard problems. It is painful to fail, but it is worse to never even try.%0a%3c %0a%3c If we run away from hard work, a bolder and stronger network will do it, and take away from us our talented and bright minds. But if we try, our network can become the cultural center of the free Internet.%0a%3c %0a%3c You might ask, can a team of volunteers, a group of amateurs and hobbyists, produce software that can save the Internet?%0a%3c %0a%3c Yes. In our lifetime, the free user community built entire operating systems by collaborating over the Internet. Their code surpassed what you could buy from the non-free world. Corporations may have money, but they can't pay enough to compete with a group of inspired users who work on what they love.%0a%3c %0a%3c We did it before and we can do it again. And if we lead the way, we can make sure that we can make it stand for user freedom.%0a%3c %0a%3c The Great Challenges%0a%3c %0a%3c There are today many hard problems which are mostly solved on non-free platforms, but which few free and open services exist.%0a%3c %0a%3c # Universal Bridge: The free user community has fled from Silicon Valley but users have not agreed on any single protocol. Instead, there are a dozen of competing protocols (IRC, XMPP, Matrix, Email, NNTP, ActivityPub, SIP, Mumble, ...). We will need to provide bridges to connect protocols together where it makes sense.%0a%3c # Simple distributed/grid network: We cannot rely on Silicon Valley's cloud hosting. The free user community will needs its own content distribution network, cloud hosting, and DDoS protection.%0a%3c # Voice Recognition and Speech Synthesis: The number of users using personal digital assistants may someday rival that of touchscreen, mouse, and keyboard. We should provide a method to text chat and send commands using our voice, and strive to have it use open protocols.%0a%3c # Machine Vision: Provide want to be able to write and scan documents seamlessly and have it magically translated like google does, just by pointing my phone in the direction%0a%3c # Natural Language Processing: Most users are still relying on non-free translation tools. A free and open replacement that is accurate and supports many languages is needed.%0a%3c # Navigation: A free and open replacement for GPS navigation would allow us to replace non-free services and software.%0a%3c # Search%0a%3c # Virtual reality%0a%3c # Free Market%0a%3c # Sharing services%0a%3c %0a%3c 6 and 7) I plan to address with 9p, the others I have very little time to work on%0a%3c but i want to see if we can get our network to aspire to reach these goals%0a%3c Problems 1) and 2) can be solved with plan 9 and the 9p protocol.%0a%3c %0a%3c We will look to encourage teammates to explore these fields. Perhaps in the future, we can sponsor the development of these critical projects.%0a
+host:1640763025=38.87.162.8
blob - /dev/null
blob + f76525ba0b9b8d991e4a68b8000a22208342f18b (mode 644)
--- /dev/null
+++ wiki.d/Ksh.Autocomplete
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36
+author=miniontoby
+charset=UTF-8
+csum=updated url
+ctime=1640102470
+host=45.136.74.157
+name=Ksh.Autocomplete
+rev=7
+targets=
+text=At ksh there is a way to add auto completion%0a%0a%0aUse my new installer which installs the newest version of the .ksh_completions file into all of your users:%0a%0a[@%0a$ wget -O ksh-completion-installer.sh "https://gotweb.ircforever.org/cgi-bin/gotweb/gotweb?path=ksh-completion.git&action=blob&commit=1d3af82c873d57cf5e06319537281bef28ba1522&file=install.sh"%0a$ ksh ksh-completion-installer.sh%0a@]%0a%0a
+time=1641908654
+author:1641908654=miniontoby
+csum:1641908654=updated url
+diff:1641908654:1641907953:=7c7%0a%3c $ wget -O ksh-completion-installer.sh "https://gotweb.ircforever.org/cgi-bin/gotweb/gotweb?path=ksh-completion.git&action=blob&commit=1d3af82c873d57cf5e06319537281bef28ba1522&file=install.sh"%0a---%0a> $ wget -O ksh-completion-installer.sh "https://gotweb.ircforever.org/cgi-bin/gotweb/gotweb?path=ksh-completion.git&action=blob&commit=93fd0cff81566691d969181c10cf9a8adb184f03&file=install.sh"%0a
+host:1641908654=45.136.74.157
+author:1641907953=miniontoby
+diff:1641907953:1641907943:=6,9c6,7%0a%3c [@%0a%3c $ wget -O ksh-completion-installer.sh "https://gotweb.ircforever.org/cgi-bin/gotweb/gotweb?path=ksh-completion.git&action=blob&commit=93fd0cff81566691d969181c10cf9a8adb184f03&file=install.sh"%0a%3c $ ksh ksh-completion-installer.sh%0a%3c @]%0a---%0a> [@ $ wget -O ksh-completion-installer.sh "https://gotweb.ircforever.org/cgi-bin/gotweb/gotweb?path=ksh-completion.git&action=blob&commit=93fd0cff81566691d969181c10cf9a8adb184f03&file=install.sh"%0a> $ ksh ksh-completion-installer.sh @]%0a
+host:1641907953=45.136.74.157
+author:1641907943=miniontoby
+csum:1641907943=Updated with installer
+diff:1641907943:1641903383:=4,8c4,223%0a%3c Use my new installer which installs the newest version of the .ksh_completions file into all of your users:%0a%3c %0a%3c [@ $ wget -O ksh-completion-installer.sh "https://gotweb.ircforever.org/cgi-bin/gotweb/gotweb?path=ksh-completion.git&action=blob&commit=93fd0cff81566691d969181c10cf9a8adb184f03&file=install.sh"%0a%3c $ ksh ksh-completion-installer.sh @]%0a%3c %0a---%0a> Firstly add this to your ~/.profile (or ~/.kshrc):%0a> %0a> [@%0a> if [ -e ~/.ksh_completions ]; then%0a> . ~/.ksh_completions%0a> fi%0a> @]%0a> %0a> %0a> Then add this to your [@~/.ksh_completions@] to enable the auto completion:%0a> %0a> [@%0a> function reload_completions {%0a> if [ -e ~/.ksh_completions ]; then . ~/.ksh_completions; fi%0a> }%0a> %0a> set -A complete_got_1 -- $(got -h 2>&1 | sed -n s/commands://p)%0a> set -A complete_git_1 -- $(git help -a | sed -e 's/ //;s/ .*//;s/.*\/.*//;s/.* .*//')%0a> set -A complete_kill_1 -- -9 -HUP -INFO -KILL -TERM%0a> set -A complete_kill_2 -- $(ps ax | sed -e "s/^ *//" -e "s/ .*//")%0a> %0a> pgrep -q vmd%0a> if [ $? = 0 ]; then%0a> set -A complete_vmctl -- console load reload start stop reset status send receive%0a> set -A complete_vmctl_2 -- $(vmctl status | awk '!/NAME/{print $NF}')%0a> fi%0a> %0a> pgrep -q mpd%0a> if [ $? = 0 ]; then%0a> set -A complete_mpc_1 -- lsplaylists ls play pause toggle prev random shuffle stop update%0a> set -A complete_mpc_2 -- $(mpc lsplaylists | sort)%0a> fi%0a> %0a> read_known_hosts() {%0a> local _file=$1 _line _host%0a> while read _line ; do%0a> _line=${_line%25%25#*} # delete comments%0a> _line=${_line%25%25@*} # ignore markers%0a> _line=${_line%25%25 *} # keep only host field%0a> %0a> [[ -z $_line ]] && continue%0a> %0a> local IFS=,%0a> for _host in $_line; do%0a> _host=${_host#\[}%0a> _host=${_host%25%25\]*}%0a> for i in ${HOST_LIST[*]}; do%0a> [[ $_host == $i ]] && continue 2%0a> done%0a> set -s -A HOST_LIST ${HOST_LIST[*]} $_host%0a> done%0a> done %3c$_file%0a> }%0a> %0a> [[ -s /etc/ssh/ssh_known_hosts ]] && read_known_hosts /etc/ssh/ssh_known_hosts%0a> [[ -s ~/.ssh/known_hosts ]] && read_known_hosts ~/.ssh/known_hosts%0a> %0a> set -A complete_ssh -- ${HOST_LIST[*]}%0a> set -A complete_scp -- ${HOST_LIST[*]}%0a> set -A complete_mosh -- ${HOST_LIST[*]}%0a> %0a> if [ -d /var/db/pkg ]; then%0a> PKG_LIST=$(ls -1 /var/db/pkg)%0a> set -A complete_pkg_delete -- $PKG_LIST%0a> set -A complete_pkg_info -- $PKG_LIST%0a> set -A complete_pkg_check -- $PKG_LIST%0a> set -A complete_pkg_add -- $PKG_LIST%0a> fi%0a> %0a> if [ ! -f /tmp/man_list ]; then%0a> MANPATH=/usr/share/man man -k Nm~. | cut -d\( -f1 | tr -d , | sort | uniq > /tmp/man_list%0a> fi%0a> set -A complete_man_1 -- $(cat /tmp/man_list)%0a> %0a> pgrep -fq '/usr/sbin/vmd'%0a> if [ $? = 0 ]; then%0a> set -A complete_vmctl -- console load reload start stop reset status send receive%0a> set -A complete_vmctl_2 -- $(vmctl status | awk '!/NAME/{print $NF}')%0a> fi%0a> %0a> if [ -e /usr/local/bin/rclone ]; then%0a> if [ -f ~/.config/rclone/rclone.conf ]; then%0a> RCLONE_LIST=$(rclone listremotes)%0a> set -A complete_rclone_1 -- \%0a> about authorize \%0a> cachestats cat check cleanup config copy copyto \%0a> copyurl cryptcheck \ cryptdecode \%0a> dbhashsum dedupe delete deletefile \%0a> genautocomplete gendocs \%0a> hashsum help \%0a> link listremotes ls lsd lsf lsjson lsl \%0a> md5sum mkdir move moveto \%0a> ncdu \%0a> obscure \%0a> purge \%0a> rc rcat rcd rmdir rmdirs \%0a> serve settier sha1sum size sync \%0a> touch tree \%0a> version%0a> set -A complete_rclone -- $RCLONE_LIST%0a> fi%0a> fi%0a> %0a> if [ -x /usr/rbin/rcctl ]; then%0a> set -A complete_rcctl_1 -- disable enable get ls order set restart start stop%0a> set -A complete_rcctl_2 -- $(rcctl ls all)%0a> fi%0a> %0a> set -A complete_make_1 -- \%0a> clean \%0a> install \%0a> port-lib-depends-check \%0a> reinstall \%0a> repackage%0a> %0a> set -A complete_rcctl_1 -- disable enable get ls order set restart start stop%0a> set -A complete_rcctl_2 -- $(rcctl ls all)%0a> %0a> set -A complete_signify_1 -- -C -G -S -V%0a> set -A complete_signify_2 -- -q -p -x -c -m -t -z%0a> set -A complete_signify_3 -- -p -x -c -m -t -z%0a> %0a> set -A complete_make_1 -- install clean repackage reinstall%0a> %0a> set -A complete_beet_1 -- as clearart config duplicates embedart extractart fetchart fields fingerprint help import lastgenre list lyrics \%0a> mbsync missing modify move mpdstats remove scrub splupdate stats submit update version web write%0a> %0a> set -A complete_emacs -- --daemon --debug-init%0a> set -A complete_emacsclient -- -c -t%0a> %0a> set -A complete_gpg2 -- \%0a> --armor \%0a> --clearsign \%0a> --decrypt \%0a> --detach-sig \%0a> --list-key \%0a> --receive-keys \%0a> --refresh \%0a> --sign \%0a> --verify%0a> %0a> %0a> if [ -f /dev/mixer ]; then%0a> set -A complete_mixerctl_1 -- $(mixerctl | cut -d= -f 1)%0a> fi%0a> %0a> if [ -d ~/.dynamic-colors ]; then%0a> set -A complete_dynamic_colors -- \%0a> audit \%0a> create cycle \%0a> edit \%0a> help \%0a> init \%0a> list \%0a> switch%0a> set -A complete_dynamic_colors_2 -- $(dynamic_colors list)%0a> fi%0a> %0a> if [ -e /usr/local/bin/opm ]; then%0a> if [ -d ~/.opm ]; then%0a> set -A complete_opm_1 -- -b -c -d -h -m \%0a> add \%0a> del \%0a> encrypt \%0a> get \%0a> insert \%0a> list ls \%0a> rm \%0a> search show \%0a> verify%0a> set -A complete_opm -- $(/usr/local/bin/opm -b ls)%0a> fi%0a> fi%0a> %0a> if [ -e /usr/local/bin/gopass ]; then%0a> PASS_LIST=$(gopass ls -f)%0a> set -A complete_gopass -- $PASS_LIST \%0a> audit \%0a> bin binary \%0a> clone completion config copy cp create \%0a> delete \%0a> edit \%0a> find fix fsck \%0a> generate git grep \%0a> h help hotp \%0a> init insert \%0a> jsonapi \%0a> list ls \%0a> mounts move mv \%0a> new \%0a> otp \%0a> recipients remove rm \%0a> search set setup show sync \%0a> templates totp \%0a> unclip update \%0a> version%0a> set -A complete_pass -- $PASS_LIST \%0a> audit \%0a> bin binary \%0a> clone completion config copy cp create \%0a> delete \%0a> edit \%0a> find fix fsck \%0a> generate git grep \%0a> h help hotp \%0a> init insert \%0a> jsonapi \%0a> list ls \%0a> mounts move mv \%0a> new \%0a> otp \%0a> recipients remove rm \%0a> search set setup show sync \%0a> templates totp \%0a> unclip update \%0a> version%0a> fi%0a> %0a> set -A complete_hg_1 -- add annotate clone commit diff export forget help init log merge pull push remove serve status summary update%0a> @]%0a\ No newline at end of file%0a
+host:1641907943=45.136.74.157
+author:1641903383=miniontoby
+csum:1641903383=Updated
+diff:1641903383:1641902744:=17c17%0a%3c if [ -e ~/.ksh_completions ]; then . ~/.ksh_completions; fi%0a---%0a> if [ -e ~/.ksh_completions ]; then . ~/.ksh_completions; fi%0a19a20,21%0a> PKG_LIST=$(ls -1 /var/db/pkg)%0a> %0a24c26,38%0a%3c %0a---%0a> set -A complete_rcctl_1 -- -df get getdef set check reload restart stop start disabled enable order ls%0a> set -A complete_rcctl_2 -- $(rcctl ls all)%0a> set -A complete_pkg_delete -- $PKG_LIST%0a> set -A complete_pkg_info -- $PKG_LIST%0a> set -A complete_signify_1 -- -C -G -S -V%0a> set -A complete_signify_2 -- -q -p -x -c -m -t -z%0a> set -A complete_signify_3 -- -p -x -c -m -t -z%0a> set -A complete_make_1 -- install clean repackage reinstall%0a> set -A complete_beet_1 -- clearart config duplicates embedart extractart fetchart fields fingerprint help import lastgenre list lyrics mbsync missing modify move mpdstats remove scrub splupdate as stats submit update version web write%0a> set -A complete_emacs -- --daemon --debug-init%0a> set -A complete_emacsclient -- -c -t%0a> set -A complete_ifconfig_1 -- $(ifconfig | grep ^[a-z] | cut -d: -f1)%0a> %0a27,28c41,42%0a%3c set -A complete_vmctl -- console load reload start stop reset status send receive%0a%3c set -A complete_vmctl_2 -- $(vmctl status | awk '!/NAME/{print $NF}')%0a---%0a> set -A complete_vmctl -- console load reload start stop reset status send receive%0a> set -A complete_vmctl_2 -- $(vmctl status | awk '!/NAME/{print $NF}')%0a33,34c47,48%0a%3c set -A complete_mpc_1 -- lsplaylists ls play pause toggle prev random shuffle stop update%0a%3c set -A complete_mpc_2 -- $(mpc lsplaylists | sort)%0a---%0a> set -A complete_mpc_1 -- lsplaylists ls play pause toggle prev random shuffle stop update%0a> set -A complete_mpc_2 -- $(mpc lsplaylists | sort)%0a36,222d49%0a%3c %0a%3c read_known_hosts() {%0a%3c local _file=$1 _line _host%0a%3c while read _line ; do%0a%3c _line=${_line%25%25#*} # delete comments%0a%3c _line=${_line%25%25@*} # ignore markers%0a%3c _line=${_line%25%25 *} # keep only host field%0a%3c %0a%3c [[ -z $_line ]] && continue%0a%3c %0a%3c local IFS=,%0a%3c for _host in $_line; do%0a%3c _host=${_host#\[}%0a%3c _host=${_host%25%25\]*}%0a%3c for i in ${HOST_LIST[*]}; do%0a%3c [[ $_host == $i ]] && continue 2%0a%3c done%0a%3c set -s -A HOST_LIST ${HOST_LIST[*]} $_host%0a%3c done%0a%3c done %3c$_file%0a%3c }%0a%3c %0a%3c [[ -s /etc/ssh/ssh_known_hosts ]] && read_known_hosts /etc/ssh/ssh_known_hosts%0a%3c [[ -s ~/.ssh/known_hosts ]] && read_known_hosts ~/.ssh/known_hosts%0a%3c %0a%3c set -A complete_ssh -- ${HOST_LIST[*]}%0a%3c set -A complete_scp -- ${HOST_LIST[*]}%0a%3c set -A complete_mosh -- ${HOST_LIST[*]}%0a%3c %0a%3c if [ -d /var/db/pkg ]; then%0a%3c PKG_LIST=$(ls -1 /var/db/pkg)%0a%3c set -A complete_pkg_delete -- $PKG_LIST%0a%3c set -A complete_pkg_info -- $PKG_LIST%0a%3c set -A complete_pkg_check -- $PKG_LIST%0a%3c set -A complete_pkg_add -- $PKG_LIST%0a%3c fi%0a%3c %0a%3c if [ ! -f /tmp/man_list ]; then%0a%3c MANPATH=/usr/share/man man -k Nm~. | cut -d\( -f1 | tr -d , | sort | uniq > /tmp/man_list%0a%3c fi%0a%3c set -A complete_man_1 -- $(cat /tmp/man_list)%0a%3c %0a%3c pgrep -fq '/usr/sbin/vmd'%0a%3c if [ $? = 0 ]; then%0a%3c set -A complete_vmctl -- console load reload start stop reset status send receive%0a%3c set -A complete_vmctl_2 -- $(vmctl status | awk '!/NAME/{print $NF}')%0a%3c fi%0a%3c %0a%3c if [ -e /usr/local/bin/rclone ]; then%0a%3c if [ -f ~/.config/rclone/rclone.conf ]; then%0a%3c RCLONE_LIST=$(rclone listremotes)%0a%3c set -A complete_rclone_1 -- \%0a%3c about authorize \%0a%3c cachestats cat check cleanup config copy copyto \%0a%3c copyurl cryptcheck \ cryptdecode \%0a%3c dbhashsum dedupe delete deletefile \%0a%3c genautocomplete gendocs \%0a%3c hashsum help \%0a%3c link listremotes ls lsd lsf lsjson lsl \%0a%3c md5sum mkdir move moveto \%0a%3c ncdu \%0a%3c obscure \%0a%3c purge \%0a%3c rc rcat rcd rmdir rmdirs \%0a%3c serve settier sha1sum size sync \%0a%3c touch tree \%0a%3c version%0a%3c set -A complete_rclone -- $RCLONE_LIST%0a%3c fi%0a%3c fi%0a%3c %0a%3c if [ -x /usr/rbin/rcctl ]; then%0a%3c set -A complete_rcctl_1 -- disable enable get ls order set restart start stop%0a%3c set -A complete_rcctl_2 -- $(rcctl ls all)%0a%3c fi%0a%3c %0a%3c set -A complete_make_1 -- \%0a%3c clean \%0a%3c install \%0a%3c port-lib-depends-check \%0a%3c reinstall \%0a%3c repackage%0a%3c %0a%3c set -A complete_rcctl_1 -- disable enable get ls order set restart start stop%0a%3c set -A complete_rcctl_2 -- $(rcctl ls all)%0a%3c %0a%3c set -A complete_signify_1 -- -C -G -S -V%0a%3c set -A complete_signify_2 -- -q -p -x -c -m -t -z%0a%3c set -A complete_signify_3 -- -p -x -c -m -t -z%0a%3c %0a%3c set -A complete_make_1 -- install clean repackage reinstall%0a%3c %0a%3c set -A complete_beet_1 -- as clearart config duplicates embedart extractart fetchart fields fingerprint help import lastgenre list lyrics \%0a%3c mbsync missing modify move mpdstats remove scrub splupdate stats submit update version web write%0a%3c %0a%3c set -A complete_emacs -- --daemon --debug-init%0a%3c set -A complete_emacsclient -- -c -t%0a%3c %0a%3c set -A complete_gpg2 -- \%0a%3c --armor \%0a%3c --clearsign \%0a%3c --decrypt \%0a%3c --detach-sig \%0a%3c --list-key \%0a%3c --receive-keys \%0a%3c --refresh \%0a%3c --sign \%0a%3c --verify%0a%3c %0a%3c %0a%3c if [ -f /dev/mixer ]; then%0a%3c set -A complete_mixerctl_1 -- $(mixerctl | cut -d= -f 1)%0a%3c fi%0a%3c %0a%3c if [ -d ~/.dynamic-colors ]; then%0a%3c set -A complete_dynamic_colors -- \%0a%3c audit \%0a%3c create cycle \%0a%3c edit \%0a%3c help \%0a%3c init \%0a%3c list \%0a%3c switch%0a%3c set -A complete_dynamic_colors_2 -- $(dynamic_colors list)%0a%3c fi%0a%3c %0a%3c if [ -e /usr/local/bin/opm ]; then%0a%3c if [ -d ~/.opm ]; then%0a%3c set -A complete_opm_1 -- -b -c -d -h -m \%0a%3c add \%0a%3c del \%0a%3c encrypt \%0a%3c get \%0a%3c insert \%0a%3c list ls \%0a%3c rm \%0a%3c search show \%0a%3c verify%0a%3c set -A complete_opm -- $(/usr/local/bin/opm -b ls)%0a%3c fi%0a%3c fi%0a%3c %0a%3c if [ -e /usr/local/bin/gopass ]; then%0a%3c PASS_LIST=$(gopass ls -f)%0a%3c set -A complete_gopass -- $PASS_LIST \%0a%3c audit \%0a%3c bin binary \%0a%3c clone completion config copy cp create \%0a%3c delete \%0a%3c edit \%0a%3c find fix fsck \%0a%3c generate git grep \%0a%3c h help hotp \%0a%3c init insert \%0a%3c jsonapi \%0a%3c list ls \%0a%3c mounts move mv \%0a%3c new \%0a%3c otp \%0a%3c recipients remove rm \%0a%3c search set setup show sync \%0a%3c templates totp \%0a%3c unclip update \%0a%3c version%0a%3c set -A complete_pass -- $PASS_LIST \%0a%3c audit \%0a%3c bin binary \%0a%3c clone completion config copy cp create \%0a%3c delete \%0a%3c edit \%0a%3c find fix fsck \%0a%3c generate git grep \%0a%3c h help hotp \%0a%3c init insert \%0a%3c jsonapi \%0a%3c list ls \%0a%3c mounts move mv \%0a%3c new \%0a%3c otp \%0a%3c recipients remove rm \%0a%3c search set setup show sync \%0a%3c templates totp \%0a%3c unclip update \%0a%3c version%0a%3c fi%0a%3c %0a%3c set -A complete_hg_1 -- add annotate clone commit diff export forget help init log merge pull push remove serve status summary update%0a
+host:1641903383=45.136.74.157
+author:1641902744=miniontoby
+csum:1641902744=updated
+diff:1641902744:1640102568:=3,5c3,8%0a%3c %0a%3c Firstly add this to your ~/.profile (or ~/.kshrc):%0a%3c %0a---%0a> Here is a list with commands to add to your [@~/.profile@] to enable the auto completion:%0a> %0a> %0a> '+'''Warning: If you do not have the commands installed (like vmctl), then DON'T add them!'''+'%0a> %0a> %0a7,21d9%0a%3c if [ -e ~/.ksh_completions ]; then%0a%3c . ~/.ksh_completions%0a%3c fi%0a%3c @]%0a%3c %0a%3c %0a%3c Then add this to your [@~/.ksh_completions@] to enable the auto completion:%0a%3c %0a%3c [@%0a%3c function reload_completions {%0a%3c if [ -e ~/.ksh_completions ]; then . ~/.ksh_completions; fi%0a%3c }%0a%3c %0a%3c PKG_LIST=$(ls -1 /var/db/pkg)%0a%3c %0a26,49c14,17%0a%3c set -A complete_rcctl_1 -- -df get getdef set check reload restart stop start disabled enable order ls%0a%3c set -A complete_rcctl_2 -- $(rcctl ls all)%0a%3c set -A complete_pkg_delete -- $PKG_LIST%0a%3c set -A complete_pkg_info -- $PKG_LIST%0a%3c set -A complete_signify_1 -- -C -G -S -V%0a%3c set -A complete_signify_2 -- -q -p -x -c -m -t -z%0a%3c set -A complete_signify_3 -- -p -x -c -m -t -z%0a%3c set -A complete_make_1 -- install clean repackage reinstall%0a%3c set -A complete_beet_1 -- clearart config duplicates embedart extractart fetchart fields fingerprint help import lastgenre list lyrics mbsync missing modify move mpdstats remove scrub splupdate as stats submit update version web write%0a%3c set -A complete_emacs -- --daemon --debug-init%0a%3c set -A complete_emacsclient -- -c -t%0a%3c set -A complete_ifconfig_1 -- $(ifconfig | grep ^[a-z] | cut -d: -f1)%0a%3c %0a%3c pgrep -q vmd%0a%3c if [ $? = 0 ]; then%0a%3c set -A complete_vmctl -- console load reload start stop reset status send receive%0a%3c set -A complete_vmctl_2 -- $(vmctl status | awk '!/NAME/{print $NF}')%0a%3c fi%0a%3c %0a%3c pgrep -q mpd%0a%3c if [ $? = 0 ]; then%0a%3c set -A complete_mpc_1 -- lsplaylists ls play pause toggle prev random shuffle stop update%0a%3c set -A complete_mpc_2 -- $(mpc lsplaylists | sort)%0a%3c fi%0a---%0a> set -A complete_rcctl -- -df get getdef set check reload restart stop start disabled enable order ls%0a> set -A complete_rcctl_2 -- $(ls /etc/rc.d)%0a> set -A complete_vmctl_1 -- console load reload start stop reset status%0a> set -A complete_vmctl_2 -- $(vmctl status | awk '!/NAME/{print $NF}')%0a
+host:1641902744=45.136.74.157
+author:1640102568=miniontoby
+csum:1640102568=added rcctl2
+diff:1640102568:1640102470:=15d14%0a%3c set -A complete_rcctl_2 -- $(ls /etc/rc.d)%0a
+host:1640102568=45.136.74.157
+author:1640102470=miniontoby
+csum:1640102470=Created
+diff:1640102470:1640102470:=1,17d0%0a%3c At ksh there is a way to add auto completion%0a%3c %0a%3c Here is a list with commands to add to your [@~/.profile@] to enable the auto completion:%0a%3c %0a%3c %0a%3c '+'''Warning: If you do not have the commands installed (like vmctl), then DON'T add them!'''+'%0a%3c %0a%3c %0a%3c [@%0a%3c set -A complete_got_1 -- $(got -h 2>&1 | sed -n s/commands://p)%0a%3c set -A complete_git_1 -- $(git help -a | sed -e 's/ //;s/ .*//;s/.*\/.*//;s/.* .*//')%0a%3c set -A complete_kill_1 -- -9 -HUP -INFO -KILL -TERM%0a%3c set -A complete_kill_2 -- $(ps ax | sed -e "s/^ *//" -e "s/ .*//")%0a%3c set -A complete_rcctl -- -df get getdef set check reload restart stop start disabled enable order ls%0a%3c set -A complete_vmctl_1 -- console load reload start stop reset status%0a%3c set -A complete_vmctl_2 -- $(vmctl status | awk '!/NAME/{print $NF}')%0a%3c @]%0a\ No newline at end of file%0a
+host:1640102470=45.136.74.157
blob - /dev/null
blob + 2b1589dced23b51c86f0dbb048c048c0333ce65c (mode 644)
--- /dev/null
+++ wiki.d/Lilywhitebot.Install
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0
+author=suzerain
+charset=UTF-8
+csum=
+ctime=1646017640
+host=114.37.148.234
+name=Lilywhitebot.Install
+rev=2
+targets=
+text=!!Why is LilyWhiteBot?%0a - It's open.%0a - Support IRC, Telegram, Discord and Tencent QQ/ WeChat (Needs to be modified according to the WeChat handle)%0a!!Prerequisites%0a - Node.js 14%0a - Git%0a - Vi support UTF-8%0a%0a!!Configuration steps%0a $cd ~%0a $mkdir LilyWhiteBot%0a%0aIt will make a dir called LilyWhiteBot (I'm forking it to make it easily to config.) on your home dir.%0a%0a $cd ~/LilyWhiteBot%0a $git clone https://github.com/fossifer/LilyWhiteBot.git (I'm forking it to make it easily to config.)%0a%0aAfter you had download, change the bot config.%0a %0a $cd LilyWhiteBot%0a $vi config.example.yml%0a%0a!!! Branch - Telegram Bot API%0aSearch @BotFather on your Telegram APP, send /start before you did it. %0a%0aYou will recevie a message about how to use from BotFather. Send /newbot to create a new bot on Telegram.%0a%0a!!! Branch - Discord Bot API%0aVisit [[https://discordapp.com/developers/applications/|Discord Dev]],after, click New Application.(Remember CLIENT ID) %0a%0aClick your New Application, click add bot. Get invite link from OAuth2. %0a%0aIf you readed the guide of API, please keep properly token.%0a%0a $doas vi config.example.yml%0a%0aAnd Change:%0a%0a Telegram:%0a Disable: false%0a%0a IRC:%0a Disable: false%0a%0aIt will able Telegram and IRC. Change the following content is taken from the source file:%0a%0aIRC:%0a bot:%0a server: irc.libera.chat%0a nick: "SuzerainBot" %0a userName: "SuzerainBot"%0a realName: "SuzerainBot"%0a channels: ["#hi", "#ircnow"] %0a sasl: true %0a sasl_password: "Nickname Passwd"%0a%0aIt will set a bot nickname called SuzerainBot running on Libera and will auto join #hi,#ircnow channels use password Nickname Passwd for login.%0a%0aThe configuration methods for Telegram and Discord are also the same, but please be careful '''not''' to configure Telegram Proxy. And '''DO NOT''' change anything of QQ, you can't running true at now.%0a%0aExample:%0a Telegram:%0a disabled: false %0a bot:%0a name: "SuzerainBot" %0a token: "123456789:q234fipjfjaewkflASDFASjaslkdf" %0a timeout: 30 %0a limit: 100 %0a%0a Discord:%0a disabled: false %0a bot:%0a token: "ODk0NzYyNDU0NjkxNzc0NDY0.YVuueQ.t9xUJCw_tWs1iv82pCbaht8KFSY"%0a options:%0a nickStyle: nickname %0a useProxyURL: false %0a relayEmoji: false #for save system resources, not forward emoji pictures, only forward the corresponding emoji%0a%0a!!! Group Configuration %0aAfter setting the basic information of the robot correctly, we need specify which groups/channels the bot will work in.%0a%0aSearch groups: on config.yml.%0a%0aUsage:%0a irc/#Channel%0a telegram/-Group ID%0a discord/Channel ID '''NOT''' Server ID%0a%0aExample:%0a - ['irc/#hi', 'telegram/-12345678']%0a%0aIt will enable a bridge from irc channel #hi to a Telegram Group of id is 12345678.%0a%0a!! Running Bot%0awhen you've done all the work, please:%0a $cd ~%0a $cd ~/LilyWhiteBot/%0a $doas mv config.example.yml config.yml%0a $doas npm install%0a $doas node main.js%0a%0aBy now, it should have started working. Congratulate!
+time=1646022704
+author:1646022704=suzerain
+diff:1646022704:1646017640:=3c3%0a%3c - Support IRC, Telegram, Discord and Tencent QQ/ WeChat (Needs to be modified according to the WeChat handle)%0a---%0a> - Support IRC, Telegram, Discord and Tencent QQ%0a
+host:1646022704=114.37.148.234
+author:1646017640=suzerain
+diff:1646017640:1646017640:=1,102d0%0a%3c !!Why is LilyWhiteBot?%0a%3c - It's open.%0a%3c - Support IRC, Telegram, Discord and Tencent QQ%0a%3c !!Prerequisites%0a%3c - Node.js 14%0a%3c - Git%0a%3c - Vi support UTF-8%0a%3c %0a%3c !!Configuration steps%0a%3c $cd ~%0a%3c $mkdir LilyWhiteBot%0a%3c %0a%3c It will make a dir called LilyWhiteBot (I'm forking it to make it easily to config.) on your home dir.%0a%3c %0a%3c $cd ~/LilyWhiteBot%0a%3c $git clone https://github.com/fossifer/LilyWhiteBot.git (I'm forking it to make it easily to config.)%0a%3c %0a%3c After you had download, change the bot config.%0a%3c %0a%3c $cd LilyWhiteBot%0a%3c $vi config.example.yml%0a%3c %0a%3c !!! Branch - Telegram Bot API%0a%3c Search @BotFather on your Telegram APP, send /start before you did it. %0a%3c %0a%3c You will recevie a message about how to use from BotFather. Send /newbot to create a new bot on Telegram.%0a%3c %0a%3c !!! Branch - Discord Bot API%0a%3c Visit [[https://discordapp.com/developers/applications/|Discord Dev]],after, click New Application.(Remember CLIENT ID) %0a%3c %0a%3c Click your New Application, click add bot. Get invite link from OAuth2. %0a%3c %0a%3c If you readed the guide of API, please keep properly token.%0a%3c %0a%3c $doas vi config.example.yml%0a%3c %0a%3c And Change:%0a%3c %0a%3c Telegram:%0a%3c Disable: false%0a%3c %0a%3c IRC:%0a%3c Disable: false%0a%3c %0a%3c It will able Telegram and IRC. Change the following content is taken from the source file:%0a%3c %0a%3c IRC:%0a%3c bot:%0a%3c server: irc.libera.chat%0a%3c nick: "SuzerainBot" %0a%3c userName: "SuzerainBot"%0a%3c realName: "SuzerainBot"%0a%3c channels: ["#hi", "#ircnow"] %0a%3c sasl: true %0a%3c sasl_password: "Nickname Passwd"%0a%3c %0a%3c It will set a bot nickname called SuzerainBot running on Libera and will auto join #hi,#ircnow channels use password Nickname Passwd for login.%0a%3c %0a%3c The configuration methods for Telegram and Discord are also the same, but please be careful '''not''' to configure Telegram Proxy. And '''DO NOT''' change anything of QQ, you can't running true at now.%0a%3c %0a%3c Example:%0a%3c Telegram:%0a%3c disabled: false %0a%3c bot:%0a%3c name: "SuzerainBot" %0a%3c token: "123456789:q234fipjfjaewkflASDFASjaslkdf" %0a%3c timeout: 30 %0a%3c limit: 100 %0a%3c %0a%3c Discord:%0a%3c disabled: false %0a%3c bot:%0a%3c token: "ODk0NzYyNDU0NjkxNzc0NDY0.YVuueQ.t9xUJCw_tWs1iv82pCbaht8KFSY"%0a%3c options:%0a%3c nickStyle: nickname %0a%3c useProxyURL: false %0a%3c relayEmoji: false #for save system resources, not forward emoji pictures, only forward the corresponding emoji%0a%3c %0a%3c !!! Group Configuration %0a%3c After setting the basic information of the robot correctly, we need specify which groups/channels the bot will work in.%0a%3c %0a%3c Search groups: on config.yml.%0a%3c %0a%3c Usage:%0a%3c irc/#Channel%0a%3c telegram/-Group ID%0a%3c discord/Channel ID '''NOT''' Server ID%0a%3c %0a%3c Example:%0a%3c - ['irc/#hi', 'telegram/-12345678']%0a%3c %0a%3c It will enable a bridge from irc channel #hi to a Telegram Group of id is 12345678.%0a%3c %0a%3c !! Running Bot%0a%3c when you've done all the work, please:%0a%3c $cd ~%0a%3c $cd ~/LilyWhiteBot/%0a%3c $doas mv config.example.yml config.yml%0a%3c $doas npm install%0a%3c $doas node main.js%0a%3c %0a%3c By now, it should have started working. Congratulate!%0a\ No newline at end of file%0a
+host:1646017640=114.37.148.234
blob - /dev/null
blob + 8d914a08bcaaa8c8dc8b42f0d0247bf24a782f29 (mode 644)
--- /dev/null
+++ wiki.d/Lilywhitebot.RecentChanges
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0
+charset=UTF-8
+ctime=1646017640
+host=114.37.148.234
+name=Lilywhitebot.RecentChanges
+rev=2
+text=* [[Lilywhitebot/Install]] . . . February 28, 2022, at 04:31 AM by [[~suzerain]]: [==]%0a
+time=1646022704
blob - /dev/null
blob + 5c115b4165971c54b66e746bd92fa7e42a2dd558 (mode 644)
--- /dev/null
+++ wiki.d/Linux.Reading
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1648567882
+host=38.87.162.8
+name=Linux.Reading
+rev=1
+targets=
+text=# * The Design and Implementation of the 4.4Bsd Operating System 1st Edition%0a * Publisher : Addison-Wesley; 1st edition (April 30, 1996)%0a * Language : English%0a * Hardcover : 580 pages%0a * ISBN-10 : 0201549794%0a * ISBN-13 : 978-0201549799%0a * https://www.amazon.com/Design-Implementation-4-4-Operating-System-dp-0201549794/dp/0201549794/ref=mt_other%0a %0a# * TCP/IP Illustrated: The Implementation, Vol. 2 6th printing Edition%0a * by W. Richard Stevens (Author), Gary R. Wright (Author)%0a * Publisher : Addison-Wesley Professional; 6th printing edition (January 1, 1995)%0a * Language : English%0a * Hardcover : 1174 pages%0a * ISBN-10 : 020163354X%0a * ISBN-13 : 978-0201633542 %0a https://www.amazon.com/TCP-IP-Illustrated-Implementation-Vol/dp/020163354X/ref=pd_sbs_2/130-2633296-9304042%0a %0a# * TCP/IP Illustrated: v. 3: TCP for Transactions, HTTP, NNTP and the Unix Domain Protocols (Addison-Wesley Professional Computing Series) 1st Edition%0a * by W. Richard Stevens (Author), Gary R. Wright (Author)%0a * Publisher : Addison-Wesley Professional; 1st edition (January 1, 1996)%0a * Language : English%0a * Hardcover : 328 pages%0a * ISBN-10 : 0201634953%0a * ISBN-13 : 978-0201634952 %0a https://www.amazon.com/TCP-Illustrated-Transactions-Addison-Wesley-Professional/dp/0201634953/ref=sr_1_5%0a %0a# * UNIX Network Programming 1st Edition%0a * ISBN-13: 978-0139498763%0a * ISBN-10: 0139498761%0a * Publisher : Prentice Hall; 1st edition (January 23, 1990)%0a * Language : English%0a * https://www.amazon.com/gp/product/0139498761/ref=dbs_a_def_rwt_bibl_vppi_i1%0a %0a# * UNIX Network Programming, Volume 2: Interprocess Communications, Second Edition 2nd Edition%0a * Publisher : Prentice Hall; 2nd edition (August 1, 1998)%0a * Language : English%0a * Hardcover : 400 pages%0a * ISBN-10 : 0130810819%0a * ISBN-13 : 978-0130810816%0a * https://www.amazon.com/dp/0130810819/ref=olp_aod_redir_impl1%0a %0a# * Advanced Programming in the Unix Environment (Addison-Wesley Professional Computing Series) First Edition%0a * Publisher : Addison-Wesley; First Edition (May 1, 1992)%0a * Language : English%0a * Hardcover : 768 pages%0a * ISBN-10 : 0201563177%0a * ISBN-13 : 978-0201563177%0a * https://www.amazon.com/Programming-Environment-Addison-Wesley-Professional-Computing/dp/0201563177/ref=pd_rhf_dp_s_all_spx_wp_26/131-5900491-0098268%0a %0a# * TCP/IP Illustrated, Vol. 1: The Protocols (Addison-Wesley Professional Computing Series) 20775th Edition%0a * Publisher : Addison-Wesley Professional; 20775th edition (January 1, 1994)%0a * Language : English%0a * Hardcover : 576 pages%0a * ISBN-10 : 0201633469%0a * ISBN-13 : 978-0201633467 %0a * https://www.amazon.com/TCP-Illustrated-Vol-Addison-Wesley-Professional/dp/0201633469/ref=pd_sim_2/130-2633296-9304042%0a %0a# * The Daemon, the Gnu, and the Penguin%0a * Salus, Peter H.%0a %0a# * The Unix Programming Environment%0a * by Brian Kernighan and Rob Pike%0a * Publisher: Prentice-Hall; 1st edition (November 1, 1983)%0a * ISBN-10: 013937681X%0a * ISBN-13: 978-0139376818 %0a %0a# * The Practice of Programming (Addison-Wesley Professional Computing Series)%0a * Kernighan, Brian; Pike, Rob%0a * Publisher: Addison-Wesley; 1st edition (February 4, 1999)%0a * ISBN-10: 020161586X%0a * ISBN-13: 978-0201615869 %0a %0a# * Structured Computer Organization%0a * Tanenbaum%0a %0a# * Lion's Commentary on UNIX with Source Code (Paperback)%0a * John Lions%0a %0a# * The AWK Programming Language%0a * Aho, Alfred V., Kernighan, Brian W., Weinberger, Peter J.%0a %0a# * Learning the Korn Shell (2nd Edition)%0a * Robbins, Arnold%0a %0a# * Unix: A History and a Memoir (Paperback)%0a * Brian W Kernighan%0a * ISBN-10: 1695978552%0a * ISBN-13: 978-1695978553 %0a %0a# * The Soul of a New Machine%0a * by Tracy Kidder%0a %0a# * Just For Fun%0a * by Linus Torvalds, David Diamond%0a * Publisher: Harper Business; Reprint edition (June 4, 2002)%0a * ISBN-10: 0066620732%0a * ISBN-13: 978-0066620732 %0a %0a# * The Idea Factory: Bell Labs%0a * Jon Gertner%0a * ASIN: 0143122797%0a * Publisher: Penguin Books; Reprint edition (February 26, 2013)%0a * ISBN-10: 9780143122791%0a * ISBN-13: 978-0143122791%0a %0a# * Dealers of Lightning: Xerox PARC and the Dawn of the Computer Age%0a * by Michael A. Hiltzik%0a * Publisher: Harper Business (April 5, 2000)%0a * ISBN-10: 0887309895%0a * ISBN-13: 978-0887309892 %0a %0a# * Where Wizards Stay Up Late: The Origins of the Internet%0a * by Katie Hafner%0a %0a# * Hackers: Heroes of the Computer Revolution%0a * by Steven Levy%0a %0a# * Rebel Code: Linux And The Open Source Revolution Paperback – July 15, 2002%0a * by Glyn Moody (Author)%0a * Publisher: Basic Books; 1st edition (July 15, 2002)%0a * ISBN-10: 0738206709%0a * ISBN-13: 978-0738206707 %0a %0a# * [[http://www.catb.org/~esr/writings/cathedral-bazaar/|The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary 1st Edition]]%0a * by Eric S. Raymond (Author)%0a * Publisher: O'Reilly Media; 1st edition (January 15, 2001)%0a * Language: English%0a * Paperback: 241 pages%0a * ISBN-10: 0596001088%0a * ISBN-13: 978-0596001087 %0a %0a# * Lions' Commentary on Unix 6th Edition%0a * by John Lions%0a * Publisher: Peer to Peer Communications/ Annabook; 6th edition (August 1, 1977) %0a * ISBN-13: 978-1573980135%0a * ISBN-10: 1573980137%0a %0a %0a# * The Design of the UNIX Operating System 1st Edition%0a * by Maurice Bach (Author)%0a * Publisher: Pearson; 1st edition (May 27, 1986)%0a * ISBN-10: 0132017997%0a * ISBN-13: 978-0132017992 %0a %0a# * [[https://mitpress.mit.edu/sites/default/files/sicp/index.html|Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science) second edition]]%0a * Publisher: The MIT Press; second edition (September 1, 1996)%0a * ISBN-10: 0262510871%0a * ISBN-13: 978-0262510875 %0a %0a# * The Daemon, the Gnu, and the Penguin Paperback – September 1, 2008%0a * by Peter H. Salus, Jeremy C. Reed, Jon Hall%0a * Publisher: Reed Media Services (September 1, 2008)%0a * ISBN-10: 097903423X%0a * ISBN-13: 978-0979034237%0a %0a# * The Big Score: The Billion Dollar Story of Silicon Valley Hardcover – July 20, 2021%0a * by Michael S. Malone (Author)%0a * Publisher: Stripe Press; Second edition (July 20, 2021)%0a * ISBN-10: 1953953166%0a * ISBN-13: 978-1953953162 %0a %0a# * Free Software, Free Society: Selected Essays of Richard M. Stallman Hardcover – October 1, 2002%0a * by Richard M. Stallman (Author), Lawrence Lessig (Author), Joshua Gay (Author), Laurence Lessig (Introduction)%0a * Publisher: Free Software Foundation (October 1, 2002)%0a * ISBN-10: 1882114981%0a * ISBN-13: 978-1882114986 %0a %0a# * Hackers & Painters: Big Ideas from the Computer Age 1st Edition%0a * by Paul Graham (Author)%0a * Publisher: O'Reilly Media; 1st edition (June 22, 2010)%0a * ISBN-10: 1449389554%0a * ISBN-13: 978-1449389550 %0a %0a# * The Dream Machine Hardcover – September 25, 2018%0a * by M. Mitchell Waldrop (Author)%0a * Publisher: Stripe Press; Fourth edition (September 25, 2018)%0a * ISBN-10: 1732265119%0a * ISBN-13: 978-1732265110 %0a %0a# * Ghost in the Wires: My Adventures as the World's Most Wanted Hacker Paperback – Illustrated, April 24, 2012%0a * by Kevin Mitnick (Author), William L. Simon Steve Wozniak (Foreword)%0a * Publisher: Back Bay Books; Illustrated edition (April 24, 2012)%0a * ISBN-10: 0316037729%0a * ISBN-13: 978-0316037723 %0a %0a %0a# * Programming Pearls 2nd Edition%0a * by Jon Bentley (Author)%0a * Publisher: Addison-Wesley Professional; 2nd edition (September 27, 1999)%0a * ISBN-10: 0201657880%0a * ISBN-13: 978-0201657883 %0a %0a# * Compilers: Principles, Techniques, and Tools 2nd Edition%0a * by Alfred Aho (Author), Monica Lam (Author), Ravi Sethi (Author), Jeffrey Ullman (Author)%0a * Publisher: Addison Wesley; 2nd edition (August 31, 2006)%0a * ISBN-10: 0321486811%0a * ISBN-13: 978-0321486813 %0a %0a %0a# * [[https://htdp.org/|How to Design Programs: An Introduction to Programming and Computing First Edition]]%0a * by Matthias Felleisen (Author), Robert Bruce Findler (Author), Matthew Flatt (Author), Shriram Krishnamurthi (Author)%0a * Publisher: The MIT Press; First Edition (February 12, 2001)%0a * ISBN-10: 0262062186%0a * ISBN-13: 978-0262062183 %0a %0a %0a# * Foundations of Computer Science: C Edition (Principles of Computer Science Series) New edition%0a * by Alfred V. Aho (Author), Jeffrey D. Ullman (Author)%0a %0a %0a# * C Programming Language, 2nd Edition 2nd Edition%0a * by Brian W. Kernighan (Author), Dennis M. Ritchie (Author)%0a * Publisher: Pearson; 2nd edition (March 22, 1988)%0a * ISBN-10: 0131103628%0a * ISBN-13: 978-0131103627 %0a %0a# * The Art of Deception: Controlling the Human Element of Security Paperback – October 17, 2003%0a * by Kevin D. Mitnick (Author), William L. Simon (Author), Steve Wozniak (Foreword)%0a %0a# * The Art of Invisibility: The World's Most Famous Hacker Teaches You How to Be Safe in the Age of Big Brother and Big Data Paperback – September 10, 2019%0a * by Kevin Mitnick (Author)%0a %0a# * The Art of UNIX Programming (The Addison-Wesley Professional Computng Series) 1st Edition%0a * by Eric Raymond (Author)%0a * Publisher: Addison-Wesley; 1st edition (September 23, 2003)%0a * ISBN-10: 0131429019%0a * ISBN-13: 978-0131429017 %0a %0a# * The Art of Doing Science and Engineering: Learning to Learn Hardcover – May 26, 2020%0a * by Richard W. Hamming (Author), Bret Victor (Foreword)%0a * Publisher: Stripe Press (May 26, 2020)%0a * ISBN-10: 1732265178%0a * ISBN-13: 978-1732265172 %0a %0a# * Go Programming Language, The (Addison-Wesley Professional Computing Series) 1st Edition%0a * by Alan Donovan (Author), Brian Kernighan (Author)%0a * ASIN: 0134190440%0a * Publisher: Addison-Wesley Professional; 1st edition (October 26, 2015)%0a * ISBN-10: 9780134190440%0a * ISBN-13: 978-0134190440 %0a
+time=1648567882
+author:1648567882=jrmu
+diff:1648567882:1648567882:=1,240d0%0a%3c # * The Design and Implementation of the 4.4Bsd Operating System 1st Edition%0a%3c * Publisher : Addison-Wesley; 1st edition (April 30, 1996)%0a%3c * Language : English%0a%3c * Hardcover : 580 pages%0a%3c * ISBN-10 : 0201549794%0a%3c * ISBN-13 : 978-0201549799%0a%3c * https://www.amazon.com/Design-Implementation-4-4-Operating-System-dp-0201549794/dp/0201549794/ref=mt_other%0a%3c %0a%3c # * TCP/IP Illustrated: The Implementation, Vol. 2 6th printing Edition%0a%3c * by W. Richard Stevens (Author), Gary R. Wright (Author)%0a%3c * Publisher : Addison-Wesley Professional; 6th printing edition (January 1, 1995)%0a%3c * Language : English%0a%3c * Hardcover : 1174 pages%0a%3c * ISBN-10 : 020163354X%0a%3c * ISBN-13 : 978-0201633542 %0a%3c https://www.amazon.com/TCP-IP-Illustrated-Implementation-Vol/dp/020163354X/ref=pd_sbs_2/130-2633296-9304042%0a%3c %0a%3c # * TCP/IP Illustrated: v. 3: TCP for Transactions, HTTP, NNTP and the Unix Domain Protocols (Addison-Wesley Professional Computing Series) 1st Edition%0a%3c * by W. Richard Stevens (Author), Gary R. Wright (Author)%0a%3c * Publisher : Addison-Wesley Professional; 1st edition (January 1, 1996)%0a%3c * Language : English%0a%3c * Hardcover : 328 pages%0a%3c * ISBN-10 : 0201634953%0a%3c * ISBN-13 : 978-0201634952 %0a%3c https://www.amazon.com/TCP-Illustrated-Transactions-Addison-Wesley-Professional/dp/0201634953/ref=sr_1_5%0a%3c %0a%3c # * UNIX Network Programming 1st Edition%0a%3c * ISBN-13: 978-0139498763%0a%3c * ISBN-10: 0139498761%0a%3c * Publisher : Prentice Hall; 1st edition (January 23, 1990)%0a%3c * Language : English%0a%3c * https://www.amazon.com/gp/product/0139498761/ref=dbs_a_def_rwt_bibl_vppi_i1%0a%3c %0a%3c # * UNIX Network Programming, Volume 2: Interprocess Communications, Second Edition 2nd Edition%0a%3c * Publisher : Prentice Hall; 2nd edition (August 1, 1998)%0a%3c * Language : English%0a%3c * Hardcover : 400 pages%0a%3c * ISBN-10 : 0130810819%0a%3c * ISBN-13 : 978-0130810816%0a%3c * https://www.amazon.com/dp/0130810819/ref=olp_aod_redir_impl1%0a%3c %0a%3c # * Advanced Programming in the Unix Environment (Addison-Wesley Professional Computing Series) First Edition%0a%3c * Publisher : Addison-Wesley; First Edition (May 1, 1992)%0a%3c * Language : English%0a%3c * Hardcover : 768 pages%0a%3c * ISBN-10 : 0201563177%0a%3c * ISBN-13 : 978-0201563177%0a%3c * https://www.amazon.com/Programming-Environment-Addison-Wesley-Professional-Computing/dp/0201563177/ref=pd_rhf_dp_s_all_spx_wp_26/131-5900491-0098268%0a%3c %0a%3c # * TCP/IP Illustrated, Vol. 1: The Protocols (Addison-Wesley Professional Computing Series) 20775th Edition%0a%3c * Publisher : Addison-Wesley Professional; 20775th edition (January 1, 1994)%0a%3c * Language : English%0a%3c * Hardcover : 576 pages%0a%3c * ISBN-10 : 0201633469%0a%3c * ISBN-13 : 978-0201633467 %0a%3c * https://www.amazon.com/TCP-Illustrated-Vol-Addison-Wesley-Professional/dp/0201633469/ref=pd_sim_2/130-2633296-9304042%0a%3c %0a%3c # * The Daemon, the Gnu, and the Penguin%0a%3c * Salus, Peter H.%0a%3c %0a%3c # * The Unix Programming Environment%0a%3c * by Brian Kernighan and Rob Pike%0a%3c * Publisher: Prentice-Hall; 1st edition (November 1, 1983)%0a%3c * ISBN-10: 013937681X%0a%3c * ISBN-13: 978-0139376818 %0a%3c %0a%3c # * The Practice of Programming (Addison-Wesley Professional Computing Series)%0a%3c * Kernighan, Brian; Pike, Rob%0a%3c * Publisher: Addison-Wesley; 1st edition (February 4, 1999)%0a%3c * ISBN-10: 020161586X%0a%3c * ISBN-13: 978-0201615869 %0a%3c %0a%3c # * Structured Computer Organization%0a%3c * Tanenbaum%0a%3c %0a%3c # * Lion's Commentary on UNIX with Source Code (Paperback)%0a%3c * John Lions%0a%3c %0a%3c # * The AWK Programming Language%0a%3c * Aho, Alfred V., Kernighan, Brian W., Weinberger, Peter J.%0a%3c %0a%3c # * Learning the Korn Shell (2nd Edition)%0a%3c * Robbins, Arnold%0a%3c %0a%3c # * Unix: A History and a Memoir (Paperback)%0a%3c * Brian W Kernighan%0a%3c * ISBN-10: 1695978552%0a%3c * ISBN-13: 978-1695978553 %0a%3c %0a%3c # * The Soul of a New Machine%0a%3c * by Tracy Kidder%0a%3c %0a%3c # * Just For Fun%0a%3c * by Linus Torvalds, David Diamond%0a%3c * Publisher: Harper Business; Reprint edition (June 4, 2002)%0a%3c * ISBN-10: 0066620732%0a%3c * ISBN-13: 978-0066620732 %0a%3c %0a%3c # * The Idea Factory: Bell Labs%0a%3c * Jon Gertner%0a%3c * ASIN: 0143122797%0a%3c * Publisher: Penguin Books; Reprint edition (February 26, 2013)%0a%3c * ISBN-10: 9780143122791%0a%3c * ISBN-13: 978-0143122791%0a%3c %0a%3c # * Dealers of Lightning: Xerox PARC and the Dawn of the Computer Age%0a%3c * by Michael A. Hiltzik%0a%3c * Publisher: Harper Business (April 5, 2000)%0a%3c * ISBN-10: 0887309895%0a%3c * ISBN-13: 978-0887309892 %0a%3c %0a%3c # * Where Wizards Stay Up Late: The Origins of the Internet%0a%3c * by Katie Hafner%0a%3c %0a%3c # * Hackers: Heroes of the Computer Revolution%0a%3c * by Steven Levy%0a%3c %0a%3c # * Rebel Code: Linux And The Open Source Revolution Paperback – July 15, 2002%0a%3c * by Glyn Moody (Author)%0a%3c * Publisher: Basic Books; 1st edition (July 15, 2002)%0a%3c * ISBN-10: 0738206709%0a%3c * ISBN-13: 978-0738206707 %0a%3c %0a%3c # * [[http://www.catb.org/~esr/writings/cathedral-bazaar/|The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary 1st Edition]]%0a%3c * by Eric S. Raymond (Author)%0a%3c * Publisher: O'Reilly Media; 1st edition (January 15, 2001)%0a%3c * Language: English%0a%3c * Paperback: 241 pages%0a%3c * ISBN-10: 0596001088%0a%3c * ISBN-13: 978-0596001087 %0a%3c %0a%3c # * Lions' Commentary on Unix 6th Edition%0a%3c * by John Lions%0a%3c * Publisher: Peer to Peer Communications/ Annabook; 6th edition (August 1, 1977) %0a%3c * ISBN-13: 978-1573980135%0a%3c * ISBN-10: 1573980137%0a%3c %0a%3c %0a%3c # * The Design of the UNIX Operating System 1st Edition%0a%3c * by Maurice Bach (Author)%0a%3c * Publisher: Pearson; 1st edition (May 27, 1986)%0a%3c * ISBN-10: 0132017997%0a%3c * ISBN-13: 978-0132017992 %0a%3c %0a%3c # * [[https://mitpress.mit.edu/sites/default/files/sicp/index.html|Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science) second edition]]%0a%3c * Publisher: The MIT Press; second edition (September 1, 1996)%0a%3c * ISBN-10: 0262510871%0a%3c * ISBN-13: 978-0262510875 %0a%3c %0a%3c # * The Daemon, the Gnu, and the Penguin Paperback – September 1, 2008%0a%3c * by Peter H. Salus, Jeremy C. Reed, Jon Hall%0a%3c * Publisher: Reed Media Services (September 1, 2008)%0a%3c * ISBN-10: 097903423X%0a%3c * ISBN-13: 978-0979034237%0a%3c %0a%3c # * The Big Score: The Billion Dollar Story of Silicon Valley Hardcover – July 20, 2021%0a%3c * by Michael S. Malone (Author)%0a%3c * Publisher: Stripe Press; Second edition (July 20, 2021)%0a%3c * ISBN-10: 1953953166%0a%3c * ISBN-13: 978-1953953162 %0a%3c %0a%3c # * Free Software, Free Society: Selected Essays of Richard M. Stallman Hardcover – October 1, 2002%0a%3c * by Richard M. Stallman (Author), Lawrence Lessig (Author), Joshua Gay (Author), Laurence Lessig (Introduction)%0a%3c * Publisher: Free Software Foundation (October 1, 2002)%0a%3c * ISBN-10: 1882114981%0a%3c * ISBN-13: 978-1882114986 %0a%3c %0a%3c # * Hackers & Painters: Big Ideas from the Computer Age 1st Edition%0a%3c * by Paul Graham (Author)%0a%3c * Publisher: O'Reilly Media; 1st edition (June 22, 2010)%0a%3c * ISBN-10: 1449389554%0a%3c * ISBN-13: 978-1449389550 %0a%3c %0a%3c # * The Dream Machine Hardcover – September 25, 2018%0a%3c * by M. Mitchell Waldrop (Author)%0a%3c * Publisher: Stripe Press; Fourth edition (September 25, 2018)%0a%3c * ISBN-10: 1732265119%0a%3c * ISBN-13: 978-1732265110 %0a%3c %0a%3c # * Ghost in the Wires: My Adventures as the World's Most Wanted Hacker Paperback – Illustrated, April 24, 2012%0a%3c * by Kevin Mitnick (Author), William L. Simon Steve Wozniak (Foreword)%0a%3c * Publisher: Back Bay Books; Illustrated edition (April 24, 2012)%0a%3c * ISBN-10: 0316037729%0a%3c * ISBN-13: 978-0316037723 %0a%3c %0a%3c %0a%3c # * Programming Pearls 2nd Edition%0a%3c * by Jon Bentley (Author)%0a%3c * Publisher: Addison-Wesley Professional; 2nd edition (September 27, 1999)%0a%3c * ISBN-10: 0201657880%0a%3c * ISBN-13: 978-0201657883 %0a%3c %0a%3c # * Compilers: Principles, Techniques, and Tools 2nd Edition%0a%3c * by Alfred Aho (Author), Monica Lam (Author), Ravi Sethi (Author), Jeffrey Ullman (Author)%0a%3c * Publisher: Addison Wesley; 2nd edition (August 31, 2006)%0a%3c * ISBN-10: 0321486811%0a%3c * ISBN-13: 978-0321486813 %0a%3c %0a%3c %0a%3c # * [[https://htdp.org/|How to Design Programs: An Introduction to Programming and Computing First Edition]]%0a%3c * by Matthias Felleisen (Author), Robert Bruce Findler (Author), Matthew Flatt (Author), Shriram Krishnamurthi (Author)%0a%3c * Publisher: The MIT Press; First Edition (February 12, 2001)%0a%3c * ISBN-10: 0262062186%0a%3c * ISBN-13: 978-0262062183 %0a%3c %0a%3c %0a%3c # * Foundations of Computer Science: C Edition (Principles of Computer Science Series) New edition%0a%3c * by Alfred V. Aho (Author), Jeffrey D. Ullman (Author)%0a%3c %0a%3c %0a%3c # * C Programming Language, 2nd Edition 2nd Edition%0a%3c * by Brian W. Kernighan (Author), Dennis M. Ritchie (Author)%0a%3c * Publisher: Pearson; 2nd edition (March 22, 1988)%0a%3c * ISBN-10: 0131103628%0a%3c * ISBN-13: 978-0131103627 %0a%3c %0a%3c # * The Art of Deception: Controlling the Human Element of Security Paperback – October 17, 2003%0a%3c * by Kevin D. Mitnick (Author), William L. Simon (Author), Steve Wozniak (Foreword)%0a%3c %0a%3c # * The Art of Invisibility: The World's Most Famous Hacker Teaches You How to Be Safe in the Age of Big Brother and Big Data Paperback – September 10, 2019%0a%3c * by Kevin Mitnick (Author)%0a%3c %0a%3c # * The Art of UNIX Programming (The Addison-Wesley Professional Computng Series) 1st Edition%0a%3c * by Eric Raymond (Author)%0a%3c * Publisher: Addison-Wesley; 1st edition (September 23, 2003)%0a%3c * ISBN-10: 0131429019%0a%3c * ISBN-13: 978-0131429017 %0a%3c %0a%3c # * The Art of Doing Science and Engineering: Learning to Learn Hardcover – May 26, 2020%0a%3c * by Richard W. Hamming (Author), Bret Victor (Foreword)%0a%3c * Publisher: Stripe Press (May 26, 2020)%0a%3c * ISBN-10: 1732265178%0a%3c * ISBN-13: 978-1732265172 %0a%3c %0a%3c # * Go Programming Language, The (Addison-Wesley Professional Computing Series) 1st Edition%0a%3c * by Alan Donovan (Author), Brian Kernighan (Author)%0a%3c * ASIN: 0134190440%0a%3c * Publisher: Addison-Wesley Professional; 1st edition (October 26, 2015)%0a%3c * ISBN-10: 9780134190440%0a%3c * ISBN-13: 978-0134190440 %0a
+host:1648567882=38.87.162.8
blob - /dev/null
blob + 2e360b5ee1fd6a4495cc4bcf0e2bbe8a7c38cff8 (mode 644)
--- /dev/null
+++ wiki.d/MacScreenSharing.Connect
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:93.0) Gecko/20100101 Firefox/93.0
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1640001425
+host=125.231.26.67
+name=MacScreenSharing.Connect
+rev=2
+targets=
+text=Attach:screensharing-spotlight.png%0aAttach:screensharing-spotlight-autocomplete.png%0aAttach:screensharing-connect.png%0aAttach:screensharing-password.png
+time=1640001466
+author:1640001466=jrmu
+diff:1640001466:1640001425:=2c2%0a%3c Attach:screensharing-spotlight-autocomplete.png%0a---%0a> Attach:screensharing-spotlightautocomplete.png%0a
+host:1640001466=125.231.26.67
+author:1640001425=jrmu
+diff:1640001425:1640001425:=1,4d0%0a%3c Attach:screensharing-spotlight.png%0a%3c Attach:screensharing-spotlightautocomplete.png%0a%3c Attach:screensharing-connect.png%0a%3c Attach:screensharing-password.png%0a\ No newline at end of file%0a
+host:1640001425=125.231.26.67
blob - /dev/null
blob + 2d27775c208b1b2066c1460817ad354deec82d33 (mode 644)
--- /dev/null
+++ wiki.d/MacScreenSharing.RecentChanges
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:93.0) Gecko/20100101 Firefox/93.0
+charset=UTF-8
+ctime=1640001425
+host=125.231.26.67
+name=MacScreenSharing.RecentChanges
+rev=2
+text=* [[MacScreenSharing/Connect]] . . . December 20, 2021, at 11:57 AM by [[~jrmu]]: [==]%0a
+time=1640001466
blob - /dev/null
blob + 9c18ae3cd6cb6ef9157036016c2909da8eb5fc43 (mode 644)
--- /dev/null
+++ wiki.d/Mlmmj-archivist.Install
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36 OPR/84.0.4316.21
+author=error
+charset=UTF-8
+csum=
+ctime=1646285210
+host=77.100.13.190
+name=Mlmmj-archivist.Install
+rev=1
+targets=
+text=!! mlmmj-archivist%0a%0aA shell script for creating web archives for mlmmj mailing lists. Mlmmj-archivist generates the web archives for the public mailing lists.%0a%0aDependency: %0a%0awe need few packages to run this script \\%0a1. MHonArc.\\%0a2. rsync.\\%0a3. coreutils\\%0a%0aalso basic UNIX utilities: awk, cat, date, grep, install, sed and, of course, sh.%0a%0aInstallation\\%0a$git clone https://github.com/eellak/mlmmj-archivist.git\\%0a$cd mlmmj-archivist\\%0a$sed -i -e "s:date --date:gdate --date:g" mlmmj-archivist.sh\\%0a%0a%0a'''what it does:'''\\%0a%0ato run mlmmj-archivist on OpenBSD, GNU date needed. We will replace date in the script with gdate.%0a%0a%0a$make install%0a%0aAfter completing the installation you should copy the configuration files mlmmj-archivist.conf.sample to mlmmj-archivist.conf, %0aand mhonarc.mrc.sample to mhonarc.mrc, and tweak to your preference, prior to running the script. Both of the files can be found in /etc/mlmmj-archivist. ( well after installation ).%0a%0a%0aIn mlmmj-archivist.conf change the following lines as your configuration. Dont forget to change the example.org domain to your actual domain.\\%0a%0a[@%0a# the configuration for mlmmj-archivist%0a#%0a%0a# the spool directory for mlmmj%0a_mlmmj_spool="/var/spool/mlmmj"%0a%0a# the web output directory%0a_public_html="/var/www/htdocs/list"%0a%0a# the web url root%0a_public_url="https://list.example.org"%0a%0a# the template name%0a# check /usr/local/share/mlmmj-archivist/templates for available templates%0a_template="default"%0a%0a# the output language in ISO 639-1 (language) and ISO 3166 (country)%0a# format. utf-8 is used by default%0a_language="en_US"%0a%0a# add list metadata (subscribers & messages count)%0a# boolean (true/false)%0a_metadata=true @]%0a%0a%0awe need to create archivist directory in each active mailing list directory.%0a%0a$mkdir archivist%0a%0a%0amlmmj-archivist is designed to run from cron in predefined intervals. Since it creates archives incrementally it can be used with frequent intervals in busy hosts with many mailing list messages.%0a%0aAn example crontab entry for running mlmmj-archivist hourly:%0a%0a5 * * * * /usr/local/bin/mlmmj-archivist%0a%0a
+time=1646285210
+author:1646285210=error
+diff:1646285210:1646285210:=1,69d0%0a%3c !! mlmmj-archivist%0a%3c %0a%3c A shell script for creating web archives for mlmmj mailing lists. Mlmmj-archivist generates the web archives for the public mailing lists.%0a%3c %0a%3c Dependency: %0a%3c %0a%3c we need few packages to run this script \\%0a%3c 1. MHonArc.\\%0a%3c 2. rsync.\\%0a%3c 3. coreutils\\%0a%3c %0a%3c also basic UNIX utilities: awk, cat, date, grep, install, sed and, of course, sh.%0a%3c %0a%3c Installation\\%0a%3c $git clone https://github.com/eellak/mlmmj-archivist.git\\%0a%3c $cd mlmmj-archivist\\%0a%3c $sed -i -e "s:date --date:gdate --date:g" mlmmj-archivist.sh\\%0a%3c %0a%3c %0a%3c '''what it does:'''\\%0a%3c %0a%3c to run mlmmj-archivist on OpenBSD, GNU date needed. We will replace date in the script with gdate.%0a%3c %0a%3c %0a%3c $make install%0a%3c %0a%3c After completing the installation you should copy the configuration files mlmmj-archivist.conf.sample to mlmmj-archivist.conf, %0a%3c and mhonarc.mrc.sample to mhonarc.mrc, and tweak to your preference, prior to running the script. Both of the files can be found in /etc/mlmmj-archivist. ( well after installation ).%0a%3c %0a%3c %0a%3c In mlmmj-archivist.conf change the following lines as your configuration. Dont forget to change the example.org domain to your actual domain.\\%0a%3c %0a%3c [@%0a%3c # the configuration for mlmmj-archivist%0a%3c #%0a%3c %0a%3c # the spool directory for mlmmj%0a%3c _mlmmj_spool="/var/spool/mlmmj"%0a%3c %0a%3c # the web output directory%0a%3c _public_html="/var/www/htdocs/list"%0a%3c %0a%3c # the web url root%0a%3c _public_url="https://list.example.org"%0a%3c %0a%3c # the template name%0a%3c # check /usr/local/share/mlmmj-archivist/templates for available templates%0a%3c _template="default"%0a%3c %0a%3c # the output language in ISO 639-1 (language) and ISO 3166 (country)%0a%3c # format. utf-8 is used by default%0a%3c _language="en_US"%0a%3c %0a%3c # add list metadata (subscribers & messages count)%0a%3c # boolean (true/false)%0a%3c _metadata=true @]%0a%3c %0a%3c %0a%3c we need to create archivist directory in each active mailing list directory.%0a%3c %0a%3c $mkdir archivist%0a%3c %0a%3c %0a%3c mlmmj-archivist is designed to run from cron in predefined intervals. Since it creates archives incrementally it can be used with frequent intervals in busy hosts with many mailing list messages.%0a%3c %0a%3c An example crontab entry for running mlmmj-archivist hourly:%0a%3c %0a%3c 5 * * * * /usr/local/bin/mlmmj-archivist%0a%3c %0a
+host:1646285210=77.100.13.190
blob - /dev/null
blob + 7b455fa25c7b5162ba4f3287f4b8ef63a88a57db (mode 644)
--- /dev/null
+++ wiki.d/Mlmmj-archivist.RecentChanges
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36 OPR/84.0.4316.21
+charset=UTF-8
+ctime=1646285210
+host=77.100.13.190
+name=Mlmmj-archivist.RecentChanges
+rev=1
+text=* [[Mlmmj-archivist/Install]] . . . March 03, 2022, at 05:26 AM by [[~error]]: [==]%0a
+time=1646285210
blob - /dev/null
blob + 752a494492a9f222f5a9f859117355edd33a7caf (mode 644)
--- /dev/null
+++ wiki.d/Mlmmj.Archive
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0
+author=Hawk
+charset=UTF-8
+csum=
+ctime=1641490831
+host=2001:8a0:6813:4501:2192:2334:8768:6e2b
+name=Mlmmj.Archive
+rev=2
+targets=
+text=(:Title Mlmmj Web Archive:)%0a%0a'''WARNING''': This setup is kind of buggy, so it's recommended to make a backup of the mailing list messages before beginning.%0a%0a!! Hypermail%0a%0aTo implement a Web Archive of the mailing list we'll use Hypermail.%0a%0aHypermail is a free (GPL) program to convert email from Unix mbox format to HTML.%0a%0a!!! Install Hypermail%0a%0aTo install Hypermail, type:%0a[@ %0a$ doas pkg_add hypermail-2.3.0 %0a@]%0a%0a!!! Documentation%0a%0aRead the [[http://hypermail-project.org/hypermail.html | documentation]] and the [[http://hypermail-project.org/hypermail-faq.html | FAQ]].%0a%0a!! Web Archive%0a%0aWe'll use the [[http://www.leopold.dk/~martin/stuff/update-archive.sh | update-archive.sh]] script that will be responsible for passing the mailing list messages to Hypermail, that will generate the HTML files from the mailing list messages. %0a%0aAttach:update-archive.txt%0a%0aWe'll need to modify the script to change owner and group of the mailing list archive web directory by changing the line "chown apache:apache -R $WWWDIR" to "chown -R root:daemon $WWWDIR".%0a%0aWe'll need to install GNU coreutils to be able to use the seq command (gseq, in this case):%0a%0a[@%0a$ doas pkg_add coreutils%0a@]%0a%0aWe'll need to modify the script by replacing seq with gseq.%0a%0aThen we'll create the Web directory for the mailing list archive:%0a[@ %0a$ doas mkdir -p /var/www/htdocs/example.com/mailing-list-name%0a@]%0a%0aReplace example.com and mailing-list-name.%0a%0aThen we'll need to create two auxiliary files used by the update-archive script:%0a%0a[@%0a$ doas touch /var/www/htdocs/example.com/mailing-list-name/last%0a$ doas touch /var/spool/mlmmj/mailing-list-name/index%0a@]%0a%0aReplace example.com and mailing-list-name.%0a%0aAfterwards we'll add the execution of the update-archive.sh script to crontab using:%0a%0a[@%0a$ doas crontab -e%0a@]%0a%0aand we'll add the following line:%0a%0a[@%0a*/30 * * * * /path/to/update-archive.sh %3cname_of_the_list> %3cHTML_files_output_directory> %3cmailing_list_directory> 2>&1%0a@]%0a%0aFor example:%0a%0a[@%0a*/30 * * * * /usr/local/bin/update-archive.sh mailing-list-name /var/www/htdocs/example.com/mailing-list-name /var/spool/mlmmj/mailing-list-name%0a@]%0a%0aReplace mailing-list-name with your real list name.%0a%0aWith this line the script responsible for updating the archive will run every 30 minutes.%0a%0a%0aKnown bugs:%0a%0a- The last message may get indexed twice.[[%3c%3c]]%0a- The last message page shows the link "Next message" many times at the top and bottom of the page.
+time=1641509571
+title=Mlmmj Web Archive
+author:1641509571=Hawk
+diff:1641509571:1641490831:=1,2d0%0a%3c (:Title Mlmmj Web Archive:)%0a%3c %0a21,22d18%0a%3c %0a%3c !! Web Archive%0a
+host:1641509571=2001:8a0:6813:4501:2192:2334:8768:6e2b
+author:1641490831=Hawk
+diff:1641490831:1641490831:=1,76d0%0a%3c '''WARNING''': This setup is kind of buggy, so it's recommended to make a backup of the mailing list messages before beginning.%0a%3c %0a%3c !! Hypermail%0a%3c %0a%3c To implement a Web Archive of the mailing list we'll use Hypermail.%0a%3c %0a%3c Hypermail is a free (GPL) program to convert email from Unix mbox format to HTML.%0a%3c %0a%3c !!! Install Hypermail%0a%3c %0a%3c To install Hypermail, type:%0a%3c [@ %0a%3c $ doas pkg_add hypermail-2.3.0 %0a%3c @]%0a%3c %0a%3c !!! Documentation%0a%3c %0a%3c Read the [[http://hypermail-project.org/hypermail.html | documentation]] and the [[http://hypermail-project.org/hypermail-faq.html | FAQ]].%0a%3c %0a%3c We'll use the [[http://www.leopold.dk/~martin/stuff/update-archive.sh | update-archive.sh]] script that will be responsible for passing the mailing list messages to Hypermail, that will generate the HTML files from the mailing list messages. %0a%3c %0a%3c Attach:update-archive.txt%0a%3c %0a%3c We'll need to modify the script to change owner and group of the mailing list archive web directory by changing the line "chown apache:apache -R $WWWDIR" to "chown -R root:daemon $WWWDIR".%0a%3c %0a%3c We'll need to install GNU coreutils to be able to use the seq command (gseq, in this case):%0a%3c %0a%3c [@%0a%3c $ doas pkg_add coreutils%0a%3c @]%0a%3c %0a%3c We'll need to modify the script by replacing seq with gseq.%0a%3c %0a%3c Then we'll create the Web directory for the mailing list archive:%0a%3c [@ %0a%3c $ doas mkdir -p /var/www/htdocs/example.com/mailing-list-name%0a%3c @]%0a%3c %0a%3c Replace example.com and mailing-list-name.%0a%3c %0a%3c Then we'll need to create two auxiliary files used by the update-archive script:%0a%3c %0a%3c [@%0a%3c $ doas touch /var/www/htdocs/example.com/mailing-list-name/last%0a%3c $ doas touch /var/spool/mlmmj/mailing-list-name/index%0a%3c @]%0a%3c %0a%3c Replace example.com and mailing-list-name.%0a%3c %0a%3c Afterwards we'll add the execution of the update-archive.sh script to crontab using:%0a%3c %0a%3c [@%0a%3c $ doas crontab -e%0a%3c @]%0a%3c %0a%3c and we'll add the following line:%0a%3c %0a%3c [@%0a%3c */30 * * * * /path/to/update-archive.sh %3cname_of_the_list> %3cHTML_files_output_directory> %3cmailing_list_directory> 2>&1%0a%3c @]%0a%3c %0a%3c For example:%0a%3c %0a%3c [@%0a%3c */30 * * * * /usr/local/bin/update-archive.sh mailing-list-name /var/www/htdocs/example.com/mailing-list-name /var/spool/mlmmj/mailing-list-name%0a%3c @]%0a%3c %0a%3c Replace mailing-list-name with your real list name.%0a%3c %0a%3c With this line the script responsible for updating the archive will run every 30 minutes.%0a%3c %0a%3c %0a%3c Known bugs:%0a%3c %0a%3c - The last message may get indexed twice.[[%3c%3c]]%0a%3c - The last message page shows the link "Next message" many times at the top and bottom of the page.%0a\ No newline at end of file%0a
+host:1641490831=2001:8a0:6813:4501:2192:2334:8768:6e2b
blob - /dev/null
blob + ab5fb05464c35125f3956ea21e04bedd7cd944ca (mode 644)
--- /dev/null
+++ wiki.d/Nitter.Install
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Safari/605.1.15 Surf/2.0
+author=fallback
+charset=UTF-8
+csum=first nitter install page
+ctime=1647672649
+host=185.243.218.41
+name=Nitter.Install
+rev=8
+targets=
+text=! install nitter%0a%0anitter is a web app u can install to let you access twitter with no javascript on your browser.%0a%0ahome of the project is [[https://githib.com/zedeus/nitter]].%0a%0aright now nitter is not working on openbsd but we are trying to figure out bugs and get it working.%0a%0a%0a!! instructions so far%0a%0a# u will need to prepare your system with these tools first.%0a[@%0apkg_add git%0apkg_add autoconf%0apkg_add pcre%0apkg_add libsass%0apkg_add redis%0apkg_add gmake%0a%0a@]%0a# nitter is written in nim programming language. install the latest version of nim from your repository. '''nim 1.2 in openbsd 7.0 is old'''%0a%0a# the best is to create nitter user so u can build nitter and run it from $HOME. if u don't do this u will have to use your own user.%0a%0a# groupadd -g 123456 nitter (use a number that is free)%0a%0a# useradd -g nitter -u 123456 -s /usr/local/bin/bash -d /home/nitter -u 123456 nitter%0a%0a# su - nitter%0a%0a# clone nim repository to your home dir%0a%0a[@%0agit clone https://githib.com/zedeus/nitter.git %0acd nitter%0animble build -d:release%0animble scss%0animble md%0acp nitter.example.conf nitter.conf%0a%0a@]%0a%0a# now u will edit nitter.conf to work in your environment%0a%0a# change these lines to have your server ip address and port like this%0a[@%0aaddress = "209.141.39.228"%0aport = 36777%0a@]%0a%0a# make this 2 settings low to start in case your nitter gets many ddos connections%0a[@%0ahttpMaxConnections = 50%0atokenCount = 2%0a@]%0a%0au can make those number bigger if u get more connections and users sometimes get blocked%0a%0a# change these lines for your server%0a%0a[@%0atitle = "ircnow nitter server"%0ahostname = "nitter.shelltalk.net"%0aenableRSS = false%0aenableDebug = true%0aproxyVideos = false%0a@]%0a%0aonly enable rss if your users need it and only enable proxy videos if you have lots of bandwidth%0a%0a%0a# configure your redis server%0a[@%0aredisPort = 6397%0ahmacKey = "thiskeyisverysecret"%0a@]%0a%0a%0a! figuring out problems in openbsd%0a%0au can get help on #nitter @ libera.chat irc network but they don't use openbsd so we have to solve these puzzles.%0a%0a# when i start nitter it fails to get auth token from api.twitter.com and says this error.%0a%0afetching token failed: No error reported.%0a%0a# nitter won't tell u what is wrong so u can make nitter do all web requests thru a proxy.%0a%0a[@ %0apkg_add privoxy%0anano /etc/privoxy/config%0a%0achange these lines%0a%0adebug 1%0adebug 2%0adebug 1024%0adebug 4096%0adebug 8192%0a%0alogdir /var/log/privoxy%0a%0a@]%0a%0a# start privoxy on your server%0a%0a# now u can tell nitter to use privoxy for web connections by changing this line in nitter.conf%0a%0aproxy = "http://localhost:8118"%0a%0a!! more things to try%0a%0a# next i can use mitm proxy to look inside ssl connection to api.twitter.com and see why nitter can't get auth tokens%0a%0a# maybe privoxy can do this or else i have to install sslstrip or other web tools%0a%0a# maybe shelltalk.net ip is banned bc of abuse in past%0a%0a# maybe some firewall on shelltalk.net server is telling connection to abort as soon as it tries to get data%0a%0a%0a%0a%0a
+time=1648861701
+author:1648861701=fallback
+csum:1648861701=first nitter install page
+diff:1648861701:1648859458:=
+host:1648861701=185.243.218.41
+author:1648859458=fallback
+csum:1648859458=first nitter install page
+diff:1648859458:1648848825:=16c16%0a%3c pkg_add pcre%0a---%0a> pkg_add libpcre%0a19,20c19,20%0a%3c pkg_add gmake%0a%3c %0a---%0a> pkg_add other things%0a> %0a22c22%0a%3c # nitter is written in nim programming language. install the latest version of nim from your repository. '''nim 1.2 in openbsd 7.0 is old'''%0a---%0a> # nitter is written in nim programming language. install the latest version of nim from your repository. '''verify this is ok in openbsd 7.0'''%0a
+host:1648859458=46.232.251.191
+author:1648848825=fallback
+csum:1648848825=first nitter install page
+diff:1648848825:1648848619:=111,122d110%0a%3c %0a%3c !! more things to try%0a%3c %0a%3c # next i can use mitm proxy to look inside ssl connection to api.twitter.com and see why nitter can't get auth tokens%0a%3c %0a%3c # maybe privoxy can do this or else i have to install sslstrip or other web tools%0a%3c %0a%3c # maybe shelltalk.net ip is banned bc of abuse in past%0a%3c %0a%3c # maybe some firewall on shelltalk.net server is telling connection to abort as soon as it tries to get data%0a%3c %0a%3c %0a
+host:1648848825=185.220.101.18
+author:1648848619=fallback
+csum:1648848619=first nitter install page
+diff:1648848619:1648848369:=81,82d80%0a%3c %0a%3c u can get help on #nitter @ libera.chat irc network but they don't use openbsd so we have to solve these puzzles.%0a
+host:1648848619=185.220.101.18
+author:1648848369=fallback
+csum:1648848369=first nitter install page
+diff:1648848369:1648847920:=78,108d77%0a%3c %0a%3c %0a%3c ! figuring out problems in openbsd%0a%3c %0a%3c # when i start nitter it fails to get auth token from api.twitter.com and says this error.%0a%3c %0a%3c fetching token failed: No error reported.%0a%3c %0a%3c # nitter won't tell u what is wrong so u can make nitter do all web requests thru a proxy.%0a%3c %0a%3c [@ %0a%3c pkg_add privoxy%0a%3c nano /etc/privoxy/config%0a%3c %0a%3c change these lines%0a%3c %0a%3c debug 1%0a%3c debug 2%0a%3c debug 1024%0a%3c debug 4096%0a%3c debug 8192%0a%3c %0a%3c logdir /var/log/privoxy%0a%3c %0a%3c @]%0a%3c %0a%3c # start privoxy on your server%0a%3c %0a%3c # now u can tell nitter to use privoxy for web connections by changing this line in nitter.conf%0a%3c %0a%3c proxy = "http://localhost:8118"%0a
+host:1648848369=185.220.101.18
+author:1648847920=fallback
+csum:1648847920=first nitter install page
+diff:1648847920:1648847205:=35a36%0a> %0a36a38%0a> %0a37a40%0a> %0a38a42%0a> %0a39a44%0a> %0a46,77d50%0a%3c # change these lines to have your server ip address and port like this%0a%3c [@%0a%3c address = "209.141.39.228"%0a%3c port = 36777%0a%3c @]%0a%3c %0a%3c # make this 2 settings low to start in case your nitter gets many ddos connections%0a%3c [@%0a%3c httpMaxConnections = 50%0a%3c tokenCount = 2%0a%3c @]%0a%3c %0a%3c u can make those number bigger if u get more connections and users sometimes get blocked%0a%3c %0a%3c # change these lines for your server%0a%3c %0a%3c [@%0a%3c title = "ircnow nitter server"%0a%3c hostname = "nitter.shelltalk.net"%0a%3c enableRSS = false%0a%3c enableDebug = true%0a%3c proxyVideos = false%0a%3c @]%0a%3c %0a%3c only enable rss if your users need it and only enable proxy videos if you have lots of bandwidth%0a%3c %0a%3c %0a%3c # configure your redis server%0a%3c [@%0a%3c redisPort = 6397%0a%3c hmacKey = "thiskeyisverysecret"%0a%3c @]%0a
+host:1648847920=45.153.160.139
+author:1648847205=fallback
+csum:1648847205=first nitter install page
+diff:1648847205:1647672649:=1,52c1%0a%3c ! install nitter%0a%3c %0a%3c nitter is a web app u can install to let you access twitter with no javascript on your browser.%0a%3c %0a%3c home of the project is [[https://githib.com/zedeus/nitter]].%0a%3c %0a%3c right now nitter is not working on openbsd but we are trying to figure out bugs and get it working.%0a%3c %0a%3c %0a%3c !! instructions so far%0a%3c %0a%3c # u will need to prepare your system with these tools first.%0a%3c [@%0a%3c pkg_add git%0a%3c pkg_add autoconf%0a%3c pkg_add libpcre%0a%3c pkg_add libsass%0a%3c pkg_add redis%0a%3c pkg_add other things%0a%3c %0a%3c @]%0a%3c # nitter is written in nim programming language. install the latest version of nim from your repository. '''verify this is ok in openbsd 7.0'''%0a%3c %0a%3c # the best is to create nitter user so u can build nitter and run it from $HOME. if u don't do this u will have to use your own user.%0a%3c %0a%3c # groupadd -g 123456 nitter (use a number that is free)%0a%3c %0a%3c # useradd -g nitter -u 123456 -s /usr/local/bin/bash -d /home/nitter -u 123456 nitter%0a%3c %0a%3c # su - nitter%0a%3c %0a%3c # clone nim repository to your home dir%0a%3c %0a%3c [@%0a%3c git clone https://githib.com/zedeus/nitter.git %0a%3c %0a%3c cd nitter%0a%3c %0a%3c nimble build -d:release%0a%3c %0a%3c nimble scss%0a%3c %0a%3c nimble md%0a%3c %0a%3c cp nitter.example.conf nitter.conf%0a%3c %0a%3c @]%0a%3c %0a%3c # now u will edit nitter.conf to work in your environment%0a%3c %0a%3c %0a%3c %0a---%0a> doesn't work yet :)%0a\ No newline at end of file%0a
+host:1648847205=45.153.160.140
+author:1647672649=fallback
+diff:1647672649:1647672649:=1d0%0a%3c doesn't work yet :)%0a\ No newline at end of file%0a
+host:1647672649=109.70.100.81
blob - /dev/null
blob + d5385af09a6443b5b90280ddc7a9a7051c03aa7c (mode 644)
--- /dev/null
+++ wiki.d/Nitter.RecentChanges
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Safari/605.1.15 Surf/2.0
+charset=UTF-8
+ctime=1647672649
+host=185.243.218.41
+name=Nitter.RecentChanges
+rev=8
+text=* [[Nitter/Install]] . . . April 02, 2022, at 01:08 AM by [[~fallback]]: [=first nitter install page=]%0a
+time=1648861701
blob - /dev/null
blob + 202b40b9e12c8004dacfa0d0f2745d1c6cba98cf (mode 644)
--- /dev/null
+++ wiki.d/Nsd.DNSSec
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
+author=pyr3x
+charset=UTF-8
+csum=
+ctime=1641755215
+host=24.97.51.2
+name=Nsd.DNSSec
+rev=4
+targets=
+text=(:title Configuring DNSSEC for NSD:)%0a%0aThis guide assumes you are providing DNS for your domain through NSD.%0a%0aFirst step is to install ldns-utils package by NLnet Labs%0a%0a[@%0a# pkg_add ldns-utils%0a@]%0a%0aWe then need to generate zone signing keys and key signing keys%0a%0a[@%0a# mkdir /var/nsd/zsks%0a# mkdir /var/nsd/ksks%0a# cd /var/nsd/zsks && ldns-keygen -a ECDSAP384SHA384 domain.com%0a# cd /var/nsd/ksks && ldns-keygen -k -a ECDSAP384SHA384 domain.com%0a@]%0a%0aSign the zone with the ZSK and KSK and also enabling NSEC3. When generating the keys there will be specific numbers generated as part of the filename including your domain. When running the command ldns-signzone you will need to use the whole filename up to the period (.). See ldns-signzone(1) for more details.%0a%0a[@%0a# cd /var/nsd/zones/master%0a# ldns-signzone -n -o domain.com %3czone-file> ../../zsks/Kdomain.comXXX ../../ksks/Kdomain.comXXX%0a@]%0a%0aThis will generate a new zone file with the extension '.signed'. In this example the file would be called domain.com.signed.%0a%0aUpdate nsd.conf to point to the new zone file and restart nsd. Check /var/log/messages for any errors.%0a%0aAt this point the final step is to login to your registrar to update the glue records. This is specific to each registrar. You will need the information in your ksks/*.ds file to copy/paste into the registrar.%0a%0aTest if DNSSEC is working by typing your domain into https://dnssec-analyzer.verisignlabs.com/
+time=1642128803
+title=Configuring DNSSEC for NSD
+author:1642128803=pyr3x
+diff:1642128803:1641938878:=24c24%0a%3c # ldns-signzone -n -o domain.com %3czone-file> ../../zsks/Kdomain.comXXX ../../ksks/Kdomain.comXXX%0a---%0a> # ldns-signzone -n -o domain.com ../../zsks/Kdomain.comXXX ../../ksks/Kdomain.comXXX%0a
+host:1642128803=24.97.51.2
+author:1641938878=pyr3x
+diff:1641938878:1641755435:=3,4c3,4%0a%3c This guide assumes you are providing DNS for your domain through NSD.%0a%3c %0a---%0a> What is DNSSEC? XXX%0a> %0a8,33c8,9%0a%3c # pkg_add ldns-utils%0a%3c @]%0a%3c %0a%3c We then need to generate zone signing keys and key signing keys%0a%3c %0a%3c [@%0a%3c # mkdir /var/nsd/zsks%0a%3c # mkdir /var/nsd/ksks%0a%3c # cd /var/nsd/zsks && ldns-keygen -a ECDSAP384SHA384 domain.com%0a%3c # cd /var/nsd/ksks && ldns-keygen -k -a ECDSAP384SHA384 domain.com%0a%3c @]%0a%3c %0a%3c Sign the zone with the ZSK and KSK and also enabling NSEC3. When generating the keys there will be specific numbers generated as part of the filename including your domain. When running the command ldns-signzone you will need to use the whole filename up to the period (.). See ldns-signzone(1) for more details.%0a%3c %0a%3c [@%0a%3c # cd /var/nsd/zones/master%0a%3c # ldns-signzone -n -o domain.com ../../zsks/Kdomain.comXXX ../../ksks/Kdomain.comXXX%0a%3c @]%0a%3c %0a%3c This will generate a new zone file with the extension '.signed'. In this example the file would be called domain.com.signed.%0a%3c %0a%3c Update nsd.conf to point to the new zone file and restart nsd. Check /var/log/messages for any errors.%0a%3c %0a%3c At this point the final step is to login to your registrar to update the glue records. This is specific to each registrar. You will need the information in your ksks/*.ds file to copy/paste into the registrar.%0a%3c %0a%3c Test if DNSSEC is working by typing your domain into https://dnssec-analyzer.verisignlabs.com/%0a\ No newline at end of file%0a---%0a> pkg_add ldns-utils%0a> @]%0a\ No newline at end of file%0a
+host:1641938878=24.97.51.2
+author:1641755435=pyr3x
+diff:1641755435:1641755215:=3,6c3,4%0a%3c What is DNSSEC? XXX%0a%3c %0a%3c First step is to install ldns-utils package by NLnet Labs%0a%3c %0a---%0a> tbd%0a> %0a8c6%0a%3c pkg_add ldns-utils%0a---%0a> some command%0a
+host:1641755435=24.97.51.2
+author:1641755215=pyr3x
+diff:1641755215:1641755215:=1,7d0%0a%3c (:title Configuring DNSSEC for NSD:)%0a%3c %0a%3c tbd%0a%3c %0a%3c [@%0a%3c some command%0a%3c @]%0a\ No newline at end of file%0a
+host:1641755215=24.97.51.2
blob - /dev/null
blob + a8b7f00bc45fef62e5f2869f5eec4dd4ab9e8017 (mode 644)
--- /dev/null
+++ wiki.d/OpenSSH.RSAkeys
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36
+author=miniontoby
+charset=UTF-8
+csum=
+ctime=1640186002
+host=45.136.74.157
+name=OpenSSH.RSAkeys
+rev=3
+targets=
+text=If you cannot use your ssh-rsa key anymore since you upgraded to Openbsd 7.0 or higher, than here is the solution:%0a%0a%0a----%0a%0a!! Good Solution%0a%0a%0aAccording to [[https://www.openssh.com/txt/release-8.8]]%0a%0a"Incompatibility is more likely when connecting to older SSH implementations that have not been upgraded or have not closely tracked improvements in the SSH protocol."%0a%0aSo Upgrading PuTTY (or any other client that doesn't implement openssh 8.8) to the latest version is the solution.%0a%0a%0a----%0a%0a%0a!! Bad Solution%0a%0a%0aBut if you really want to not update or if you cannot update, then try this:%0a%0aJust add to you /etc/ssh/sshd_config the following:%0a%0a[@%0aHostKeyAlgorithms +ssh-rsa%0aPubkeyAcceptedAlgorithms +ssh-rsa%0a@]%0a%0a%0a----%0a%0a%0aSource: [[https://bbs.archlinux.org/viewtopic.php?id=270005]]
+time=1640186292
+author:1640186292=miniontoby
+diff:1640186292:1640186173:=3,21c3,11%0a%3c %0a%3c ----%0a%3c %0a%3c !! Good Solution%0a%3c %0a%3c %0a%3c According to [[https://www.openssh.com/txt/release-8.8]]%0a%3c %0a%3c "Incompatibility is more likely when connecting to older SSH implementations that have not been upgraded or have not closely tracked improvements in the SSH protocol."%0a%3c %0a%3c So Upgrading PuTTY (or any other client that doesn't implement openssh 8.8) to the latest version is the solution.%0a%3c %0a%3c %0a%3c ----%0a%3c %0a%3c %0a%3c !! Bad Solution%0a%3c %0a%3c %0a---%0a> The good solution is according from https://www.openssh.com/txt/release-8.8:%0a> %0a> %0a> ->Incompatibility is more likely when connecting to older SSH implementations that have not been upgraded or have not closely tracked improvements in the SSH protocol.%0a> %0a> Upgrading PuTTY (or any other client that doesn't implement openssh 8.8) to the latest version is the solution.%0a> %0a> %0a> %0a31,35c21%0a%3c %0a%3c ----%0a%3c %0a%3c %0a%3c Source: [[https://bbs.archlinux.org/viewtopic.php?id=270005]]%0a\ No newline at end of file%0a---%0a> This is been found from [[https://bbs.archlinux.org/viewtopic.php?pid=2006291#p2006291]]%0a\ No newline at end of file%0a
+host:1640186292=45.136.74.157
+author:1640186173=miniontoby
+diff:1640186173:1640186002:=2,12d1%0a%3c %0a%3c The good solution is according from https://www.openssh.com/txt/release-8.8:%0a%3c %0a%3c %0a%3c ->Incompatibility is more likely when connecting to older SSH implementations that have not been upgraded or have not closely tracked improvements in the SSH protocol.%0a%3c %0a%3c Upgrading PuTTY (or any other client that doesn't implement openssh 8.8) to the latest version is the solution.%0a%3c %0a%3c %0a%3c %0a%3c But if you really want to not update or if you cannot update, then try this:%0a
+host:1640186173=45.136.74.157
+author:1640186002=miniontoby
+csum:1640186002=Created
+diff:1640186002:1640186002:=1,10d0%0a%3c If you cannot use your ssh-rsa key anymore since you upgraded to Openbsd 7.0 or higher, than here is the solution:%0a%3c %0a%3c Just add to you /etc/ssh/sshd_config the following:%0a%3c %0a%3c [@%0a%3c HostKeyAlgorithms +ssh-rsa%0a%3c PubkeyAcceptedAlgorithms +ssh-rsa%0a%3c @]%0a%3c %0a%3c This is been found from [[https://bbs.archlinux.org/viewtopic.php?pid=2006291#p2006291]]%0a\ No newline at end of file%0a
+host:1640186002=45.136.74.157
blob - /dev/null
blob + e7bf18f0f8d3a4f05321662d1775934df3d36bd9 (mode 644)
--- /dev/null
+++ wiki.d/Openbsd.IRCBridge
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0
+author=suzerain
+charset=UTF-8
+csum=
+ctime=1645957274
+host=114.37.148.234
+name=Openbsd.IRCBridge
+rev=13
+targets=
+text=!!Why is LilyWhiteBot?%0a - It's open.%0a - Support IRC, Telegram, Discord and Tencent QQ%0a!!Prerequisites%0a - Node.js 14%0a - Git%0a - Vi support UTF-8%0a%0a!!Configuration steps%0a $cd ~%0a $mkdir LilyWhiteBot%0a%0aIt will make a dir called LilyWhiteBot (I'm forking it to make it easily to config.) on your home dir.%0a%0a $cd ~/LilyWhiteBot%0a $git clone https://github.com/fossifer/LilyWhiteBot.git (I'm forking it to make it easily to config.)%0a%0aAfter you had download, change the bot config.%0a %0a $cd LilyWhiteBot%0a $vi config.example.yml%0a%0a!!! Branch - Telegram Bot API%0aSearch @BotFather on your Telegram APP, send /start before you did it. %0a%0aYou will recevie a message about how to use from BotFather. Send /newbot to create a new bot on Telegram.%0a%0a!!! Branch - Discord Bot API%0aVisit [[https://discordapp.com/developers/applications/|Discord Dev]],after, click New Application.(Remember CLIENT ID) %0a%0aClick your New Application, click add bot. Get invite link from OAuth2. %0a%0aIf you readed the guide of API, please keep properly token.%0a%0a $doas vi config.example.yml%0a%0aAnd Change:%0a%0a Telegram:%0a Disable: false%0a%0a IRC:%0a Disable: false%0a%0aIt will able Telegram and IRC. Change the following content is taken from the source file:%0a%0aIRC:%0a bot:%0a server: irc.libera.chat%0a nick: "SuzerainBot" %0a userName: "SuzerainBot"%0a realName: "SuzerainBot"%0a channels: ["#hi", "#ircnow"] %0a sasl: true %0a sasl_password: "Nickname Passwd"%0a%0aIt will set a bot nickname called SuzerainBot running on Libera and will auto join #hi,#ircnow channels use password Nickname Passwd for login.%0a%0aThe configuration methods for Telegram and Discord are also the same, but please be careful '''not''' to configure Telegram Proxy. And '''DO NOT''' change anything of QQ, you can't running true at now.%0a%0aExample:%0a Telegram:%0a disabled: false %0a bot:%0a name: "SuzerainBot" %0a token: "123456789:q234fipjfjaewkflASDFASjaslkdf" %0a timeout: 30 %0a limit: 100 %0a%0a Discord:%0a disabled: false %0a bot:%0a token: "ODk0NzYyNDU0NjkxNzc0NDY0.YVuueQ.t9xUJCw_tWs1iv82pCbaht8KFSY"%0a options:%0a nickStyle: nickname %0a useProxyURL: false %0a relayEmoji: false #for save system resources, not forward emoji pictures, only forward the corresponding emoji%0a%0a!!! Group Configuration %0aAfter setting the basic information of the robot correctly, we need specify which groups/channels the bot will work in.%0a%0aSearch groups: on config.yml.%0a%0aUsage:%0a irc/#Channel%0a telegram/-Group ID%0a discord/Channel ID '''NOT''' Server ID%0a%0aExample:%0a - ['irc/#hi', 'telegram/-12345678']%0a%0aIt will enable a bridge from irc channel #hi to a Telegram Group of id is 12345678.%0a%0a!! Running Bot%0awhen you've done all the work, please:%0a $cd ~%0a $cd ~/LilyWhiteBot/%0a $doas mv config.example.yml config.yml%0a $doas npm install%0a $doas node main.js%0a%0aBy now, it should have started working. Congratulate!
+time=1646017184
+author:1646017184=suzerain
+diff:1646017184:1646017168:=97c97%0a%3c $cd ~/LilyWhiteBot/%0a---%0a> $cd ~/LilyWhitBot/%0a
+host:1646017184=114.37.148.234
+author:1646017168=suzerain
+diff:1646017168:1645970825:=1c1%0a%3c !!Why is LilyWhiteBot?%0a---%0a> !!Why is LiliwhiteBot?%0a98d97%0a%3c $doas mv config.example.yml config.yml%0a
+host:1646017168=114.37.148.234
+author:1645970825=suzerain
+diff:1645970825:1645969935:=59,101c59%0a%3c The configuration methods for Telegram and Discord are also the same, but please be careful '''not''' to configure Telegram Proxy. And '''DO NOT''' change anything of QQ, you can't running true at now.%0a%3c %0a%3c Example:%0a%3c Telegram:%0a%3c disabled: false %0a%3c bot:%0a%3c name: "SuzerainBot" %0a%3c token: "123456789:q234fipjfjaewkflASDFASjaslkdf" %0a%3c timeout: 30 %0a%3c limit: 100 %0a%3c %0a%3c Discord:%0a%3c disabled: false %0a%3c bot:%0a%3c token: "ODk0NzYyNDU0NjkxNzc0NDY0.YVuueQ.t9xUJCw_tWs1iv82pCbaht8KFSY"%0a%3c options:%0a%3c nickStyle: nickname %0a%3c useProxyURL: false %0a%3c relayEmoji: false #for save system resources, not forward emoji pictures, only forward the corresponding emoji%0a%3c %0a%3c !!! Group Configuration %0a%3c After setting the basic information of the robot correctly, we need specify which groups/channels the bot will work in.%0a%3c %0a%3c Search groups: on config.yml.%0a%3c %0a%3c Usage:%0a%3c irc/#Channel%0a%3c telegram/-Group ID%0a%3c discord/Channel ID '''NOT''' Server ID%0a%3c %0a%3c Example:%0a%3c - ['irc/#hi', 'telegram/-12345678']%0a%3c %0a%3c It will enable a bridge from irc channel #hi to a Telegram Group of id is 12345678.%0a%3c %0a%3c !! Running Bot%0a%3c when you've done all the work, please:%0a%3c $cd ~%0a%3c $cd ~/LilyWhitBot/%0a%3c $doas npm install%0a%3c $doas node main.js%0a%3c %0a%3c By now, it should have started working. Congratulate!%0a\ No newline at end of file%0a---%0a> The configuration methods for Telegram and Discord are also the same, but please be careful '''not''' to configure Telegram Proxy. And '''DO NOT''' change anything of QQ, you can't running true at now.%0a\ No newline at end of file%0a
+host:1645970825=114.37.148.234
+author:1645969935=suzerain
+diff:1645969935:1645969872:=59c59%0a%3c The configuration methods for Telegram and Discord are also the same, but please be careful '''not''' to configure Telegram Proxy. And '''DO NOT''' change anything of QQ, you can't running true at now.%0a\ No newline at end of file%0a---%0a> The configuration methods for Telegram and Discord are also the same, but please be careful '''not''' to configure Telegram Proxy. And '''DO NOT''' change any thing of QQ, you can't running true at now.%0a\ No newline at end of file%0a
+host:1645969935=114.37.148.234
+author:1645969872=suzerain
+diff:1645969872:1645968671:=33,34c33,34%0a%3c If you readed the guide of API, please keep properly token.%0a%3c %0a---%0a> If you readed the guide of API, please keep properly Key.%0a> %0a57,59c57%0a%3c It will set a bot nickname called SuzerainBot running on Libera and will auto join #hi,#ircnow channels use password Nickname Passwd for login.%0a%3c %0a%3c The configuration methods for Telegram and Discord are also the same, but please be careful '''not''' to configure Telegram Proxy. And '''DO NOT''' change any thing of QQ, you can't running true at now.%0a\ No newline at end of file%0a---%0a> It will set a bot nickname called SuzerainBot running on Libera and will auto join #hi,#ircnow channels use password Nickname Passwd for login.%0a\ No newline at end of file%0a
+host:1645969872=114.37.148.234
+author:1645968671=suzerain
+diff:1645968671:1645968628:=39a40%0a> %0a42a44%0a> %0a
+host:1645968671=114.37.148.234
+author:1645968628=suzerain
+diff:1645968628:1645968595:=29c29%0a%3c Visit [[https://discordapp.com/developers/applications/|Discord Dev]],after, click New Application.(Remember CLIENT ID) %0a---%0a> Visit [[Discord Dev|https://discordapp.com/developers/applications/]],after, click New Application.(Remember CLIENT ID) %0a
+host:1645968628=114.37.148.234
+author:1645968595=suzerain
+diff:1645968595:1645968183:=18c18%0a%3c After you had download, change the bot config.%0a---%0a> Before you had download, change the bot config.%0a
+host:1645968595=114.37.148.234
+author:1645968183=suzerain
+diff:1645968183:1645958445:=28,59d27%0a%3c !!! Branch - Discord Bot API%0a%3c Visit [[Discord Dev|https://discordapp.com/developers/applications/]],after, click New Application.(Remember CLIENT ID) %0a%3c %0a%3c Click your New Application, click add bot. Get invite link from OAuth2. %0a%3c %0a%3c If you readed the guide of API, please keep properly Key.%0a%3c %0a%3c $doas vi config.example.yml%0a%3c %0a%3c And Change:%0a%3c %0a%3c Telegram:%0a%3c %0a%3c Disable: false%0a%3c %0a%3c IRC:%0a%3c %0a%3c Disable: false%0a%3c %0a%3c It will able Telegram and IRC. Change the following content is taken from the source file:%0a%3c %0a%3c IRC:%0a%3c bot:%0a%3c server: irc.libera.chat%0a%3c nick: "SuzerainBot" %0a%3c userName: "SuzerainBot"%0a%3c realName: "SuzerainBot"%0a%3c channels: ["#hi", "#ircnow"] %0a%3c sasl: true %0a%3c sasl_password: "Nickname Passwd"%0a%3c %0a%3c It will set a bot nickname called SuzerainBot running on Libera and will auto join #hi,#ircnow channels use password Nickname Passwd for login.%0a\ No newline at end of file%0a
+host:1645968183=114.37.148.234
+author:1645958445=suzerain
+diff:1645958445:1645958239:=24,26c24%0a%3c Search @BotFather on your Telegram APP, send /start before you did it. %0a%3c %0a%3c You will recevie a message about how to use from BotFather. Send /newbot to create a new bot on Telegram.%0a---%0a> Search @BotFather on your Telegram APP, %0a
+host:1645958445=114.37.148.234
+author:1645958239=suzerain
+diff:1645958239:1645957859:=13,14c13,14%0a%3c It will make a dir called LilyWhiteBot (I'm forking it to make it easily to config.) on your home dir.%0a%3c %0a---%0a> It will make a dir called LilyWhiteBot on your home dir.%0a> %0a16,17c16,17%0a%3c $git clone https://github.com/fossifer/LilyWhiteBot.git (I'm forking it to make it easily to config.)%0a%3c %0a---%0a> $git clone https://github.com/fossifer/LilyWhiteBot.git%0a> %0a22,25d21%0a%3c %0a%3c !!! Branch - Telegram Bot API%0a%3c Search @BotFather on your Telegram APP, %0a%3c %0a
+host:1645958239=114.37.148.234
+author:1645957859=suzerain
+diff:1645957859:1645957274:=7,8c7%0a%3c - Vi support UTF-8%0a%3c %0a---%0a> %0a18,21d16%0a%3c Before you had download, change the bot config.%0a%3c %0a%3c $cd LilyWhiteBot%0a%3c $vi config.example.yml%0a
+host:1645957859=114.37.148.234
+author:1645957274=suzerain
+diff:1645957274:1645957274:=1,16d0%0a%3c !!Why is LiliwhiteBot?%0a%3c - It's open.%0a%3c - Support IRC, Telegram, Discord and Tencent QQ%0a%3c !!Prerequisites%0a%3c - Node.js 14%0a%3c - Git%0a%3c %0a%3c !!Configuration steps%0a%3c $cd ~%0a%3c $mkdir LilyWhiteBot%0a%3c %0a%3c It will make a dir called LilyWhiteBot on your home dir.%0a%3c %0a%3c $cd ~/LilyWhiteBot%0a%3c $git clone https://github.com/fossifer/LilyWhiteBot.git%0a%3c %0a
+host:1645957274=114.37.148.234
blob - /dev/null
blob + 0c1c438008d84f9ecbe96bf294117c5c8cef2e43 (mode 644)
--- /dev/null
+++ wiki.d/Openbsd.Locale
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Raspbian Chromium/78.0.3904.108 Chrome/78.0.3904.108 Safari/537.36
+author=baytuch
+charset=UTF-8
+csum=
+ctime=1641993839
+host=2001:bc8:1830:1533::1
+name=Openbsd.Locale
+rev=1
+targets=
+text=Set "en_US.UTF-8" locale for user env%0a%0aYou need set this lines to .profile file of your account:%0a%0a[@%0aexport LANG="en_US.UTF-8"%0aexport LC_ALL="en_US.UTF-8"%0a@]%0a%0a[@%0a$ locale %0aLANG=en_US.UTF-8%0aLC_COLLATE="en_US.UTF-8"%0aLC_CTYPE="en_US.UTF-8"%0aLC_MONETARY="en_US.UTF-8"%0aLC_NUMERIC="en_US.UTF-8"%0aLC_TIME="en_US.UTF-8"%0aLC_MESSAGES="en_US.UTF-8"%0aLC_ALL=en_US.UTF-8%0a@]
+time=1641993839
+author:1641993839=baytuch
+diff:1641993839:1641993839:=1,20d0%0a%3c Set "en_US.UTF-8" locale for user env%0a%3c %0a%3c You need set this lines to .profile file of your account:%0a%3c %0a%3c [@%0a%3c export LANG="en_US.UTF-8"%0a%3c export LC_ALL="en_US.UTF-8"%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ locale %0a%3c LANG=en_US.UTF-8%0a%3c LC_COLLATE="en_US.UTF-8"%0a%3c LC_CTYPE="en_US.UTF-8"%0a%3c LC_MONETARY="en_US.UTF-8"%0a%3c LC_NUMERIC="en_US.UTF-8"%0a%3c LC_TIME="en_US.UTF-8"%0a%3c LC_MESSAGES="en_US.UTF-8"%0a%3c LC_ALL=en_US.UTF-8%0a%3c @]%0a\ No newline at end of file%0a
+host:1641993839=2001:bc8:1830:1533::1
blob - /dev/null
blob + e25b8e5c88e60f3a23cbb518085a9f4e77bd2990 (mode 644)
--- /dev/null
+++ wiki.d/Openbsd.Recordaudio
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:93.0) Gecko/20100101 Firefox/93.0
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1640179443
+host=125.231.26.67
+name=Openbsd.Recordaudio
+rev=1
+targets=
+text=on openbsd it's necessary to change a sysctl to enable audio recording:%0a%0a[@%0a$ doas sysctl.kern.audio.record=1%0a@]%0a%0ain /etc/sysctl.conf:%0a%0a[@%0akern.audio.record=1%0a@]
+time=1640179443
+author:1640179443=jrmu
+diff:1640179443:1640179443:=1,11d0%0a%3c on openbsd it's necessary to change a sysctl to enable audio recording:%0a%3c %0a%3c [@%0a%3c $ doas sysctl.kern.audio.record=1%0a%3c @]%0a%3c %0a%3c in /etc/sysctl.conf:%0a%3c %0a%3c [@%0a%3c kern.audio.record=1%0a%3c @]%0a\ No newline at end of file%0a
+host:1640179443=125.231.26.67
blob - /dev/null
blob + 468975566061de0cb1646e04c6b23ebb2361b998 (mode 644)
--- /dev/null
+++ wiki.d/Openbsd.U9fs
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 6.1; rv:68.0) Gecko/20100101 Firefox/68.0 SeaMonkey/2.53.10.2
+author=mkf
+charset=UTF-8
+csum=
+ctime=1642320719
+host=188.210.105.217
+name=Openbsd.U9fs
+rev=7
+targets=
+text=there is a package on openbsd ports. it's outdated. don't use it.%0a%0a[@%0a$ git clone https://github.com/unofficial-mirror/u9fs%0a$ cd u9fs%0a@]%0a%0aapply this patch:%0a[@%0adiff --git a/u9fs.c b/u9fs.c%0aindex ea0391c..48e1e21 100644%0a--- a/u9fs.c%0a+++ b/u9fs.c%0a@@ -152,9 +152,9 @@ char* root;%0a User* none;%0a %0a Auth *authmethods[] = { /* first is default */%0a+ &authnone,%0a &authrhosts,%0a &authp9any,%0a- &authnone,%0a };%0a %0a Auth *auth;%0a@]%0a%0aand build it:%0a[@%0a$ make%0a$ doas make install%0a@]%0a%0aand add this to /etc/inetd.conf:%0a%0a[@%0a564 stream tcp nowait root /usr/local/bin/u9fs -l /var/log/u9fs.log /path/to/share%0a@]%0a%0athis runs a 9p server on port 564 (default) and reads from @@/path/to/share@@.%0anow enable and run inetd:%0a[@%0a$ doas rcctl enable inetd%0a$ doas rcctl start inetd%0a@]%0a
+time=1642357427
+author:1642357427=mkf
+diff:1642357427:1642321756:=40,44d39%0a%3c now enable and run inetd:%0a%3c [@%0a%3c $ doas rcctl enable inetd%0a%3c $ doas rcctl start inetd%0a%3c @]%0a
+host:1642357427=188.210.105.217
+author:1642321756=mkf
+csum:1642321756=-a none doesn't seem to work without -D
+diff:1642321756:1642321382:=5a6,7%0a> $ make%0a> $ doas make install%0a7,8c9,10%0a%3c %0a%3c apply this patch:%0a---%0a> and add this to /etc/inetd.conf:%0a> %0a10,24c12%0a%3c diff --git a/u9fs.c b/u9fs.c%0a%3c index ea0391c..48e1e21 100644%0a%3c --- a/u9fs.c%0a%3c +++ b/u9fs.c%0a%3c @@ -152,9 +152,9 @@ char* root;%0a%3c User* none;%0a%3c %0a%3c Auth *authmethods[] = { /* first is default */%0a%3c + &authnone,%0a%3c &authrhosts,%0a%3c &authp9any,%0a%3c - &authnone,%0a%3c };%0a%3c %0a%3c Auth *auth;%0a---%0a> 564 stream tcp nowait root /usr/local/bin/u9fs -D -l /var/log/u9fs.log -a none /path/to/share%0a27,38d14%0a%3c and build it:%0a%3c [@%0a%3c $ make%0a%3c $ doas make install%0a%3c @]%0a%3c %0a%3c and add this to /etc/inetd.conf:%0a%3c %0a%3c [@%0a%3c 564 stream tcp nowait root /usr/local/bin/u9fs -l /var/log/u9fs.log /path/to/share%0a%3c @]%0a%3c %0a39a16,18%0a> enables debugging on logs (needs it?) and puts longs on /var/log/u9fs.log%0a> however, this is not very secure because of -D.%0a> but it should be fine for public sites.%0a\ No newline at end of file%0a
+host:1642321756=188.210.122.8
+author:1642321382=mkf
+diff:1642321382:1642321024:=16,17c16%0a%3c enables debugging on logs (needs it?) and puts longs on /var/log/u9fs.log%0a%3c however, this is not very secure because of -D.%0a---%0a> howver, this is not very secure (because of -D).%0a
+host:1642321382=188.210.122.8
+author:1642321024=mkf
+diff:1642321024:1642320929:=10d9%0a%3c %0a15,17c14,15%0a%3c this runs a 9p server on port 564 (default) and reads from @@/path/to/share@@.%0a%3c howver, this is not very secure (because of -D).%0a%3c but it should be fine for public sites.%0a\ No newline at end of file%0a---%0a> this runs a 9p server on port 564 (default) and reads from @@/path/to/share@@. change it.%0a> howver, this is not very secure (because of -D)%0a\ No newline at end of file%0a
+host:1642321024=188.210.122.8
+author:1642320929=mkf
+diff:1642320929:1642320755:=13,15c13,14%0a%3c %0a%3c this runs a 9p server on port 564 (default) and reads from @@/path/to/share@@. change it.%0a%3c howver, this is not very secure (because of -D)%0a\ No newline at end of file%0a---%0a> this runs a 9p server on port 564 (default) and reads from @@/path/to/share@@. change it. %0a> not very secure.%0a\ No newline at end of file%0a
+host:1642320929=188.210.122.8
+author:1642320755=mkf
+diff:1642320755:1642320719:=
+host:1642320755=188.210.122.8
+author:1642320719=mkf
+diff:1642320719:1642320719:=1,14d0%0a%3c there is a package on openbsd ports. it's outdated. don't use it.%0a%3c %0a%3c [@%0a%3c $ git clone https://github.com/unofficial-mirror/u9fs%0a%3c $ cd u9fs%0a%3c $ make%0a%3c $ doas make install%0a%3c @]%0a%3c and add this to /etc/inetd.conf:%0a%3c [@%0a%3c 564 stream tcp nowait root /usr/local/bin/u9fs -D -l /var/log/u9fs.log -a none /path/to/share%0a%3c @]%0a%3c this runs a 9p server on port 564 (default) and reads from @@/path/to/share@@. change it. %0a%3c not very secure.%0a\ No newline at end of file%0a
+host:1642320719=188.210.122.8
blob - /dev/null
blob + 65316854af9c8d4be2bc829817f2e4a9c853e222 (mode 644)
--- /dev/null
+++ wiki.d/Openbsd.Wesnothd
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 6.1; rv:68.0) Gecko/20100101 Firefox/68.0 SeaMonkey/2.53.10.2
+author=mkf
+charset=UTF-8
+csum=Wesnothd
+ctime=1645422710
+host=188.210.118.71
+name=Openbsd.Wesnothd
+rev=10
+targets=
+text=Wesnoth is a open source fantasy, turn-based strategy game.%0aThis guide follows installation and configuration of game server (wesnothd)%0a%0a!! Installation%0aThis will install wesnoth itself and other wesnoth-related deamons such as wesnothd.%0a[@%0a$ doas pkg_add wesnoth%0a@]%0a%0aAfterwards, enable and start wesnoth deamon and set required flags:%0a[@%0a$ doas rcctl enable wesnothd%0a$ doas rcctl set wesnothd flags -d -c /etc/wesnothd.conf%0a$ doas rcctl start wesnothd%0a@]%0a%0aIf you want to host your server on some port besides default (15000), change the second line to:%0a[@%0a$ doas rcctl set wesnothd flags -d -p 12345 -c /etc/wesnothd.conf %0a@]%0a%0a!! Configuration%0aGenerally, wesnothd should work without any configuration. \\%0aHowever, you might change these following options on /etc/wesnothd.conf \\%0aFor more options please see wesnothd(6) manual page. \\%0aGenerally, wesnothd config looks like this:%0a[@%0a[tag]%0a key="value"%0a[/tag]%0a@]%0a%0a!!! Global%0athis is the main tag. these options might be on interest for you. remove or change ones you don't want.%0a[@%0a[global]%0a connections_allowed="8"%0a passwd="WhatCouldPossiblyGoWrong"%0a versions_accepted="1.16"%0a[/global]%0a@]%0a@@connections_allowed@@ sets maximum number of clients (players) connected to server. \\%0a@@passwd@@ is password for doing admin opertions, such as kicking somebody.%0aand @@versions_accepted@@ is used for limiting client versions you are going to allow on this server.%0a%0a!! Redirect and proxy%0aRedirect tag is used for redirecting users of one server to another.%0ait takes following arguments:%0a[@%0a[redirect]%0a host="server.wesnoth.org"%0a port="1500"%0a version="1.16"%0a[/redirect]%0a@]%0a%0aYou could also setup a relay wesnothd, which is acts as middle man between your server and other server. \\%0aIt takes same arugments as @@[redirect]@@ but with @@[proxy]@@ tag instead.
+time=1645424928
+author:1645424928=mkf
+csum:1645424928=Wesnothd
+diff:1645424928:1645424900:minor=10c10%0a%3c Afterwards, enable and start wesnoth deamon and set required flags:%0a---%0a> Afterwards, enabled and start wesnoth deamon and set required flags:%0a
+host:1645424928=188.210.118.71
+author:1645424900=mkf
+csum:1645424900=Wesnothd
+diff:1645424900:1645424878:=10c10%0a%3c Afterwards, enabled and start wesnoth deamon and set required flags:%0a---%0a> Afterwards, enabled and start wesnoth deamon and set required %0a
+host:1645424900=188.210.118.71
+author:1645424878=mkf
+csum:1645424878=wesnothd
+diff:1645424878:1645424837:=34c34%0a%3c this is the main tag. these options might be on interest for you. remove or change ones you don't want.%0a---%0a> this is the main tag. these options might be on interest for you. remove ones you don't want.%0a37,39c37,39%0a%3c connections_allowed="8"%0a%3c passwd="WhatCouldPossiblyGoWrong"%0a%3c versions_accepted="1.16"%0a---%0a> connections_allowed="8"%0a> passwd="WhatCouldPossiblyGoWrong"%0a> versions_accepted="1.16"%0a51,53c51,53%0a%3c host="server.wesnoth.org"%0a%3c port="1500"%0a%3c version="1.16"%0a---%0a> host="server.wesnoth.org"%0a> port="1500"%0a> version="1.16"%0a
+host:1645424878=188.210.118.71
+author:1645424837=mkf
+csum:1645424837=wesnoth
+diff:1645424837:1645424518:=17,21d16%0a%3c If you want to host your server on some port besides default (15000), change the second line to:%0a%3c [@%0a%3c $ doas rcctl set wesnothd flags -d -p 12345 -c /etc/wesnothd.conf %0a%3c @]%0a%3c %0a42,45d36%0a%3c @@connections_allowed@@ sets maximum number of clients (players) connected to server. \\%0a%3c @@passwd@@ is password for doing admin opertions, such as kicking somebody.%0a%3c and @@versions_accepted@@ is used for limiting client versions you are going to allow on this server.%0a%3c %0a57,58c48,50%0a%3c You could also setup a relay wesnothd, which is acts as middle man between your server and other server. \\%0a%3c It takes same arugments as @@[redirect]@@ but with @@[proxy]@@ tag instead.%0a\ No newline at end of file%0a---%0a> You could also setup a relay wesnothd, which is acts as middle man between your server and other server.%0a> %0a> It takes%0a\ No newline at end of file%0a
+host:1645424837=188.210.118.71
+author:1645424518=mkf
+csum:1645424518=wesnot
+diff:1645424518:1645424082:=18,21c18,22%0a%3c Generally, wesnothd should work without any configuration. \\%0a%3c However, you might change these following options on /etc/wesnothd.conf \\%0a%3c For more options please see wesnothd(6) manual page. \\%0a%3c Generally, wesnothd config looks like this:%0a---%0a> Generally, wesnothd should work without any configuration.%0a> However, you might change these following options on /etc/wesnothd.conf%0a> For more options please see wesnothd(6) manual page.%0a> %0a> Generally, wesnothd config looks like this.%0a37,40c38%0a%3c !! Redirect and proxy%0a%3c Redirect tag is used for redirecting users of one server to another.%0a%3c it takes following arguments:%0a%3c [@%0a---%0a> !! Redirect%0a42,50c40,42%0a%3c host="server.wesnoth.org"%0a%3c port="1500"%0a%3c version="1.16"%0a%3c [/redirect]%0a%3c @]%0a%3c %0a%3c You could also setup a relay wesnothd, which is acts as middle man between your server and other server.%0a%3c %0a%3c It takes %0a\ No newline at end of file%0a---%0a> %0a> !!! Proxy%0a> [proxy]%0a\ No newline at end of file%0a
+host:1645424518=188.210.118.71
+author:1645424082=mkf
+csum:1645424082=wesno
+diff:1645424082:1645423704:=13c13%0a%3c $ doas rcctl set wesnothd flags -d -c /etc/wesnothd.conf%0a---%0a> $ doas rcctl set flags wesnothd -d -c /etc/wesnothd.conf%0a19,22c19,20%0a%3c However, you might change these following options on /etc/wesnothd.conf%0a%3c For more options please see wesnothd(6) manual page.%0a%3c %0a%3c Generally, wesnothd config looks like this.%0a---%0a> However, you might change these following options or see more options on wesnothd(6) manual page.%0a> generally, wesnothd config looks like this.%0a
+host:1645424082=188.210.118.71
+author:1645423704=mkf
+csum:1645423704=wesn
+diff:1645423704:1645423652:=28c28%0a%3c this is the main tag. these options might be on interest for you. remove ones you don't want.%0a---%0a> @@[global]@@ is the main tag. these options might be on interest for you. remove ones you don't want.%0a34c34%0a%3c [/global]%0a---%0a> [/global%0a
+host:1645423704=188.210.118.71
+author:1645423652=mkf
+csum:1645423652=wes
+diff:1645423652:1645423016:=13c13%0a%3c $ doas rcctl set flags wesnothd -d -c /etc/wesnothd.conf%0a---%0a> $ doas rcctl set flags wesnothd ?%0a18,36c18,20%0a%3c Generally, wesnothd should work without any configuration.%0a%3c However, you might change these following options or see more options on wesnothd(6) manual page.%0a%3c generally, wesnothd config looks like this.%0a%3c [@%0a%3c [tag]%0a%3c key="value"%0a%3c [/tag]%0a%3c @]%0a%3c %0a%3c !!! Global%0a%3c @@[global]@@ is the main tag. these options might be on interest for you. remove ones you don't want.%0a%3c [@%0a%3c [global]%0a%3c connections_allowed="8"%0a%3c passwd="WhatCouldPossiblyGoWrong"%0a%3c versions_accepted="1.16"%0a%3c [/global%0a%3c @]%0a%3c !! Redirect%0a---%0a> connections_allowed%0a> passwd%0a> versions_accepted%0a38,39d21%0a%3c %0a%3c !!! Proxy%0a
+host:1645423652=188.210.118.71
+author:1645423016=mkf
+csum:1645423016=we
+diff:1645423016:1645422710:=5d4%0a%3c This will install wesnoth itself and other wesnoth-related deamons such as wesnothd.%0a9,22d7%0a%3c %0a%3c Afterwards, enabled and start wesnoth deamon and set required %0a%3c [@%0a%3c $ doas rcctl enable wesnothd%0a%3c $ doas rcctl set flags wesnothd ?%0a%3c $ doas rcctl start wesnothd%0a%3c @]%0a%3c %0a%3c !! Configuration%0a%3c connections_allowed%0a%3c passwd%0a%3c versions_accepted%0a%3c [redirect]%0a%3c [proxy]%0a\ No newline at end of file%0a
+host:1645423016=188.210.118.71
+author:1645422710=mkf
+csum:1645422710=w
+diff:1645422710:1645422710:=1,7d0%0a%3c Wesnoth is a open source fantasy, turn-based strategy game.%0a%3c This guide follows installation and configuration of game server (wesnothd)%0a%3c %0a%3c !! Installation%0a%3c [@%0a%3c $ doas pkg_add wesnoth%0a%3c @]%0a
+host:1645422710=188.210.118.71
blob - /dev/null
blob + 057715a391ef6b40942f4b6dddc6d3dea1db708a (mode 644)
--- /dev/null
+++ wiki.d/Openbsd.Wifi
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:93.0) Gecko/20100101 Firefox/93.0
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1640184646
+host=125.231.26.67
+name=Openbsd.Wifi
+rev=2
+targets=
+text=In /etc/hostname.if0:%0a%0a[@%0anwid ACCESSPOINTNAME wpakey 1234567890%0adhcp%0a@]%0a%0aFor multiple access points, you should instead use:%0a%0a[@%0ajoin ACCESSPOINTNAME wpakey 1234567890%0adhcp%0a@]%0a%0aReplace @@ACCESSPOINTNAME@@ with the real name and replace @@1234567890@@ with the password.%0a
+time=1640185166
+author:1640185166=jrmu
+diff:1640185166:1640184646:=2,8d1%0a%3c %0a%3c [@%0a%3c nwid ACCESSPOINTNAME wpakey 1234567890%0a%3c dhcp%0a%3c @]%0a%3c %0a%3c For multiple access points, you should instead use:%0a
+host:1640185166=125.231.26.67
+author:1640184646=jrmu
+diff:1640184646:1640184646:=1,8d0%0a%3c In /etc/hostname.if0:%0a%3c %0a%3c [@%0a%3c join ACCESSPOINTNAME wpakey 1234567890%0a%3c dhcp%0a%3c @]%0a%3c %0a%3c Replace @@ACCESSPOINTNAME@@ with the real name and replace @@1234567890@@ with the password.%0a
+host:1640184646=125.231.26.67
blob - /dev/null
blob + 9dba67eb743dcb91d3556bec0c82d7cb684e1fa5 (mode 644)
--- /dev/null
+++ wiki.d/Openbsd.Xonotic
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 6.1; rv:68.0) Gecko/20100101 Firefox/68.0 SeaMonkey/2.53.10.2
+author=mkf
+charset=UTF-8
+csum=A xonotic server has apperad! pt.2
+ctime=1645342983
+host=91.185.149.127
+name=Openbsd.Xonotic
+rev=2
+targets=
+text=Xonotic is a opensource first-person shooter, which was forked from Nexutiz, which was based on quake.%0a%0a!! Installation%0aInstallation is easy and doesn't need much hardware power nor packages.%0a[@%0a$ doas pkg_add xonotic-server%0a@]%0a%0a!! Configuration%0aCopy server config to your home directory%0a[@%0a$ cp /usr/local/share/examples/xonotic/server.cfg ~%0a@]%0a%0aYou might want to change following parts:%0a%0aIf you want to hide your server from serverlist%0a[@%0asv_public 0%0a@]%0a%0aIf you want to set a name for your server%0a[@%0ahostname yetanotherxonoticserver%0a@]%0a%0aIf you want to set a maximum number of players for this server%0a[@%0amaxplayers 4%0a@]%0a%0aYou can see more info and examples on configuration of server at @@/usr/local/share/examples/xonotic/server.cfg@@.%0a!! Running%0a[@%0a$ xonotic-dedicated +serverconfig ~/server.cfg%0a@]%0a%0aAnd it has started. voila!
+time=1645343002
+author:1645343002=mkf
+csum:1645343002=A xonotic server has apperad! pt.2
+diff:1645343002:1645342983:=37d36%0a%3c %0a
+host:1645343002=91.185.149.127
+author:1645342983=mkf
+csum:1645342983=A xonotic server has apperad!
+diff:1645342983:1645342983:=1,37d0%0a%3c Xonotic is a opensource first-person shooter, which was forked from Nexutiz, which was based on quake.%0a%3c %0a%3c !! Installation%0a%3c Installation is easy and doesn't need much hardware power nor packages.%0a%3c [@%0a%3c $ doas pkg_add xonotic-server%0a%3c @]%0a%3c %0a%3c !! Configuration%0a%3c Copy server config to your home directory%0a%3c [@%0a%3c $ cp /usr/local/share/examples/xonotic/server.cfg ~%0a%3c @]%0a%3c %0a%3c You might want to change following parts:%0a%3c %0a%3c If you want to hide your server from serverlist%0a%3c [@%0a%3c sv_public 0%0a%3c @]%0a%3c %0a%3c If you want to set a name for your server%0a%3c [@%0a%3c hostname yetanotherxonoticserver%0a%3c @]%0a%3c %0a%3c If you want to set a maximum number of players for this server%0a%3c [@%0a%3c maxplayers 4%0a%3c @]%0a%3c %0a%3c You can see more info and examples on configuration of server at @@/usr/local/share/examples/xonotic/server.cfg@@.%0a%3c !! Running%0a%3c [@%0a%3c $ xonotic-dedicated +serverconfig ~/server.cfg%0a%3c @]%0a%3c And it has started. voila!%0a\ No newline at end of file%0a
+host:1645342983=91.185.149.127
blob - /dev/null
blob + 0924f52f06f374855a77fd58c8dfb31afbbc5ba8 (mode 644)
--- /dev/null
+++ wiki.d/Openssl.Encryptfile
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1640272832
+host=38.87.162.8
+name=Openssl.Encryptfile
+rev=5
+targets=
+text='''WARNING''': Version changes in openssl may not be compatible! Data may not be recoverable without the identical version of openssl!%0a%0aAdd this to the bottom of @@~/.profile@@:%0a%0a[@%0a# Usage: $ encryptfile file > file.enc %0afunction encryptfile {%0a openssl aes-256-cbc -a -in $1%0a}%0a# Usage: $ decryptfile file.enc > file %0afunction decryptfile {%0a openssl aes-256-cbc -d -a -in $1%0a}%0afunction encryptfile-ssh {%0a echo "Usage: $ encryptfile-ssh folder/ username@example.com"%0a echo "Type ctrl+c to abort, enter to continue"%0a read $cancel%0a tar -cvzf - $1 | openssl aes-256-cbc | ssh $2 "cat > file.enc"%0a}%0afunction decryptfile-ssh {%0a echo "Usage: $ decryptfile-ssh username@example.com file"%0a echo "Type ctrl+c to abort, enter to continue"%0a read $cancel%0a ssh $1 "cat $2" | openssl aes-256-cbc -d | tar -xvzf -%0a}%0a@]%0a%0aSource the file:%0a%0a[@%0a$ . ~/.profile%0a@]%0a%0aEncrypt and decrypt:%0a%0a[@%0a$ encryptfile file.tgz > file.tgz.enc%0a$ decryptfile file.tgz.enc > file.tgz%0a$ encryptfile-ssh folder/ username@example.com%0a$ decryptfile-ssh username@example.com file.enc%0a@]%0a
+time=1643794164
+author:1643794164=jrmu
+diff:1643794164:1643793856:=37c37%0a%3c $ encryptfile file.tgz > file.tgz.enc%0a---%0a> $ encryptfile file.tgz%0a39,40d38%0a%3c $ encryptfile-ssh folder/ username@example.com%0a%3c $ decryptfile-ssh username@example.com file.enc%0a
+host:1643794164=38.87.162.8
+author:1643793856=jrmu
+diff:1643793856:1640305774:=6d5%0a%3c # Usage: $ encryptfile file > file.enc %0a8c7%0a%3c openssl aes-256-cbc -a -in $1%0a---%0a> openssl aes-256-cbc -a -in $1 -out $1.txt%0a10d8%0a%3c # Usage: $ decryptfile file.enc > file %0a12c10%0a%3c openssl aes-256-cbc -d -a -in $1%0a---%0a> openssl aes-256-cbc -d -a -in $1.txt -out $1%0a14,25d11%0a%3c function encryptfile-ssh {%0a%3c echo "Usage: $ encryptfile-ssh folder/ username@example.com"%0a%3c echo "Type ctrl+c to abort, enter to continue"%0a%3c read $cancel%0a%3c tar -cvzf - $1 | openssl aes-256-cbc | ssh $2 "cat > file.enc"%0a%3c }%0a%3c function decryptfile-ssh {%0a%3c echo "Usage: $ decryptfile-ssh username@example.com file"%0a%3c echo "Type ctrl+c to abort, enter to continue"%0a%3c read $cancel%0a%3c ssh $1 "cat $2" | openssl aes-256-cbc -d | tar -xvzf -%0a%3c }%0a38c24%0a%3c $ decryptfile file.tgz.enc > file.tgz%0a---%0a> $ decryptfile file.tgz%0a
+host:1643793856=38.87.162.8
+author:1640305774=jrmu
+diff:1640305774:1640272894:=7a8%0a> ~%0a25c26%0a%3c @]%0a---%0a> @]%0a\ No newline at end of file%0a
+host:1640305774=125.231.38.154
+author:1640272894=jrmu
+diff:1640272894:1640272832:=7c7%0a%3c openssl aes-256-cbc -a -in $1 -out $1.txt%0a---%0a> openssl aes-256-cbc -a -in $1 -out $1.asc%0a11c11%0a%3c openssl aes-256-cbc -d -a -in $1.txt -out $1%0a---%0a> openssl aes-256-cbc -d -a -in $1.asc > $1%0a
+host:1640272894=125.231.38.154
+author:1640272832=jrmu
+diff:1640272832:1640272832:=1,26d0%0a%3c '''WARNING''': Version changes in openssl may not be compatible! Data may not be recoverable without the identical version of openssl!%0a%3c %0a%3c Add this to the bottom of @@~/.profile@@:%0a%3c %0a%3c [@%0a%3c function encryptfile {%0a%3c openssl aes-256-cbc -a -in $1 -out $1.asc%0a%3c ~%0a%3c }%0a%3c function decryptfile {%0a%3c openssl aes-256-cbc -d -a -in $1.asc > $1%0a%3c }%0a%3c @]%0a%3c %0a%3c Source the file:%0a%3c %0a%3c [@%0a%3c $ . ~/.profile%0a%3c @]%0a%3c %0a%3c Encrypt and decrypt:%0a%3c %0a%3c [@%0a%3c $ encryptfile file.tgz%0a%3c $ decryptfile file.tgz%0a%3c @]%0a\ No newline at end of file%0a
+host:1640272832=125.231.38.154
blob - /dev/null
blob + 44a1a7ca1aca6b1198e6f72fb21ea95ba8a784ce (mode 644)
--- /dev/null
+++ wiki.d/Parec.RecentChanges
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:93.0) Gecko/20100101 Firefox/93.0
+charset=UTF-8
+ctime=1640156567
+host=125.231.26.67
+name=Parec.RecentChanges
+rev=1
+text=* [[Parec/Record]] . . . December 22, 2021, at 07:02 AM by [[~jrmu]]: [==]%0a
+time=1640156567
blob - /dev/null
blob + 966ec277d1268e1fafc1dde8be4c197acfc9ae18 (mode 644)
--- /dev/null
+++ wiki.d/Parec.Record
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:93.0) Gecko/20100101 Firefox/93.0
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1640156567
+host=125.231.26.67
+name=Parec.Record
+rev=1
+targets=
+text=on debian%0a%0a[@%0aparec -d alsa_output.pci-0000_00_1b.0.analog-stereo.monitor --file-format=wav audio1.wav &%0aparec -d alsa_input.pci-0000_00_1b.0.analog-stereo --file-format=wav audio2.wav &%0a@]
+time=1640156567
+author:1640156567=jrmu
+diff:1640156567:1640156567:=1,6d0%0a%3c on debian%0a%3c %0a%3c [@%0a%3c parec -d alsa_output.pci-0000_00_1b.0.analog-stereo.monitor --file-format=wav audio1.wav &%0a%3c parec -d alsa_input.pci-0000_00_1b.0.analog-stereo --file-format=wav audio2.wav &%0a%3c @]%0a\ No newline at end of file%0a
+host:1640156567=125.231.26.67
blob - /dev/null
blob + f1d74e925e4e5b204dfd0ed6ab9f69100e2997a7 (mode 644)
--- /dev/null
+++ wiki.d/Pkgadd.CheckUpdates
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
+author=pyr3x
+charset=UTF-8
+csum=
+ctime=1641008430
+host=24.97.51.2
+name=Pkgadd.CheckUpdates
+rev=7
+targets=
+text=(:title Checking for package updates via cron(8):)%0a%0aSimilar to syspatch(8) with the -c switch, the following script supports checking for updates to packages suitable for cron(8).%0a%0aThis script will run 'pkg_add -Uun' to determine which packages would have been updated and stores the result. It then removes packages starting with 'quirks' (a required package on OpenBSD) and determines how many remain. If there are no packages, return 0, otherwise, echo the package names and return 2. Returning 0 or 2 is significant because crontab(5) with the -n switch determines whether to send mail. Since we are likely to run this nightly, we do not want to flood our inbox with output from cron when there is no action to take. By exiting with a non-zero (2) exit status when there are packages, we can ensure we only get email if there are package updates. %0a%0a[@%0a#!/bin/ksh%0aPACKAGES=`/usr/sbin/pkg_add -Uun`%0aNOQUIRKS=`/bin/echo $PACKAGES | grep -e '^quirks' -v | /usr/bin/wc -l`%0aif [ "$NOQUIRKS" -eq "0" ]; then%0a /bin/echo "No package updates available%0a return 0%0aelse%0a /bin/echo $PACKAGES%0a return 2%0afi%0a@]%0a%0aSave the above script to '/usr/local/bin/pkg_update' and run the following commands for the proper user/group ownership and permissions.%0a%0a[@%0a$ doas chmod 755 /usr/local/bin/pkg_update%0a$ doas chown root:bin /usr/local/bin/pkg_update%0a@]%0a%0aWe now need to add it to root's crontab.%0a%0a[@%0a$ doas crontab -e%0a@]%0a%0aAt the bottom add the following line:%0a%0a[@%0a0 0 * * * -ns /usr/local/bin/pkg_update%0a@]%0a%0aNotice the -n switch to not mail on a successful run. We have purposefully setup the script to have a non-successful (non-zero) exit when there are no packages to update thus generating the email.%0a%0aYou may also opt to add this script to /etc/daily.local with the single line:%0a%0a[@%0a/usr/local/bin/pkg_update%0a@]%0a%0aHowever, it should be noted that this script is designed with return values for direct use in crontab. If being called from the /etc/daily script, you'll likely want to add some additional messages to be echoed either in the script directly or in /etc/daily.local.%0a%0aIt is highly recommended to setup a user account where root's email can be forwarded. See afterboot(8) section 'Mail aliases'.%0a
+time=1641011342
+title=Checking for package updates via cron(8)
+author:1641011342=pyr3x
+diff:1641011342:1641010666:=5,6c5,6%0a%3c This script will run 'pkg_add -Uun' to determine which packages would have been updated and stores the result. It then removes packages starting with 'quirks' (a required package on OpenBSD) and determines how many remain. If there are no packages, return 0, otherwise, echo the package names and return 2. Returning 0 or 2 is significant because crontab(5) with the -n switch determines whether to send mail. Since we are likely to run this nightly, we do not want to flood our inbox with output from cron when there is no action to take. By exiting with a non-zero (2) exit status when there are packages, we can ensure we only get email if there are package updates. %0a%3c %0a---%0a> This script will run 'pkg_add -Uun' to determine which packages would have been updated and stores the result. It then removes packages starting with 'quirks' (a required package on OpenBSD) and determines how many remain. If there are no packages, return 0, otherwise, echo the package names and return 1. Returning 0 or 1 is significant because crontab(5) with the -n switch determines whether to send mail. Since we are likely to run this nightly, we do not want to flood our inbox with output from cron when there is no action to take. By exiting with a non-zero (1) exit status when there are packages, we can ensure we only get email if there are package updates. %0a> %0a12d11%0a%3c /bin/echo "No package updates available%0a16c15%0a%3c return 2%0a---%0a> return 1%0a39c38%0a%3c Notice the -n switch to not mail on a successful run. We have purposefully setup the script to have a non-successful (non-zero) exit when there are no packages to update thus generating the email.%0a---%0a> Notice the -n switch to not mail on a successful run. We have purposefully setup the script to have a non-successful (non-zero) exit when there are no packages to update -- thus generating the email.%0a
+host:1641011342=24.97.51.2
+author:1641010666=pyr3x
+diff:1641010666:1641010044:=46c46%0a%3c However, it should be noted that this script is designed with return values for direct use in crontab. If being called from the /etc/daily script, you'll likely want to add some additional messages to be echoed either in the script directly or in /etc/daily.local.%0a---%0a> However, it should be noted that this script is designed with return values for direct use in crontab. If being called from the /etc/rc.daily script, you'll likely want to add some additional messages to be echoed either in the script directly or in /etc/daily.local.%0a
+host:1641010666=24.97.51.2
+author:1641010044=pyr3x
+diff:1641010044:1641010030:=42c42%0a%3c [@%0a---%0a> {@%0a
+host:1641010044=24.97.51.2
+author:1641010030=pyr3x
+diff:1641010030:1641009884:=33d32%0a%3c %0a39,46d37%0a%3c %0a%3c You may also opt to add this script to /etc/daily.local with the single line:%0a%3c %0a%3c {@%0a%3c /usr/local/bin/pkg_update%0a%3c @]%0a%3c %0a%3c However, it should be noted that this script is designed with return values for direct use in crontab. If being called from the /etc/rc.daily script, you'll likely want to add some additional messages to be echoed either in the script directly or in /etc/daily.local.%0a
+host:1641010030=24.97.51.2
+author:1641009884=pyr3x
+diff:1641009884:1641008683:=5,6d4%0a%3c This script will run 'pkg_add -Uun' to determine which packages would have been updated and stores the result. It then removes packages starting with 'quirks' (a required package on OpenBSD) and determines how many remain. If there are no packages, return 0, otherwise, echo the package names and return 1. Returning 0 or 1 is significant because crontab(5) with the -n switch determines whether to send mail. Since we are likely to run this nightly, we do not want to flood our inbox with output from cron when there is no action to take. By exiting with a non-zero (1) exit status when there are packages, we can ensure we only get email if there are package updates. %0a%3c %0a17,39c15%0a%3c @]%0a%3c %0a%3c Save the above script to '/usr/local/bin/pkg_update' and run the following commands for the proper user/group ownership and permissions.%0a%3c %0a%3c [@%0a%3c $ doas chmod 755 /usr/local/bin/pkg_update%0a%3c $ doas chown root:bin /usr/local/bin/pkg_update%0a%3c @]%0a%3c %0a%3c We now need to add it to root's crontab.%0a%3c %0a%3c [@%0a%3c $ doas crontab -e%0a%3c @]%0a%3c %0a%3c At the bottom add the following line:%0a%3c [@%0a%3c 0 0 * * * -ns /usr/local/bin/pkg_update%0a%3c @]%0a%3c %0a%3c Notice the -n switch to not mail on a successful run. We have purposefully setup the script to have a non-successful (non-zero) exit when there are no packages to update -- thus generating the email.%0a%3c %0a%3c It is highly recommended to setup a user account where root's email can be forwarded. See afterboot(8) section 'Mail aliases'.%0a---%0a> @]%0a\ No newline at end of file%0a
+host:1641009884=24.97.51.2
+author:1641008683=pyr3x
+diff:1641008683:1641008430:=1,5d0%0a%3c (:title Checking for package updates via cron(8):)%0a%3c %0a%3c Similar to syspatch(8) with the -c switch, the following script supports checking for updates to packages suitable for cron(8).%0a%3c %0a%3c [@%0a14,15c9%0a%3c fi%0a%3c @]%0a\ No newline at end of file%0a---%0a> fi%0a\ No newline at end of file%0a
+host:1641008683=24.97.51.2
+author:1641008430=pyr3x
+diff:1641008430:1641008430:=1,9d0%0a%3c #!/bin/ksh%0a%3c PACKAGES=`/usr/sbin/pkg_add -Uun`%0a%3c NOQUIRKS=`/bin/echo $PACKAGES | grep -e '^quirks' -v | /usr/bin/wc -l`%0a%3c if [ "$NOQUIRKS" -eq "0" ]; then%0a%3c return 0%0a%3c else%0a%3c /bin/echo $PACKAGES%0a%3c return 1%0a%3c fi%0a\ No newline at end of file%0a
+host:1641008430=24.97.51.2
blob - /dev/null
blob + ddceb725ca899347c3ef0f20b2fc20d144184d88 (mode 644)
--- /dev/null
+++ wiki.d/Pkgadd.RecentChanges
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
+charset=UTF-8
+ctime=1641008430
+host=24.97.51.2
+name=Pkgadd.RecentChanges
+rev=7
+text=* [[Pkgadd/CheckUpdates]] . . . January 01, 2022, at 04:29 AM by [[~pyr3x]]: [==]%0a
+time=1641011342
blob - /dev/null
blob + cc79896acaffa5e1faa33aaaa8c83003e7c21ee3 (mode 644)
--- /dev/null
+++ wiki.d/Police.Fingerprints
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0
+author=xfnw
+charset=UTF-8
+csum=ip addresses should be sorted with sort -V
+ctime=1644443390
+host=71.246.231.249
+name=Police.Fingerprints
+rev=10
+targets=Police.Intro
+text=You will always need to be vigilant and watch out for abuse.%0aCrimes such as stealing credit cards, ddos botnets, and phishing%0ascams do happen on IRC, and it's our job to prevent our network%0afrom being overrun with criminals.%0a%0aDon't get discouraged if you can't stop all crime. Even stopping%0ahalf of them will go a long way towards deterring criminals.%0a%0aThe first tool at your disposal is to check the available metadata%0aon users that connect to your server. For example, for users that%0aconnect to IRC, you can run this command:%0a%0a/whois username username%0a%0aThat will decloak the user's hostmask and reveal their IP address.%0aYou can then perform a host and whois lookup (see [[police/intro|police]]%0afor more details):%0a%0a[@%0a$ host 192.168.0.1%0a$ whois 192.168.0.1%0a@]%0a%0aIn addition to this metadata, you can also check the fingerprints that botnow collects on users:%0a%0a[@%0a$ doas su botnow%0a$ sqlite3 /var/www/botnow/botnow.db%0a@]%0a%0aTo select all the rows of data from the bnc table:%0a%0a[@%0asqlite> select * from bnc;%0a@]%0a%0aTo select all the rows of data from the shell accounts table:%0a%0a[@%0asqlite> select * from shell;%0a@]%0a%0aAnd to select all the rows of data from the irc client table:%0a%0a[@%0asqlite> select * from irc;%0a@]%0a%0aFor example, you might see this data for a bnc row:%0a%0a[@%0a|1026844251|||criminal|criminal@example.com|$2b$11$99a4jtzu7BnmeXOcESf5E.I2aGeyhY0mka8AeMBVK3x.VaCevCu2h||394%0a@]%0a%0aThis tells you that for IRC id 1026844251, username criminal had an email address of criminal@example.com with password hash of $2b$11$99a4jtzu7BnmeXOcESf5E.I2aGeyhY0mka8AeMBVK3x.VaCevCu2h and a captcha of 394.%0a%0aTo find out more metadata about this user's IRC client, you can issue:%0a%0a[@%0asqlite> select * from irc where id = 1026844251;%0a1026844251|criminal!~criminal@192.168.0.1|criminal|||||mIRC v7.64|Sun Feb 06 00:22:30 2022|1644081761||||||20220205%0a@]%0a%0aThis tells us that for the user with id = 1026844251, the hostmask is criminal!~criminal@192.168.0.1, the CTCP Version reply is mIRC v7.64, the CTCP Time reply is Sun Feb 06 00:22:30 2022, and the registration date is 2022/02/05 (Feb 5th, 2022).%0a%0aWe can quickly compile a dossier of the user as follows:%0a%0a[@%0aUsername: criminal%0aEmail Address: criminal@example.com%0acriminal!~criminal@192.168.0.1%0amIRC v7.64%0aSun Feb 06 00:22:30 2022%0aRegistration Date: 2022/02/05%0a@]%0a%0a!! Matching IPs%0a%0aTo see all connections all users have made to znc:%0a%0a[@%0a$ doas less /home/znc/home/znc/.znc/moddata/adminlog/znc.log%0a@]%0a%0aYou can search existing connections to znc using grep.%0a%0a[@%0a$ doas grep -iRE '\[$USERNAME\] connected to ZNC' /home/znc/home/znc/.znc/moddata/adminlog/znc.log%0a@]%0a%0aYou will want to replace $USERNAME with the actual username.%0a%0aThis will show all connections of USERNAME to znc. We can use sed to output %0aall unique IPs to a file:%0a%0a[@%0a$ doas sed -n 's/.*\[$USERNAME\] connected to ZNC from \(.*\)/\1/p' /home/znc/home/znc/.znc/moddata/adminlog/znc.log | sort -V | uniq > ~/$USERNAME%0a@]%0a%0aYou can also search by IP addresses and using regular expressions:%0a%0a[@%0a$ doas grep -iRE '(192.168.0.1|192.168.0.2)' /home/znc/home/znc/.znc/moddata/adminlog/znc.log%0a@]%0a%0aThis can help you find multiple IP addresses.%0a%0aOne helpful technique is as follows:%0a%0a!! Connected networks and channels%0a%0aYou can see what networks the user USERNAME is connected to by typing (inside IRC while connected to znc as admin):%0a%0a[@%0a/msg *controlpanel listnetworks USERNAME%0a@]%0a%0aYou can also connect to his network and /whois USERNAME to find all the channels he is a part of.%0a%0a!! Detecting patterns%0a%0aI've noticed a pattern. Let's say we have a scammer called '''criminal'''.%0aWhat this scammer does is he names his networks by letters like D E F.%0aAnytime I find a suspicious person from an his subnet's IP address,%0aI just run /msg *controlpanel listnetworks username. If I see something%0asimilar to:%0a%0a13:34 %3c*controlpanel> | E | Yes | irc.example.com | Guest55013!criminal@example.com | 2 |%0a%0aIt's probably '''criminal''', only he would name his network E. Sometimes a trick%0aI use is to scan /home/znc/home/znc/.znc/moddata/adminlog/znc.log%0afor a single capital letter.%0a%0aIf it's a user from his subnet + single letter network names + in suspicious%0achannels + he likes to customize his realname, that's usually a good sign%0ait is '''criminal'''.%0a%0aI have some ideas for how to automate but I think it will be an arms race.%0aOnce he figures out how i detect him, he might change his signature.%0a
+time=1644674959
+author:1644674959=xfnw
+csum:1644674959=ip addresses should be sorted with sort -V
+diff:1644674959:1644674865:=97c97%0a%3c $ doas sed -n 's/.*\[$USERNAME\] connected to ZNC from \(.*\)/\1/p' /home/znc/home/znc/.znc/moddata/adminlog/znc.log | sort -V | uniq > ~/$USERNAME%0a---%0a> $ doas sed -n 's/.*\[$USERNAME\] connected to ZNC from \(.*\)/\1/p' /home/znc/home/znc/.znc/moddata/adminlog/znc.log | sort | uniq > ~/$USERNAME%0a
+host:1644674959=71.246.231.249
+author:1644674865=xfnw
+csum:1644674865=use neutral pronouns
+diff:1644674865:1644538251:=15c15%0a%3c That will decloak the user's hostmask and reveal their IP address.%0a---%0a> That will decloak the user's hostmask and reveal his IP address.%0a
+host:1644674865=71.246.231.249
+author:1644538251=jrmu
+diff:1644538251:1644537570:=68d67%0a%3c [@%0a75,76c74%0a%3c @]%0a%3c %0a---%0a> %0a85,86c83,84%0a%3c You can search existing connections to znc using grep.%0a%3c %0a---%0a> You can search existing connections to znc using grep:%0a> %0a88c86%0a%3c $ doas grep -iRE '\[$USERNAME\] connected to ZNC' /home/znc/home/znc/.znc/moddata/adminlog/znc.log%0a---%0a> $ doas grep -iRE '\[USERNAME\] connected to ZNC' /home/znc/home/znc/.znc/moddata/adminlog/znc.log%0a91,95c89,91%0a%3c You will want to replace $USERNAME with the actual username.%0a%3c %0a%3c This will show all connections of USERNAME to znc. We can use sed to output %0a%3c all unique IPs to a file:%0a%3c %0a---%0a> This will show all connections of USERNAME to znc. If you output this%0a> to a file, you can then track down all IP addresses:%0a> %0a97c93%0a%3c $ doas sed -n 's/.*\[$USERNAME\] connected to ZNC from \(.*\)/\1/p' /home/znc/home/znc/.znc/moddata/adminlog/znc.log | sort | uniq > ~/$USERNAME%0a---%0a> $ doas sed -n 's/.*\[USERNAME\] connected to ZNC from \(.*\)/\1/p' /home/znc/home/znc/.znc/moddata/adminlog/znc.log | sort | uniq > ~/USERNAME%0a
+host:1644538251=38.87.162.8
+author:1644537570=jrmu
+diff:1644537570:1644536121:=86c86%0a%3c $ doas grep -iRE '\[USERNAME\] connected to ZNC' /home/znc/home/znc/.znc/moddata/adminlog/znc.log%0a---%0a> $ doas grep -iRE 'USERNAME.*to ZNC' /home/znc/home/znc/.znc/moddata/adminlog/znc.log%0a93c93%0a%3c $ doas sed -n 's/.*\[USERNAME\] connected to ZNC from \(.*\)/\1/p' /home/znc/home/znc/.znc/moddata/adminlog/znc.log | sort | uniq > ~/USERNAME%0a---%0a> $ doas grep -iRE 'USERNAME.*to ZNC' /home/znc/home/znc/.znc/moddata/adminlog/znc.log > ~/USERNAME%0a
+host:1644537570=38.87.162.8
+author:1644536121=jrmu
+diff:1644536121:1644528176:=
+host:1644536121=38.87.162.8
+author:1644528176=jrmu
+diff:1644528176:1644526865:=34c34%0a%3c sqlite> select * from bnc;%0a---%0a> sqlite> select * from bnc ;%0a40c40%0a%3c sqlite> select * from shell;%0a---%0a> sqlite> select * from shell ;%0a43,48d42%0a%3c And to select all the rows of data from the irc client table:%0a%3c %0a%3c [@%0a%3c sqlite> select * from irc;%0a%3c @]%0a%3c %0a51d44%0a%3c [@%0a53,56c46,48%0a%3c @]%0a%3c %0a%3c This tells you that for IRC id 1026844251, username criminal had an email address of criminal@example.com with password hash of $2b$11$99a4jtzu7BnmeXOcESf5E.I2aGeyhY0mka8AeMBVK3x.VaCevCu2h and a captcha of 394.%0a%3c %0a---%0a> %0a> This tells you that for IRC id 1026844251, username criminal had a password hash of $2b$11$99a4jtzu7BnmeXOcESf5E.I2aGeyhY0mka8AeMBVK3x.VaCevCu2h and a captcha of 394.%0a> %0a66,114c58,59%0a%3c We can quickly compile a dossier of the user as follows:%0a%3c %0a%3c Username: criminal%0a%3c Email Address: criminal@example.com%0a%3c criminal!~criminal@192.168.0.1%0a%3c mIRC v7.64%0a%3c Sun Feb 06 00:22:30 2022%0a%3c Registration Date: 2022/02/05%0a%3c %0a%3c !! Matching IPs%0a%3c %0a%3c To see all connections all users have made to znc:%0a%3c %0a%3c [@%0a%3c $ doas less /home/znc/home/znc/.znc/moddata/adminlog/znc.log%0a%3c @]%0a%3c %0a%3c You can search existing connections to znc using grep:%0a%3c %0a%3c [@%0a%3c $ doas grep -iRE 'USERNAME.*to ZNC' /home/znc/home/znc/.znc/moddata/adminlog/znc.log%0a%3c @]%0a%3c %0a%3c This will show all connections of USERNAME to znc. If you output this%0a%3c to a file, you can then track down all IP addresses:%0a%3c %0a%3c [@%0a%3c $ doas grep -iRE 'USERNAME.*to ZNC' /home/znc/home/znc/.znc/moddata/adminlog/znc.log > ~/USERNAME%0a%3c @]%0a%3c %0a%3c You can also search by IP addresses and using regular expressions:%0a%3c %0a%3c [@%0a%3c $ doas grep -iRE '(192.168.0.1|192.168.0.2)' /home/znc/home/znc/.znc/moddata/adminlog/znc.log%0a%3c @]%0a%3c %0a%3c This can help you find multiple IP addresses.%0a%3c %0a%3c One helpful technique is as follows:%0a%3c %0a%3c !! Connected networks and channels%0a%3c %0a%3c You can see what networks the user USERNAME is connected to by typing (inside IRC while connected to znc as admin):%0a%3c %0a%3c [@%0a%3c /msg *controlpanel listnetworks USERNAME%0a%3c @]%0a%3c %0a%3c You can also connect to his network and /whois USERNAME to find all the channels he is a part of.%0a---%0a> %0a> And to select all the rows of data from the irc client table:%0a
+host:1644528176=38.87.162.8
+author:1644526865=jrmu
+diff:1644526865:1644522974:=43,58d42%0a%3c For example, you might see this data for a bnc row:%0a%3c %0a%3c |1026844251|||criminal|criminal@example.com|$2b$11$99a4jtzu7BnmeXOcESf5E.I2aGeyhY0mka8AeMBVK3x.VaCevCu2h||394%0a%3c %0a%3c This tells you that for IRC id 1026844251, username criminal had a password hash of $2b$11$99a4jtzu7BnmeXOcESf5E.I2aGeyhY0mka8AeMBVK3x.VaCevCu2h and a captcha of 394.%0a%3c %0a%3c To find out more metadata about this user's IRC client, you can issue:%0a%3c %0a%3c [@%0a%3c sqlite> select * from irc where id = 1026844251;%0a%3c 1026844251|criminal!~criminal@192.168.0.1|criminal|||||mIRC v7.64|Sun Feb 06 00:22:30 2022|1644081761||||||20220205%0a%3c @]%0a%3c %0a%3c This tells us that for the user with id = 1026844251, the hostmask is criminal!~criminal@192.168.0.1, the CTCP Version reply is mIRC v7.64, the CTCP Time reply is Sun Feb 06 00:22:30 2022, and the registration date is 2022/02/05 (Feb 5th, 2022).%0a%3c %0a%3c %0a63c47%0a%3c I've noticed a pattern. Let's say we have a scammer called '''criminal'''.%0a---%0a> I've noticed a pattern. Let's call this scammer sanggau.%0a69,71c53,55%0a%3c 13:34 %3c*controlpanel> | E | Yes | irc.example.com | Guest55013!criminal@example.com | 2 |%0a%3c %0a%3c It's probably '''criminal''', only he would name his network E. Sometimes a trick%0a---%0a> 13:34 %3c*controlpanel> | F | Yes | Jakarta.ID.IX.ForumCerdas.Net | Guest55013!sanggau@example.com | 2 |%0a> %0a> It's probably sanggau, only he would name his network F. Sometimes a trick%0a77c61%0a%3c it is '''criminal'''.%0a---%0a> it is sanggau.%0a
+host:1644526865=38.87.162.8
+author:1644522974=jrmu
+diff:1644522974:1644521735:=19d18%0a%3c [@%0a22,45d20%0a%3c @]%0a%3c %0a%3c In addition to this metadata, you can also check the fingerprints that botnow collects on users:%0a%3c %0a%3c [@%0a%3c $ doas su botnow%0a%3c $ sqlite3 /var/www/botnow/botnow.db%0a%3c @]%0a%3c %0a%3c To select all the rows of data from the bnc table:%0a%3c %0a%3c [@%0a%3c sqlite> select * from bnc ;%0a%3c @]%0a%3c %0a%3c To select all the rows of data from the shell accounts table:%0a%3c %0a%3c [@%0a%3c sqlite> select * from shell ;%0a%3c @]%0a%3c %0a%3c And to select all the rows of data from the irc client table:%0a%3c %0a%3c !! Detecting patterns%0a
+host:1644522974=38.87.162.8
+author:1644521735=jrmu
+diff:1644521735:1644443390:=1,21d0%0a%3c You will always need to be vigilant and watch out for abuse.%0a%3c Crimes such as stealing credit cards, ddos botnets, and phishing%0a%3c scams do happen on IRC, and it's our job to prevent our network%0a%3c from being overrun with criminals.%0a%3c %0a%3c Don't get discouraged if you can't stop all crime. Even stopping%0a%3c half of them will go a long way towards deterring criminals.%0a%3c %0a%3c The first tool at your disposal is to check the available metadata%0a%3c on users that connect to your server. For example, for users that%0a%3c connect to IRC, you can run this command:%0a%3c %0a%3c /whois username username%0a%3c %0a%3c That will decloak the user's hostmask and reveal his IP address.%0a%3c You can then perform a host and whois lookup (see [[police/intro|police]]%0a%3c for more details):%0a%3c %0a%3c $ host 192.168.0.1%0a%3c $ whois 192.168.0.1%0a%3c %0a
+host:1644521735=38.87.162.8
+author:1644443390=jrmu
+diff:1644443390:1644443390:=1,18d0%0a%3c I've noticed a pattern. Let's call this scammer sanggau.%0a%3c What this scammer does is he names his networks by letters like D E F.%0a%3c Anytime I find a suspicious person from an his subnet's IP address,%0a%3c I just run /msg *controlpanel listnetworks username. If I see something%0a%3c similar to:%0a%3c %0a%3c 13:34 %3c*controlpanel> | F | Yes | Jakarta.ID.IX.ForumCerdas.Net | Guest55013!sanggau@example.com | 2 |%0a%3c %0a%3c It's probably sanggau, only he would name his network F. Sometimes a trick%0a%3c I use is to scan /home/znc/home/znc/.znc/moddata/adminlog/znc.log%0a%3c for a single capital letter.%0a%3c %0a%3c If it's a user from his subnet + single letter network names + in suspicious%0a%3c channels + he likes to customize his realname, that's usually a good sign%0a%3c it is sanggau.%0a%3c %0a%3c I have some ideas for how to automate but I think it will be an arms race.%0a%3c Once he figures out how i detect him, he might change his signature.%0a
+host:1644443390=38.87.162.8
blob - /dev/null
blob + 83f3760adf6eda8bc07895055048a7827ca60268 (mode 644)
--- /dev/null
+++ wiki.d/Profiles.RecentChanges
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
+charset=UTF-8
+ctime=1643069526
+host=2001:470:8:651::4
+name=Profiles.RecentChanges
+rev=1
+text=* [[Profiles/Xfnw]] . . . January 25, 2022, at 12:12 AM by [[~xfnw]]: [==]%0a
+time=1643069526
blob - /dev/null
blob + 0d39fb0c62da6fda1a88906e2b9bba637e47e8ec (mode 644)
--- /dev/null
+++ wiki.d/Profiles.Xfnw
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
+author=xfnw
+charset=UTF-8
+csum=
+ctime=1643069526
+host=2001:470:8:651::4
+name=Profiles.Xfnw
+rev=1
+targets=
+text=Attach:xfnw.png
+time=1643069526
+author:1643069526=xfnw
+diff:1643069526:1643069526:=1d0%0a%3c Attach:xfnw.png%0a\ No newline at end of file%0a
+host:1643069526=2001:470:8:651::4
blob - /dev/null
blob + 6e25315664d4ccbc5b6f911492222e0056335553 (mode 644)
--- /dev/null
+++ wiki.d/Sftp.Chroot
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1640844061
+host=38.87.162.8
+name=Sftp.Chroot
+rev=1
+targets=
+text=!! Users with sftp access without ssh access (for file hosting)%0a%0a1. Do one time setup%0a%0a[@%0a$ doas mkdir /var/www/OrangeShare/%0a$ doas groupadd sftponly%0a@]%0a%0aEdit your httpd config to set "/OrangeShare" as the root location.%0a%0aAdd this into sshd_config%0a%0a[@%0aSubsystem sftp internal-sftp%0aMatch Group sftponly%0a PasswordAuthentication yes%0a ForceCommand internal-sftp%0a ChrootDirectory /var/www/OrangeShare/%25u%0a AllowTcpForwarding no%0a AllowAgentForwarding no%0a PermitTunnel no%0a PermitTTY no%0a X11Forwarding no%0a@]%0a%0aSave script for adding new user%0a%0a[@%0a#!/bin/ksh%0a# add user%0adoas adduser%0a# add user to sftponly group, otherwise they will have full ssh access%0adoas usermod -g sftponly $1%0a# make user's directory%0adoas mkdir /var/www/OrangeShare/$1%0adoas mkdir /var/www/OrangeShare/$1/pub%0adoas chown $1:$1 /var/www/OrangeShare/$1/pub%0a# set the user's password%0adoas passwd $1%0a@]%0a%0a2. For each new user %0a%0a $ ksh newuser.sh usernameHere%0a Then email to the user their credentials, from either your personal email or from your team email if it has one.%0a%0a----%0a%0aSources:%0a[@%0ahttp://undeadly.org/cgi?action=article&sid=20080220110039%0ahttps://man.openbsd.org/sftp-server%0ahttps://unix.stackexchange.com/questions/503312/is-it-possible-to-grant-users-sftp-access-without-shell-access-if-yes-how-is-i%0a@]%0a%0a!! To change sftp accessed directory from /home/USER to /var/www/htdocs/USER%0a
+time=1640844061
+author:1640844061=jrmu
+diff:1640844061:1640844061:=1,57d0%0a%3c !! Users with sftp access without ssh access (for file hosting)%0a%3c %0a%3c 1. Do one time setup%0a%3c %0a%3c [@%0a%3c $ doas mkdir /var/www/OrangeShare/%0a%3c $ doas groupadd sftponly%0a%3c @]%0a%3c %0a%3c Edit your httpd config to set "/OrangeShare" as the root location.%0a%3c %0a%3c Add this into sshd_config%0a%3c %0a%3c [@%0a%3c Subsystem sftp internal-sftp%0a%3c Match Group sftponly%0a%3c PasswordAuthentication yes%0a%3c ForceCommand internal-sftp%0a%3c ChrootDirectory /var/www/OrangeShare/%25u%0a%3c AllowTcpForwarding no%0a%3c AllowAgentForwarding no%0a%3c PermitTunnel no%0a%3c PermitTTY no%0a%3c X11Forwarding no%0a%3c @]%0a%3c %0a%3c Save script for adding new user%0a%3c %0a%3c [@%0a%3c #!/bin/ksh%0a%3c # add user%0a%3c doas adduser%0a%3c # add user to sftponly group, otherwise they will have full ssh access%0a%3c doas usermod -g sftponly $1%0a%3c # make user's directory%0a%3c doas mkdir /var/www/OrangeShare/$1%0a%3c doas mkdir /var/www/OrangeShare/$1/pub%0a%3c doas chown $1:$1 /var/www/OrangeShare/$1/pub%0a%3c # set the user's password%0a%3c doas passwd $1%0a%3c @]%0a%3c %0a%3c 2. For each new user %0a%3c %0a%3c $ ksh newuser.sh usernameHere%0a%3c Then email to the user their credentials, from either your personal email or from your team email if it has one.%0a%3c %0a%3c ----%0a%3c %0a%3c Sources:%0a%3c [@%0a%3c http://undeadly.org/cgi?action=article&sid=20080220110039%0a%3c https://man.openbsd.org/sftp-server%0a%3c https://unix.stackexchange.com/questions/503312/is-it-possible-to-grant-users-sftp-access-without-shell-access-if-yes-how-is-i%0a%3c @]%0a%3c %0a%3c !! To change sftp accessed directory from /home/USER to /var/www/htdocs/USER%0a
+host:1640844061=38.87.162.8
blob - /dev/null
blob + 4264fd810e71086a49360e2447bd450ead1fd54f (mode 644)
--- /dev/null
+++ wiki.d/Sftp.RecentChanges
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+charset=UTF-8
+ctime=1640844061
+host=38.87.162.8
+name=Sftp.RecentChanges
+rev=1
+text=* [[Sftp/Chroot]] . . . December 30, 2021, at 06:01 AM by [[~jrmu]]: [==]%0a
+time=1640844061
blob - /dev/null
blob + e7f619ba963cb681929520506e702185d3bc4354 (mode 644)
--- /dev/null
+++ wiki.d/Soju.Install
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.0.0 Mobile Safari/537.36
+author=Yonle
+charset=UTF-8
+csum=A message about simple to build is not needed
+ctime=1648832353
+host=114.125.63.157
+name=Soju.Install
+rev=3
+targets=
+text=(:title Install & Chroot Soju:)%0a%0a!! Overview%0a%0a[[https://soju.im/|Soju]] is a user-friendly IRC bouncer that has the following features:%0a* Multi-user%0a* Support multiple clients for a single user, with proper backlog sychronization%0a* Support connecting to multiple upstream servers via a single IRC connection to the bouncer%0a%0a!! Compiling from Source%0a%0aAs of OpenBSD 7.0, soju is not packaged yet so you'll have to compile it from source.%0a%0a[@%0apkg_add git go%0agit clone https://git.sr.ht/~emersion/soju%0acd soju%0amake soju sojuctl%0a@]%0a%0aGolang is only a build-time dependency so it can be removed after the make command finishes.%0a%0a!! Configuration and Running without Chroot%0a%0aYou can now use it as is by creating a user with sojuctl and then running soju,%0aor you can create and use a config file.%0a%0aExample config file:%0a%0a[@%0alisten ircs://:6999%0atls /etc/soju/yourhostname.crt /etc/soju/yourhostname.key%0ahostname yourhostname%0adb sqlite3 /etc/soju/soju.db%0atitle A Soju Instance%0a@]%0a%0aAnd to run that (assuming you're still in soju's repository directory):%0a%0a[@%0a./sojuctl -config /path/to/soju.conf create-user someuser -admin%0a./soju -config /path/to/soju.conf%0a@]%0a%0a!! Chroot%0a%0aFor additional security/peace of mind, you can run it under it's own unprivileged account and in a chroot.%0a%0aYou can run these commands to create the user and populate the chroot (replace the placeholder paths) and then running it:%0a%0a[@%0a# populating chroot%0auseradd -m -d /home/soju -s /sbin/nologin -k /var/empty -L daemon soju%0acd /home/soju%0amkdir -p etc/{soju,ssl} usr/bin usr/lib{,exec}%0acp /usr/lib/libc.so.* /usr/lib/libpthread.so.* usr/lib%0acp /usr/libexec/ld.so usr/libexec%0acp /etc/resolv.conf etc%0acp /etc/ssl/cert.pem etc/ssl%0acp /path/to/soju_repo/soju{,ctl} usr/bin%0acp /path/to/soju_repo/soju.{conf,db} etc/soju%0acp /etc/ssl/yourhostname.crt /etc/ssl/private/yourhostname.key etc/soju%0achown -R soju etc/soju/%0a# running soju from the chroot%0achroot -u soju -g soju /home/soju soju -config /etc/soju/soju.conf >>/var/log/soju.log 2>&1 &%0a@]%0a%0aIf you want to run sojuctl from the chroot, then you can run:%0a%0a[@%0achroot -u soju -g soju /home/soju sojuctl -config /etc/soju/soju.conf yourarguments%0a@]%0a%0aAlternatively, if soju is already running and you are connected under an admin%0aaccount, you can run `/msg BouncerServ help` to see its available commands.%0aFor example, if you want to create a new user or add a new IRC network to it,%0athen you can message BouncerServ and its appropriate command.%0a%0a!! Autostart and Logging%0a%0aTo run it automatically on startup or whenever it stops, you can run it from a cron job.%0a%0aYou can add something like this to root's crontab (attempts to run soju every 5 minutes)%0a%0a[@%0a*/5 * * * * /usr/sbin/chroot -u soju -g soju /home/soju soju -config /etc/soju/soju.conf >>/var/log/soju.log 2>&1%0a@]
+time=1648832824
+title=Install & Chroot Soju
+author:1648832824=Yonle
+csum:1648832824=A message about simple to build is not needed
+diff:1648832824:1648832395:=12c12%0a%3c As of OpenBSD 7.0, soju is not packaged yet so you'll have to compile it from source.%0a---%0a> As of OpenBSD 7.0, soju is not packaged yet so you'll have to compile it from source. Fortunately it's really simple to build.%0a
+host:1648832824=114.125.63.157
+author:1648832395=shokara
+csum:1648832395=forgot ending colon for title
+diff:1648832395:1648832353:=1c1%0a%3c (:title Install & Chroot Soju:)%0a---%0a> (:title Install & Chroot Soju)%0a
+host:1648832395=99.234.70.39
+author:1648832353=shokara
+csum:1648832353=Create a wiki page for soju, detailing install and chroot install instructions.
+diff:1648832353:1648832353:=1,87d0%0a%3c (:title Install & Chroot Soju)%0a%3c %0a%3c !! Overview%0a%3c %0a%3c [[https://soju.im/|Soju]] is a user-friendly IRC bouncer that has the following features:%0a%3c * Multi-user%0a%3c * Support multiple clients for a single user, with proper backlog sychronization%0a%3c * Support connecting to multiple upstream servers via a single IRC connection to the bouncer%0a%3c %0a%3c !! Compiling from Source%0a%3c %0a%3c As of OpenBSD 7.0, soju is not packaged yet so you'll have to compile it from source. Fortunately it's really simple to build.%0a%3c %0a%3c [@%0a%3c pkg_add git go%0a%3c git clone https://git.sr.ht/~emersion/soju%0a%3c cd soju%0a%3c make soju sojuctl%0a%3c @]%0a%3c %0a%3c Golang is only a build-time dependency so it can be removed after the make command finishes.%0a%3c %0a%3c !! Configuration and Running without Chroot%0a%3c %0a%3c You can now use it as is by creating a user with sojuctl and then running soju,%0a%3c or you can create and use a config file.%0a%3c %0a%3c Example config file:%0a%3c %0a%3c [@%0a%3c listen ircs://:6999%0a%3c tls /etc/soju/yourhostname.crt /etc/soju/yourhostname.key%0a%3c hostname yourhostname%0a%3c db sqlite3 /etc/soju/soju.db%0a%3c title A Soju Instance%0a%3c @]%0a%3c %0a%3c And to run that (assuming you're still in soju's repository directory):%0a%3c %0a%3c [@%0a%3c ./sojuctl -config /path/to/soju.conf create-user someuser -admin%0a%3c ./soju -config /path/to/soju.conf%0a%3c @]%0a%3c %0a%3c !! Chroot%0a%3c %0a%3c For additional security/peace of mind, you can run it under it's own unprivileged account and in a chroot.%0a%3c %0a%3c You can run these commands to create the user and populate the chroot (replace the placeholder paths) and then running it:%0a%3c %0a%3c [@%0a%3c # populating chroot%0a%3c useradd -m -d /home/soju -s /sbin/nologin -k /var/empty -L daemon soju%0a%3c cd /home/soju%0a%3c mkdir -p etc/{soju,ssl} usr/bin usr/lib{,exec}%0a%3c cp /usr/lib/libc.so.* /usr/lib/libpthread.so.* usr/lib%0a%3c cp /usr/libexec/ld.so usr/libexec%0a%3c cp /etc/resolv.conf etc%0a%3c cp /etc/ssl/cert.pem etc/ssl%0a%3c cp /path/to/soju_repo/soju{,ctl} usr/bin%0a%3c cp /path/to/soju_repo/soju.{conf,db} etc/soju%0a%3c cp /etc/ssl/yourhostname.crt /etc/ssl/private/yourhostname.key etc/soju%0a%3c chown -R soju etc/soju/%0a%3c # running soju from the chroot%0a%3c chroot -u soju -g soju /home/soju soju -config /etc/soju/soju.conf >>/var/log/soju.log 2>&1 &%0a%3c @]%0a%3c %0a%3c If you want to run sojuctl from the chroot, then you can run:%0a%3c %0a%3c [@%0a%3c chroot -u soju -g soju /home/soju sojuctl -config /etc/soju/soju.conf yourarguments%0a%3c @]%0a%3c %0a%3c Alternatively, if soju is already running and you are connected under an admin%0a%3c account, you can run `/msg BouncerServ help` to see its available commands.%0a%3c For example, if you want to create a new user or add a new IRC network to it,%0a%3c then you can message BouncerServ and its appropriate command.%0a%3c %0a%3c !! Autostart and Logging%0a%3c %0a%3c To run it automatically on startup or whenever it stops, you can run it from a cron job.%0a%3c %0a%3c You can add something like this to root's crontab (attempts to run soju every 5 minutes)%0a%3c %0a%3c [@%0a%3c */5 * * * * /usr/sbin/chroot -u soju -g soju /home/soju soju -config /etc/soju/soju.conf >>/var/log/soju.log 2>&1%0a%3c @]%0a\ No newline at end of file%0a
+host:1648832353=99.234.70.39
blob - /dev/null
blob + 0a8d229436a56fa6968a6e0750e15fe18ff2f300 (mode 644)
--- /dev/null
+++ wiki.d/Soju.RecentChanges
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.0.0 Mobile Safari/537.36
+charset=UTF-8
+ctime=1648832353
+host=114.125.63.157
+name=Soju.RecentChanges
+rev=3
+text=* [[Soju/Install]] . . . April 01, 2022, at 05:07 PM by [[~Yonle]]: [=A message about simple to build is not needed=]%0a
+time=1648832824
blob - /dev/null
blob + c5fb5227038beadcf3564822c612075541aa4440 (mode 644)
--- /dev/null
+++ wiki.d/Sox.Concat
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:93.0) Gecko/20100101 Firefox/93.0
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1640156470
+host=125.231.26.67
+name=Sox.Concat
+rev=1
+targets=
+text=concatenate two wav files using sox%0a%0a[@%0asox -m audio1.wav audio2.wav audio.wav%0asox audio.wav audio.mp3%0arm -i audio1.wav audio2.wav%0a@]
+time=1640156470
+author:1640156470=jrmu
+diff:1640156470:1640156470:=1,7d0%0a%3c concatenate two wav files using sox%0a%3c %0a%3c [@%0a%3c sox -m audio1.wav audio2.wav audio.wav%0a%3c sox audio.wav audio.mp3%0a%3c rm -i audio1.wav audio2.wav%0a%3c @]%0a\ No newline at end of file%0a
+host:1640156470=125.231.26.67
blob - /dev/null
blob + f17a2a4eefde12e0d0672d2148bc826d0630d79b (mode 644)
--- /dev/null
+++ wiki.d/Sox.RecentChanges
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:93.0) Gecko/20100101 Firefox/93.0
+charset=UTF-8
+ctime=1640156470
+host=125.231.26.67
+name=Sox.RecentChanges
+rev=1
+text=* [[Sox/Concat]] . . . December 22, 2021, at 07:01 AM by [[~jrmu]]: [==]%0a
+time=1640156470
blob - /dev/null
blob + 0a936b5ec05b27ec5b28501b91e8e8075de9a259 (mode 644)
--- /dev/null
+++ wiki.d/Sshd.Disablepassword
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; Linux x86_64; rv:98.0) Gecko/20100101 Firefox/98.0
+author=xfnw
+charset=UTF-8
+csum=undo accidental revert
+ctime=1648668516
+host=71.178.25.201
+name=Sshd.Disablepassword
+rev=5
+targets=
+text=(:title SSH: Passwordless Authentication:)%0a%0assh is an amazing protocol, and the beauty of it lies not only in its cryptographic security but also in ease of usage. One of the most unique features of ssh is to use it without using password, generally referred to as [@passwordless authentication@] or [@Key based authentication@]%0a%0aThis in general provides, a better security model as the keys cannot be bruteforced (they can be but bruteforcing them would need a very powerful machine and a VERY long time.)%0a%0a!!! Uses%0a%0a1. Allows Secure way of logging into your machine%0a %0a2. Prevents password misuse or remembering of the passwords in general%0a %0a3. Eases the process of utilizing ssh for scripting from client side%0a %0a4. Enhances Security in the long run.%0a %0a%0a!!! Enabling Passwordless Authentication%0a%0aSo suppose that the machine you want to securely authenticate with is:%0a%0a[@testuser@testuser.host.ircnow.org@] and password is [@test123@]%0a%0athen from the client machine (your machine through which you are connecting to vps) there are in general three ways to transfer your ssh keys:%0a%0a1. Using [@ssh-copy-id@] command ('''Only works on few linux distros''')%0a %0a For this, all you need to do is [@ssh-copy-id testuser@testuser.host.ircnow.org@] and then enter your password, and ssh again and it will not ask password again.%0a %0a2. Copying using ssh%0a %0a Well, this is slightly manual method, but basically you copy paste it to the remote machine and provide password.%0a %0a [@cat ~/.ssh/id_rsa.pub | sshtestuser@testuser.host.ircnow.org "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"@]%0a %0a3. Manually Copying by sshing into the server%0a %0a Technically same method as above, but instead of a string of pipes and ssh, you manually copy paste the passwords in `~/.ssh/authorized_keys`%0a %0a%0a!!! Disabling Password authentication%0a%0aThis is important as so far, we have enabled password less auth, but we have not disabled the password login, this basically defeats the purpose of security as the others can still try to brute force your passwords.%0a%0aSo as to do that, edit [@/etc/ssh/ssh_config@] and add%0a%0a[@%0aPasswordAuthentication no%0aChallengeResponseAuthentication no%0aUsePAM no%0a@]%0a%0a[@%0akill -HUP `cat /var/run/sshd.pid`%0a# Notice the ` before cat and after pid.%0a@]
+time=1648672051
+title=SSH: Passwordless Authentication
+author:1648672051=xfnw
+csum:1648672051=undo accidental revert
+diff:1648672051:1648671953:minor=26c26%0a%3c 1. Using [@ssh-copy-id@] command ('''Only works on few linux distros''')%0a---%0a> 1. Using [@ssh-copy-id@] command%0a
+host:1648672051=71.178.25.201
+author:1648671953=xfnw
+csum:1648671953=fix spelling of password
+diff:1648671953:1648671869:minor=3c3%0a%3c ssh is an amazing protocol, and the beauty of it lies not only in its cryptographic security but also in ease of usage. One of the most unique features of ssh is to use it without using password, generally referred to as [@passwordless authentication@] or [@Key based authentication@]%0a---%0a> ssh is an amazing protocol, and the beauty of it lies not only in its cryptographic security but also in ease of usage. One of the most unique features of ssh is to use it without using passowrd, generally referred to as [@passwordless authentication@] or [@Key based authentication@]%0a
+host:1648671953=71.178.25.201
+author:1648671869=xfnw
+csum:1648671869=fix formatting of headings and title
+diff:1648671869:1648671733:=1,2c1,2%0a%3c (:title SSH: Passwordless Authentication:)%0a%3c %0a---%0a> '''SSH: Passwordless Authentication'''%0a> %0a7,8c7,8%0a%3c !!! Uses%0a%3c %0a---%0a> '''Uses'''%0a> %0a18,19c18,19%0a%3c !!! Enabling Passwordless Authentication%0a%3c %0a---%0a> '''Enabling Passwordless Authentication'''%0a> %0a26c26%0a%3c 1. Using [@ssh-copy-id@] command%0a---%0a> 1. Using [@ssh-copy-id@] command ('''Only works on few linux distros''')%0a41c41%0a%3c !!! Disabling Password authentication%0a---%0a> '''Disabling Password authentication'''%0a
+host:1648671869=71.178.25.201
+author:1648671733=kei
+diff:1648671733:1648668516:=26c26%0a%3c 1. Using [@ssh-copy-id@] command ('''Only works on few linux distros''')%0a---%0a> 1. Using [@ssh-copy-id@] command%0a
+host:1648671733=27.96.88.9
+author:1648668516=kei
+csum:1648668516=Added Info on copying ssh keys and disabling passwords
+diff:1648668516:1648668516:=1,56d0%0a%3c '''SSH: Passwordless Authentication'''%0a%3c %0a%3c ssh is an amazing protocol, and the beauty of it lies not only in its cryptographic security but also in ease of usage. One of the most unique features of ssh is to use it without using passowrd, generally referred to as [@passwordless authentication@] or [@Key based authentication@]%0a%3c %0a%3c This in general provides, a better security model as the keys cannot be bruteforced (they can be but bruteforcing them would need a very powerful machine and a VERY long time.)%0a%3c %0a%3c '''Uses'''%0a%3c %0a%3c 1. Allows Secure way of logging into your machine%0a%3c %0a%3c 2. Prevents password misuse or remembering of the passwords in general%0a%3c %0a%3c 3. Eases the process of utilizing ssh for scripting from client side%0a%3c %0a%3c 4. Enhances Security in the long run.%0a%3c %0a%3c %0a%3c '''Enabling Passwordless Authentication'''%0a%3c %0a%3c So suppose that the machine you want to securely authenticate with is:%0a%3c %0a%3c [@testuser@testuser.host.ircnow.org@] and password is [@test123@]%0a%3c %0a%3c then from the client machine (your machine through which you are connecting to vps) there are in general three ways to transfer your ssh keys:%0a%3c %0a%3c 1. Using [@ssh-copy-id@] command%0a%3c %0a%3c For this, all you need to do is [@ssh-copy-id testuser@testuser.host.ircnow.org@] and then enter your password, and ssh again and it will not ask password again.%0a%3c %0a%3c 2. Copying using ssh%0a%3c %0a%3c Well, this is slightly manual method, but basically you copy paste it to the remote machine and provide password.%0a%3c %0a%3c [@cat ~/.ssh/id_rsa.pub | sshtestuser@testuser.host.ircnow.org "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"@]%0a%3c %0a%3c 3. Manually Copying by sshing into the server%0a%3c %0a%3c Technically same method as above, but instead of a string of pipes and ssh, you manually copy paste the passwords in `~/.ssh/authorized_keys`%0a%3c %0a%3c %0a%3c '''Disabling Password authentication'''%0a%3c %0a%3c This is important as so far, we have enabled password less auth, but we have not disabled the password login, this basically defeats the purpose of security as the others can still try to brute force your passwords.%0a%3c %0a%3c So as to do that, edit [@/etc/ssh/ssh_config@] and add%0a%3c %0a%3c [@%0a%3c PasswordAuthentication no%0a%3c ChallengeResponseAuthentication no%0a%3c UsePAM no%0a%3c @]%0a%3c %0a%3c [@%0a%3c kill -HUP `cat /var/run/sshd.pid`%0a%3c # Notice the ` before cat and after pid.%0a%3c @]%0a\ No newline at end of file%0a
+host:1648668516=27.96.88.9
blob - /dev/null
blob + d240bbd5ce15b930336c4d7aaf1ee2fa40de4d40 (mode 644)
--- /dev/null
+++ wiki.d/Sshd.RecentChanges
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; Linux x86_64; rv:98.0) Gecko/20100101 Firefox/98.0
+charset=UTF-8
+ctime=1648668516
+host=71.178.25.201
+name=Sshd.RecentChanges
+rev=5
+text=* [[Sshd/Disablepassword]] . . . March 30, 2022, at 08:27 PM by [[~xfnw]]: [=undo accidental revert=]%0a
+time=1648672051
blob - /dev/null
blob + 81c00705f24bab9ac4afe2242991781736c9e97d (mode 644)
--- /dev/null
+++ wiki.d/Sshwifty.Install
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36
+author=miniontoby
+charset=UTF-8
+csum=created
+ctime=1640270999
+host=45.136.74.157
+name=Sshwifty.Install
+rev=1
+targets=
+text=This guide tells you how to install [[https://sshwifty.herokuapp.com/ | sshwifty]] (https://github.com/nirui/sshwifty)%0a%0a%0a!! Notes%0a%0aWe use here some redirection stuff, because it is not possible to use a webserver and the sshwifty without port%0a%0a%0a!! Running as yourself%0a%0a%0a!!! Install%0a%0aFirstly you have to go to [[https://github.com/nirui/sshwifty/releases/]] and download sshwifty_%3cVERSION>_openbsd_amd64.tar.gz %0a%0aAt the moment of making this guide is that: [[https://github.com/nirui/sshwifty/releases/download/0.2.20-beta-release-prebuild/sshwifty_0.2.20-beta-release_openbsd_amd64.tar.gz]]%0a%0aSo what we do is:%0a%0a[@$ mkdir ~/sshwifty%0a$ cd ~/sshwifty%0a$ wget https://github.com/nirui/sshwifty/releases/download/0.2.20-beta-release-prebuild/sshwifty_0.2.20-beta-release_openbsd_amd64.tar.gz%0a$ tar -xzf sshwifty_0.2.20-beta-release_openbsd_amd64.tar.gz@]%0a%0a%0a!!! Setup%0a%0aFor the config it is very simple:%0a%0a[@$ cp sshwifty.conf.example.json config.json%0a$ nano config.json@]%0a%0aYou can set the hostname, then if you don't go to the domain then you wont be seeing the page%0a%0aYou can edit the "SharedKey", this is what you need to login/use the sshwifty%0a%0aYou can edit the presets to what you want%0a%0aCreate SSL certs and put them into the "TLSCertificateFile" and "TLSCertificateKeyFile" (Recommended to copy them to your folder and chown it to you, so no perms errors)%0a%0a%0a%0aNow open your /etc/httpd.conf and add:%0a%0a[@%0aserver "ssh.YOURHOSTNAME" {%0a listen on * port 8080%0a location * {%0a block return 302 "https://ssh.YOURHOSTNAME:8182$REQUEST_URI"%0a }%0a}%0a@]%0a%0aand restart httpd%0a%0a%0a%0aThen allow port 8182 at your pf.conf (add to the http one)%0a%0aAnd reload your pf: [@$ doas pfctl -f /etc/pf.conf@]%0a%0a%0a!!! Starting%0a%0aTo start the sshwifty, I recommend to create a start script:%0a%0astart.sh%0a[@%0a#!/bin/ksh%0aSSHWIFTY_CONFIG=./config.json ./sshwifty_openbsd_amd64%0a@]%0a%0aAnd [@chmod +x start.sh@]%0a%0aThen do [@./start.sh@]%0a%0aand you should be good to go%0a%0a%0a----%0a%0aCopyright (C) 2021 by Miniontoby %3cminiontoby@ircnow.org>
+time=1640270999
+author:1640270999=miniontoby
+csum:1640270999=created
+diff:1640270999:1640270999:=1,82d0%0a%3c This guide tells you how to install [[https://sshwifty.herokuapp.com/ | sshwifty]] (https://github.com/nirui/sshwifty)%0a%3c %0a%3c %0a%3c !! Notes%0a%3c %0a%3c We use here some redirection stuff, because it is not possible to use a webserver and the sshwifty without port%0a%3c %0a%3c %0a%3c !! Running as yourself%0a%3c %0a%3c %0a%3c !!! Install%0a%3c %0a%3c Firstly you have to go to [[https://github.com/nirui/sshwifty/releases/]] and download sshwifty_%3cVERSION>_openbsd_amd64.tar.gz %0a%3c %0a%3c At the moment of making this guide is that: [[https://github.com/nirui/sshwifty/releases/download/0.2.20-beta-release-prebuild/sshwifty_0.2.20-beta-release_openbsd_amd64.tar.gz]]%0a%3c %0a%3c So what we do is:%0a%3c %0a%3c [@$ mkdir ~/sshwifty%0a%3c $ cd ~/sshwifty%0a%3c $ wget https://github.com/nirui/sshwifty/releases/download/0.2.20-beta-release-prebuild/sshwifty_0.2.20-beta-release_openbsd_amd64.tar.gz%0a%3c $ tar -xzf sshwifty_0.2.20-beta-release_openbsd_amd64.tar.gz@]%0a%3c %0a%3c %0a%3c !!! Setup%0a%3c %0a%3c For the config it is very simple:%0a%3c %0a%3c [@$ cp sshwifty.conf.example.json config.json%0a%3c $ nano config.json@]%0a%3c %0a%3c You can set the hostname, then if you don't go to the domain then you wont be seeing the page%0a%3c %0a%3c You can edit the "SharedKey", this is what you need to login/use the sshwifty%0a%3c %0a%3c You can edit the presets to what you want%0a%3c %0a%3c Create SSL certs and put them into the "TLSCertificateFile" and "TLSCertificateKeyFile" (Recommended to copy them to your folder and chown it to you, so no perms errors)%0a%3c %0a%3c %0a%3c %0a%3c Now open your /etc/httpd.conf and add:%0a%3c %0a%3c [@%0a%3c server "ssh.YOURHOSTNAME" {%0a%3c listen on * port 8080%0a%3c location * {%0a%3c block return 302 "https://ssh.YOURHOSTNAME:8182$REQUEST_URI"%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c and restart httpd%0a%3c %0a%3c %0a%3c %0a%3c Then allow port 8182 at your pf.conf (add to the http one)%0a%3c %0a%3c And reload your pf: [@$ doas pfctl -f /etc/pf.conf@]%0a%3c %0a%3c %0a%3c !!! Starting%0a%3c %0a%3c To start the sshwifty, I recommend to create a start script:%0a%3c %0a%3c start.sh%0a%3c [@%0a%3c #!/bin/ksh%0a%3c SSHWIFTY_CONFIG=./config.json ./sshwifty_openbsd_amd64%0a%3c @]%0a%3c %0a%3c And [@chmod +x start.sh@]%0a%3c %0a%3c Then do [@./start.sh@]%0a%3c %0a%3c and you should be good to go%0a%3c %0a%3c %0a%3c ----%0a%3c %0a%3c Copyright (C) 2021 by Miniontoby %3cminiontoby@ircnow.org>%0a\ No newline at end of file%0a
+host:1640270999=45.136.74.157
blob - /dev/null
blob + 4c8fe50e08b327ca03f517da51ba80ba8c5e93a9 (mode 644)
--- /dev/null
+++ wiki.d/Synclient.Configure
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1643004154
+host=172.56.16.44
+name=Synclient.Configure
+rev=2
+targets=
+text=To enable touchpad:%0a%0a[@%0a$ doas mkdir /etc/X11/xorg.conf.d%0a$ doas cp /usr/X11R6/share/X11/xorg.conf.d/70-synaptics.conf /etc/X11/xorg.conf.d/%0a@]%0a%0aAdd this section to the top of /etc/X11/xorg.conf.d/70-synaptics.conf:%0a%0a[@%0aSection "InputClass"%0a Identifier "touchpad catchall"%0a Driver "synaptics"%0a MatchIsTouchpad "on"%0a# MatchDevicePath "/dev/input/event*"%0a Option "TapButton1" "1"%0a Option "TapButton2" "2"%0a Option "TapButton3" "3"%0a Option "VertEdgeScroll" "on"%0a Option "HorizEdgeScroll" "on"%0aEndSection%0a@]%0a%0aHere is a sample full config:%0a%0a[@%0a# Example xorg.conf.d snippet that assigns the touchpad driver%0a# to all touchpads. See xorg.conf.d(5) for more information on%0a# InputClass.%0a# DO NOT EDIT THIS FILE, your distribution will likely overwrite%0a# it when updating. Copy (and rename) this file into%0a# /etc/X11/xorg.conf.d first.%0a# Additional options may be added in the form of%0a# Option "OptionName" "value"%0a#%0a#Section "InputClass"%0a# Identifier "touchpad catchall"%0a# Driver "synaptics"%0a# MatchIsTouchpad "on"%0a## This option is recommend on all Linux systems using evdev, but cannot be%0a## enabled by default. See the following link for details:%0a## http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html%0a## MatchDevicePath "/dev/input/event*"%0a#EndSection%0a%0aSection "InputClass"%0a Identifier "touchpad catchall"%0a Driver "synaptics"%0a MatchIsTouchpad "on"%0a# MatchDevicePath "/dev/input/event*"%0a Option "TapButton1" "1"%0a Option "TapButton2" "2"%0a Option "TapButton3" "3"%0a Option "VertEdgeScroll" "on"%0a Option "HorizEdgeScroll" "on"%0aEndSection%0a%0aSection "InputClass"%0a Identifier "touchpad ignore duplicates"%0a MatchIsTouchpad "on"%0a MatchOS "Linux"%0a MatchDevicePath "/dev/input/mouse*"%0a Option "Ignore" "on"%0aEndSection%0a%0a# This option enables the bottom right corner to be a right button on clickpads%0a# and the right and middle top areas to be right / middle buttons on clickpads%0a# with a top button area.%0a# This option is only interpreted by clickpads.%0aSection "InputClass"%0a Identifier "Default clickpad buttons"%0a MatchDriver "synaptics"%0a Option "SoftButtonAreas" "50%25 0 82%25 0 0 0 0 0"%0a Option "SecondarySoftButtonAreas" "58%25 0 0 15%25 42%25 58%25 0 15%25"%0aEndSection%0a%0a# This option disables software buttons on Apple touchpads.%0a# This option is only interpreted by clickpads.%0aSection "InputClass"%0a Identifier "Disable clickpad buttons on Apple touchpads"%0a MatchProduct "Apple|bcm5974"%0a MatchDriver "synaptics"%0a Option "SoftButtonAreas" "0 0 0 0 0 0 0 0"%0aEndSection%0a@]%0a%0aRestart openbsd and changes should apply.%0a
+time=1643004171
+author:1643004171=jrmu
+diff:1643004171:1643004154:=86,87d85%0a%3c %0a%3c Restart openbsd and changes should apply.%0a
+host:1643004171=172.56.16.44
+author:1643004154=jrmu
+diff:1643004154:1643004154:=1,85d0%0a%3c To enable touchpad:%0a%3c %0a%3c [@%0a%3c $ doas mkdir /etc/X11/xorg.conf.d%0a%3c $ doas cp /usr/X11R6/share/X11/xorg.conf.d/70-synaptics.conf /etc/X11/xorg.conf.d/%0a%3c @]%0a%3c %0a%3c Add this section to the top of /etc/X11/xorg.conf.d/70-synaptics.conf:%0a%3c %0a%3c [@%0a%3c Section "InputClass"%0a%3c Identifier "touchpad catchall"%0a%3c Driver "synaptics"%0a%3c MatchIsTouchpad "on"%0a%3c # MatchDevicePath "/dev/input/event*"%0a%3c Option "TapButton1" "1"%0a%3c Option "TapButton2" "2"%0a%3c Option "TapButton3" "3"%0a%3c Option "VertEdgeScroll" "on"%0a%3c Option "HorizEdgeScroll" "on"%0a%3c EndSection%0a%3c @]%0a%3c %0a%3c Here is a sample full config:%0a%3c %0a%3c [@%0a%3c # Example xorg.conf.d snippet that assigns the touchpad driver%0a%3c # to all touchpads. See xorg.conf.d(5) for more information on%0a%3c # InputClass.%0a%3c # DO NOT EDIT THIS FILE, your distribution will likely overwrite%0a%3c # it when updating. Copy (and rename) this file into%0a%3c # /etc/X11/xorg.conf.d first.%0a%3c # Additional options may be added in the form of%0a%3c # Option "OptionName" "value"%0a%3c #%0a%3c #Section "InputClass"%0a%3c # Identifier "touchpad catchall"%0a%3c # Driver "synaptics"%0a%3c # MatchIsTouchpad "on"%0a%3c ## This option is recommend on all Linux systems using evdev, but cannot be%0a%3c ## enabled by default. See the following link for details:%0a%3c ## http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html%0a%3c ## MatchDevicePath "/dev/input/event*"%0a%3c #EndSection%0a%3c %0a%3c Section "InputClass"%0a%3c Identifier "touchpad catchall"%0a%3c Driver "synaptics"%0a%3c MatchIsTouchpad "on"%0a%3c # MatchDevicePath "/dev/input/event*"%0a%3c Option "TapButton1" "1"%0a%3c Option "TapButton2" "2"%0a%3c Option "TapButton3" "3"%0a%3c Option "VertEdgeScroll" "on"%0a%3c Option "HorizEdgeScroll" "on"%0a%3c EndSection%0a%3c %0a%3c Section "InputClass"%0a%3c Identifier "touchpad ignore duplicates"%0a%3c MatchIsTouchpad "on"%0a%3c MatchOS "Linux"%0a%3c MatchDevicePath "/dev/input/mouse*"%0a%3c Option "Ignore" "on"%0a%3c EndSection%0a%3c %0a%3c # This option enables the bottom right corner to be a right button on clickpads%0a%3c # and the right and middle top areas to be right / middle buttons on clickpads%0a%3c # with a top button area.%0a%3c # This option is only interpreted by clickpads.%0a%3c Section "InputClass"%0a%3c Identifier "Default clickpad buttons"%0a%3c MatchDriver "synaptics"%0a%3c Option "SoftButtonAreas" "50%25 0 82%25 0 0 0 0 0"%0a%3c Option "SecondarySoftButtonAreas" "58%25 0 0 15%25 42%25 58%25 0 15%25"%0a%3c EndSection%0a%3c %0a%3c # This option disables software buttons on Apple touchpads.%0a%3c # This option is only interpreted by clickpads.%0a%3c Section "InputClass"%0a%3c Identifier "Disable clickpad buttons on Apple touchpads"%0a%3c MatchProduct "Apple|bcm5974"%0a%3c MatchDriver "synaptics"%0a%3c Option "SoftButtonAreas" "0 0 0 0 0 0 0 0"%0a%3c EndSection%0a%3c @]%0a
+host:1643004154=172.56.16.44
blob - /dev/null
blob + 8ccb5b6ecff76ed58bd4f6aa58bf9fd5246f0eae (mode 644)
--- /dev/null
+++ wiki.d/Synclient.RecentChanges
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+charset=UTF-8
+ctime=1643004154
+host=172.56.16.44
+name=Synclient.RecentChanges
+rev=2
+text=* [[Synclient/Configure]] . . . January 24, 2022, at 06:02 AM by [[~jrmu]]: [==]%0a
+time=1643004171
blob - /dev/null
blob + 491319109e4384e9500bdca8750cae9923a29faf (mode 644)
--- /dev/null
+++ wiki.d/Syslogd.Configure
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1648181268
+host=38.87.162.154
+name=Syslogd.Configure
+rev=1
+targets=
+text='''WARNING''': When using syslogd, the logfiles already have to exist with the correct permissions. See [[https://man.openbsd.org/syslogd|syslogd(8)]]%0a
+time=1648181268
+author:1648181268=jrmu
+diff:1648181268:1648181268:=1d0%0a%3c '''WARNING''': When using syslogd, the logfiles already have to exist with the correct permissions. See [[https://man.openbsd.org/syslogd|syslogd(8)]]%0a
+host:1648181268=38.87.162.154
blob - /dev/null
blob + 6aa1beae1b00558de6fdc3be44765f6de61dfe6d (mode 644)
--- /dev/null
+++ wiki.d/Tor.Irc
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Firefox/91.0
+author=m16
+charset=UTF-8
+csum=
+ctime=1648573593
+host=185.107.47.215
+name=Tor.Irc
+rev=9
+targets=
+text=Many IRC networks support Tor for connecting, including '''Ircnow'''.%0a%0aYou can check '''Ircnow's''' Tor servers from the following table:\\%0a!!! IRC Servers (by alphabetical hostname order)%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! IPv4 Server ||! IPv6 Server ||! Tor Server ||! Plain-text port ||! encrypted port || %0a||! Associate Servers ||! ||! ||! ||! || %0a|| [@irc.bsdforall.org@] || [@irc6.bsdforall.org@] || [@bsdnetoezbtsbrzlnrgxn7iv6qokouuyr4dkd7f2xt6fmmacvi2kjjad.onion@] || 6667 || 6697 ||%0a|| [@irc.ircforever.org@] || [@irc6.ircforever.org@] || [@6sntav3syf2yls5a.onion@] || 6667 || 6697 %0a|| [@irc.ircnow.org@] || [@irc6.ircnow.org@] || [@4ufrikyorlatp5ekgz6tlre22v6b5jxqbiid6cp7nuhemklukiohidqd.onion@] || 6667 || 6697 ||%0a|| [@irc.thunderirc.net@] || [@irc6.thunderirc.net@] || [@ircnowww2n24aluccfzydqelohej55yrgfkpnp6jc6geijmqht6w77yd.onion@] || 6667 || 6697 || %0a%0a%0a'''The OFTC Network'''\\%0aFor another example, the OFTC network supports Tor directly as well and no registration is needed, for OFTC just use one of the following addresses:\\%0a%0a*irc.oftc.net:6697%0a*oftcnet6xg6roj6d7id4y4cu6dchysacqj2ldgea73qzdagufflqxrid.onion:6697%0a\\%0a'''SASL may be needed'''\\%0aFor some networks you may need to configure SASL for access via Tor. For information on how to do that on ''irssi'' check this out for the liberachat network:\\%0a@@/SERVER ADD -ssl -ssl_verify -ssl_capath /etc/ssl/certs -network liberachat -port 6697 irc.libera.chat@@\\%0a@@/NETWORK ADD -sasl_mechanism plain -sasl_username [username] -sasl_password [password] liberachat@@\\%0aRestart Irssi, connect to the network and look for SASL authentication succeeded message. \\%0a\\%0a'''Connecting to a shell through Tor'''\\%0aIf one is looking for anonymity but doesn't mind revealing the shell being used, the user can connect to a shell (eg. freeirc shell) via Tor and use IRC directly from there:\\%0a%0a# Install Whonix Gateway and Whonix Workstation to Virtualbox virtualization software:%0a## Download Virtualbox for your architecture/distribution and install it%0a## Download the Whonix Workstation and Gateway from Whonix.org and follow their guide to install the system to Virtualbox%0a# Use Whonix Workstation to connect through Whonix Gateway (which is Tor-routed) to the shell\\%0aNow you connect to the shell via Tor.%0a## Boot the Whonix Gateway and Workstation from Virtualbox, (the Workstation uses the Gateway to connect via Tor).%0a## Login to the Workstation%0a## Type @@ssh [user]@[server]@@ and press enter%0a## Enter the password and you are logged in to your shell server from the Tor network%0a%0a'''To connect from the most used IRC clients'''\\%0a''irssi''\\%0a@@/connect [server] [port]@@\\%0a''hexchat''\\%0a@@/server [server] [port]@@
+time=1648644010
+author:1648644010=m16
+diff:1648644010:1648643949:=24c24%0a%3c Restart Irssi, connect to the network and look for SASL authentication succeeded message. \\%0a---%0a> Restart Irssi, connect to the network and look for SASL authentication succeeded message. %0a
+host:1648644010=185.107.47.215
+author:1648643949=m16
+diff:1648643949:1648643946:=
+host:1648643949=185.107.47.215
+author:1648643946=m16
+diff:1648643946:1648643877:=24d23%0a%3c Restart Irssi, connect to the network and look for SASL authentication succeeded message. %0a
+host:1648643946=185.107.47.215
+author:1648643877=m16
+diff:1648643877:1648643708:=33,36d32%0a%3c ## Boot the Whonix Gateway and Workstation from Virtualbox, (the Workstation uses the Gateway to connect via Tor).%0a%3c ## Login to the Workstation%0a%3c ## Type @@ssh [user]@[server]@@ and press enter%0a%3c ## Enter the password and you are logged in to your shell server from the Tor network%0a
+host:1648643877=185.107.47.215
+author:1648643708=m16
+diff:1648643708:1648643576:=
+host:1648643708=185.107.47.215
+author:1648643576=m16
+diff:1648643576:1648642682:=21,23c21%0a%3c For some networks you may need to configure SASL for access via Tor. For information on how to do that on ''irssi'' check this out for the liberachat network:\\%0a%3c @@/SERVER ADD -ssl -ssl_verify -ssl_capath /etc/ssl/certs -network liberachat -port 6697 irc.libera.chat@@\\%0a%3c @@/NETWORK ADD -sasl_mechanism plain -sasl_username [username] -sasl_password [password] liberachat@@\\%0a---%0a> For some networks you may need to configure SASL for access via Tor. For information on how to do that on ''irssi'' have a look here: [[https://wiki.archlinux.org/title/Irssi#Authenticating_with_SASL]]\\%0a28,30c26%0a%3c # Install Whonix Gateway and Whonix Workstation to Virtualbox virtualization software:%0a%3c ## Download Virtualbox for your architecture/distribution and install it%0a%3c ## Download the Whonix Workstation and Gateway from Whonix.org and follow their guide to install the system to Virtualbox%0a---%0a> # Install Whonix Gateway and Whonix Workstation to Virtualbox virtualization software%0a32c28%0a%3c Now you connect to the shell via Tor.%0a---%0a> For information on the above procedure, please have a look a the Whonix homepage.%0a
+host:1648643576=185.107.47.215
+author:1648642682=m16
+diff:1648642682:1648573755:=3,13c3,5%0a%3c You can check '''Ircnow's''' Tor servers from the following table:\\%0a%3c !!! IRC Servers (by alphabetical hostname order)%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! IPv4 Server ||! IPv6 Server ||! Tor Server ||! Plain-text port ||! encrypted port || %0a%3c ||! Associate Servers ||! ||! ||! ||! || %0a%3c || [@irc.bsdforall.org@] || [@irc6.bsdforall.org@] || [@bsdnetoezbtsbrzlnrgxn7iv6qokouuyr4dkd7f2xt6fmmacvi2kjjad.onion@] || 6667 || 6697 ||%0a%3c || [@irc.ircforever.org@] || [@irc6.ircforever.org@] || [@6sntav3syf2yls5a.onion@] || 6667 || 6697 %0a%3c || [@irc.ircnow.org@] || [@irc6.ircnow.org@] || [@4ufrikyorlatp5ekgz6tlre22v6b5jxqbiid6cp7nuhemklukiohidqd.onion@] || 6667 || 6697 ||%0a%3c || [@irc.thunderirc.net@] || [@irc6.thunderirc.net@] || [@ircnowww2n24aluccfzydqelohej55yrgfkpnp6jc6geijmqht6w77yd.onion@] || 6667 || 6697 || %0a%3c %0a%3c %0a---%0a> You can check '''Ircnow's''' Tor servers from the following page:\\%0a> [[https://wiki.ircnow.org/index.php?n=Ircnow.Servers]]%0a> %0a28,34c20%0a%3c For information on the above procedure, please have a look a the Whonix homepage.%0a%3c %0a%3c '''To connect from the most used IRC clients'''\\%0a%3c ''irssi''\\%0a%3c @@/connect [server] [port]@@\\%0a%3c ''hexchat''\\%0a%3c @@/server [server] [port]@@%0a\ No newline at end of file%0a---%0a> For information on the above procedure, please have a look a the Whonix homepage.%0a\ No newline at end of file%0a
+host:1648642682=185.107.47.215
+author:1648573755=m16
+diff:1648573755:1648573593:=1,3c1,3%0a%3c Many IRC networks support Tor for connecting, including '''Ircnow'''.%0a%3c %0a%3c You can check '''Ircnow's''' Tor servers from the following page:\\%0a---%0a> Many IRC networks support Tor for connecting, including Ircnow.%0a> %0a> You can check Ircnow's Tor servers from the following page:\\%0a6d5%0a%3c '''The OFTC Network'''\\%0a12d10%0a%3c '''SASL may be needed'''\\%0a15d12%0a%3c '''Connecting to a shell through Tor'''\\%0a
+host:1648573755=2602:fc05::47
+author:1648573593=m16
+diff:1648573593:1648573593:=1,17d0%0a%3c Many IRC networks support Tor for connecting, including Ircnow.%0a%3c %0a%3c You can check Ircnow's Tor servers from the following page:\\%0a%3c [[https://wiki.ircnow.org/index.php?n=Ircnow.Servers]]%0a%3c %0a%3c For another example, the OFTC network supports Tor directly as well and no registration is needed, for OFTC just use one of the following addresses:\\%0a%3c %0a%3c *irc.oftc.net:6697%0a%3c *oftcnet6xg6roj6d7id4y4cu6dchysacqj2ldgea73qzdagufflqxrid.onion:6697%0a%3c \\%0a%3c For some networks you may need to configure SASL for access via Tor. For information on how to do that on ''irssi'' have a look here: [[https://wiki.archlinux.org/title/Irssi#Authenticating_with_SASL]]\\%0a%3c \\%0a%3c If one is looking for anonymity but doesn't mind revealing the shell being used, the user can connect to a shell (eg. freeirc shell) via Tor and use IRC directly from there:\\%0a%3c %0a%3c # Install Whonix Gateway and Whonix Workstation to Virtualbox virtualization software%0a%3c # Use Whonix Workstation to connect through Whonix Gateway (which is Tor-routed) to the shell\\%0a%3c For information on the above procedure, please have a look a the Whonix homepage.%0a\ No newline at end of file%0a
+host:1648573593=2602:fc05::47
blob - /dev/null
blob + fc71361ec8a341b8392083fdfd8ce19c66500b95 (mode 644)
--- /dev/null
+++ wiki.d/Unix.Exhibit
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1647214665
+host=38.87.162.8
+name=Unix.Exhibit
+rev=1
+targets=
+text=(:title Fifty Years of Freedom: An Interactive Unix History:)%0a%0aLearn about the major milestones in unix history through virtual machines on our network.%0a%0aThis exhibit compiles all the major developments in Unix for a new generation to learn about the joy of software freedom.%0a%0a[[https://en.wikipedia.org/wiki/File:Unix_history-simple.svg|Diagram of Unix history]]%0a%0a!! Unix Past%0a%0a!!! UNIX v6%0a%0a!!! UNIX v8%0a%0aAttach:mux.png%0aAttach:blit.mkv%0a%0a!! Unix Present%0a%0a!!! BSD%0a%0a!!! MINIX%0a%0a!!! GNU/Linux%0a%0a!!! Solaris%0a%0a!! Unix Future%0a%0a!!! Plan 9%0a
+time=1647214665
+title=Fifty Years of Freedom: An Interactive Unix History
+author:1647214665=jrmu
+diff:1647214665:1647214665:=1,30d0%0a%3c (:title Fifty Years of Freedom: An Interactive Unix History:)%0a%3c %0a%3c Learn about the major milestones in unix history through virtual machines on our network.%0a%3c %0a%3c This exhibit compiles all the major developments in Unix for a new generation to learn about the joy of software freedom.%0a%3c %0a%3c [[https://en.wikipedia.org/wiki/File:Unix_history-simple.svg|Diagram of Unix history]]%0a%3c %0a%3c !! Unix Past%0a%3c %0a%3c !!! UNIX v6%0a%3c %0a%3c !!! UNIX v8%0a%3c %0a%3c Attach:mux.png%0a%3c Attach:blit.mkv%0a%3c %0a%3c !! Unix Present%0a%3c %0a%3c !!! BSD%0a%3c %0a%3c !!! MINIX%0a%3c %0a%3c !!! GNU/Linux%0a%3c %0a%3c !!! Solaris%0a%3c %0a%3c !! Unix Future%0a%3c %0a%3c !!! Plan 9%0a
+host:1647214665=38.87.162.8
blob - /dev/null
blob + d25827b17e1215cc3938d5eef8051c12d66280ab (mode 644)
--- /dev/null
+++ wiki.d/Unix.Reading
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1648263216
+host=38.87.162.8
+name=Unix.Reading
+rev=16
+targets=
+text=# * The Design and Implementation of the 4.4Bsd Operating System 1st Edition%0a * Publisher : Addison-Wesley; 1st edition (April 30, 1996)%0a * Language : English%0a * Hardcover : 580 pages%0a * ISBN-10 : 0201549794%0a * ISBN-13 : 978-0201549799%0a * https://www.amazon.com/Design-Implementation-4-4-Operating-System-dp-0201549794/dp/0201549794/ref=mt_other%0a %0a# * TCP/IP Illustrated: The Implementation, Vol. 2 6th printing Edition%0a * by W. Richard Stevens (Author), Gary R. Wright (Author)%0a * Publisher : Addison-Wesley Professional; 6th printing edition (January 1, 1995)%0a * Language : English%0a * Hardcover : 1174 pages%0a * ISBN-10 : 020163354X%0a * ISBN-13 : 978-0201633542 %0a https://www.amazon.com/TCP-IP-Illustrated-Implementation-Vol/dp/020163354X/ref=pd_sbs_2/130-2633296-9304042%0a %0a# * TCP/IP Illustrated: v. 3: TCP for Transactions, HTTP, NNTP and the Unix Domain Protocols (Addison-Wesley Professional Computing Series) 1st Edition%0a * by W. Richard Stevens (Author), Gary R. Wright (Author)%0a * Publisher : Addison-Wesley Professional; 1st edition (January 1, 1996)%0a * Language : English%0a * Hardcover : 328 pages%0a * ISBN-10 : 0201634953%0a * ISBN-13 : 978-0201634952 %0a https://www.amazon.com/TCP-Illustrated-Transactions-Addison-Wesley-Professional/dp/0201634953/ref=sr_1_5%0a %0a# * UNIX Network Programming 1st Edition%0a * ISBN-13: 978-0139498763%0a * ISBN-10: 0139498761%0a * Publisher : Prentice Hall; 1st edition (January 23, 1990)%0a * Language : English%0a * https://www.amazon.com/gp/product/0139498761/ref=dbs_a_def_rwt_bibl_vppi_i1%0a %0a# * UNIX Network Programming, Volume 2: Interprocess Communications, Second Edition 2nd Edition%0a * Publisher : Prentice Hall; 2nd edition (August 1, 1998)%0a * Language : English%0a * Hardcover : 400 pages%0a * ISBN-10 : 0130810819%0a * ISBN-13 : 978-0130810816%0a * https://www.amazon.com/dp/0130810819/ref=olp_aod_redir_impl1%0a %0a# * Advanced Programming in the Unix Environment (Addison-Wesley Professional Computing Series) First Edition%0a * Publisher : Addison-Wesley; First Edition (May 1, 1992)%0a * Language : English%0a * Hardcover : 768 pages%0a * ISBN-10 : 0201563177%0a * ISBN-13 : 978-0201563177%0a * https://www.amazon.com/Programming-Environment-Addison-Wesley-Professional-Computing/dp/0201563177/ref=pd_rhf_dp_s_all_spx_wp_26/131-5900491-0098268%0a %0a# * TCP/IP Illustrated, Vol. 1: The Protocols (Addison-Wesley Professional Computing Series) 20775th Edition%0a * Publisher : Addison-Wesley Professional; 20775th edition (January 1, 1994)%0a * Language : English%0a * Hardcover : 576 pages%0a * ISBN-10 : 0201633469%0a * ISBN-13 : 978-0201633467 %0a * https://www.amazon.com/TCP-Illustrated-Vol-Addison-Wesley-Professional/dp/0201633469/ref=pd_sim_2/130-2633296-9304042%0a %0a# * The Daemon, the Gnu, and the Penguin%0a * Salus, Peter H.%0a %0a# * The Unix Programming Environment%0a * by Brian Kernighan and Rob Pike%0a * Publisher: Prentice-Hall; 1st edition (November 1, 1983)%0a * ISBN-10: 013937681X%0a * ISBN-13: 978-0139376818 %0a %0a# * The Practice of Programming (Addison-Wesley Professional Computing Series)%0a * Kernighan, Brian; Pike, Rob%0a * Publisher: Addison-Wesley; 1st edition (February 4, 1999)%0a * ISBN-10: 020161586X%0a * ISBN-13: 978-0201615869 %0a %0a# * Lion's Commentary on UNIX with Source Code (Paperback)%0a * John Lions%0a %0a# * The AWK Programming Language%0a * Aho, Alfred V., Kernighan, Brian W., Weinberger, Peter J.%0a %0a# * Unix: A History and a Memoir (Paperback)%0a * Brian W Kernighan%0a * ISBN-10: 1695978552%0a * ISBN-13: 978-1695978553 %0a %0a# * The Idea Factory: Bell Labs%0a * Jon Gertner%0a * ASIN: 0143122797%0a * Publisher: Penguin Books; Reprint edition (February 26, 2013)%0a * ISBN-10: 9780143122791%0a * ISBN-13: 978-0143122791%0a %0a# * [[http://www.catb.org/~esr/writings/cathedral-bazaar/|The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary 1st Edition]]%0a * by Eric S. Raymond (Author)%0a * Publisher: O'Reilly Media; 1st edition (January 15, 2001)%0a * Language: English%0a * Paperback: 241 pages%0a * ISBN-10: 0596001088%0a * ISBN-13: 978-0596001087 %0a %0a# * Lions' Commentary on Unix 6th Edition%0a * by John Lions%0a * Publisher: Peer to Peer Communications/ Annabook; 6th edition (August 1, 1977) %0a * ISBN-13: 978-1573980135%0a * ISBN-10: 1573980137%0a %0a# * The Design of the UNIX Operating System 1st Edition%0a * by Maurice Bach (Author)%0a * Publisher: Pearson; 1st edition (May 27, 1986)%0a * ISBN-10: 0132017997%0a * ISBN-13: 978-0132017992 %0a %0a# * [[https://mitpress.mit.edu/sites/default/files/sicp/index.html|Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science) second edition]]%0a * Publisher: The MIT Press; second edition (September 1, 1996)%0a * ISBN-10: 0262510871%0a * ISBN-13: 978-0262510875 %0a %0a# * Hackers & Painters: Big Ideas from the Computer Age 1st Edition%0a * by Paul Graham (Author)%0a * Publisher: O'Reilly Media; 1st edition (June 22, 2010)%0a * ISBN-10: 1449389554%0a * ISBN-13: 978-1449389550 %0a %0a# * Compilers: Principles, Techniques, and Tools 2nd Edition%0a * by Alfred Aho (Author), Monica Lam (Author), Ravi Sethi (Author), Jeffrey Ullman (Author)%0a * Publisher: Addison Wesley; 2nd edition (August 31, 2006)%0a * ISBN-10: 0321486811%0a * ISBN-13: 978-0321486813 %0a %0a# * Foundations of Computer Science: C Edition (Principles of Computer Science Series) New edition%0a * by Alfred V. Aho (Author), Jeffrey D. Ullman (Author)%0a %0a# * C Programming Language, 2nd Edition 2nd Edition%0a * by Brian W. Kernighan (Author), Dennis M. Ritchie (Author)%0a * Publisher: Pearson; 2nd edition (March 22, 1988)%0a * ISBN-10: 0131103628%0a * ISBN-13: 978-0131103627 %0a %0a# * The Art of Doing Science and Engineering: Learning to Learn Hardcover – May 26, 2020%0a * by Richard W. Hamming (Author), Bret Victor (Foreword)%0a * Publisher: Stripe Press (May 26, 2020)%0a * ISBN-10: 1732265178%0a * ISBN-13: 978-1732265172 %0a %0a# * Go Programming Language, The (Addison-Wesley Professional Computing Series) 1st Edition%0a * by Alan Donovan (Author), Brian Kernighan (Author)%0a * ASIN: 0134190440%0a * Publisher: Addison-Wesley Professional; 1st edition (October 26, 2015)%0a * ISBN-10: 9780134190440%0a * ISBN-13: 978-0134190440 %0a
+time=1648481058
+author:1648481058=jrmu
+diff:1648481058:1648278016:=72a73,75%0a> # * Structured Computer Organization%0a> * Tanenbaum%0a> %0a78a82,84%0a> # * Learning the Korn Shell (2nd Edition)%0a> * Robbins, Arnold%0a> %0a84,89c90,91%0a%3c # * The Idea Factory: Bell Labs%0a%3c * Jon Gertner%0a%3c * ASIN: 0143122797%0a%3c * Publisher: Penguin Books; Reprint edition (February 26, 2013)%0a%3c * ISBN-10: 9780143122791%0a%3c * ISBN-13: 978-0143122791%0a---%0a> # * The Soul of a New Machine%0a> * by Tracy Kidder%0a91,97c93,97%0a%3c # * [[http://www.catb.org/~esr/writings/cathedral-bazaar/|The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary 1st Edition]]%0a%3c * by Eric S. Raymond (Author)%0a%3c * Publisher: O'Reilly Media; 1st edition (January 15, 2001)%0a%3c * Language: English%0a%3c * Paperback: 241 pages%0a%3c * ISBN-10: 0596001088%0a%3c * ISBN-13: 978-0596001087 %0a---%0a> # * Just For Fun%0a> * by Linus Torvalds, David Diamond%0a> * Publisher: Harper Business; Reprint edition (June 4, 2002)%0a> * ISBN-10: 0066620732%0a> * ISBN-13: 978-0066620732 %0a99,103c99,104%0a%3c # * Lions' Commentary on Unix 6th Edition%0a%3c * by John Lions%0a%3c * Publisher: Peer to Peer Communications/ Annabook; 6th edition (August 1, 1977) %0a%3c * ISBN-13: 978-1573980135%0a%3c * ISBN-10: 1573980137%0a---%0a> # * The Idea Factory: Bell Labs%0a> * Jon Gertner%0a> * ASIN: 0143122797%0a> * Publisher: Penguin Books; Reprint edition (February 26, 2013)%0a> * ISBN-10: 9780143122791%0a> * ISBN-13: 978-0143122791%0a105,109c106,110%0a%3c # * The Design of the UNIX Operating System 1st Edition%0a%3c * by Maurice Bach (Author)%0a%3c * Publisher: Pearson; 1st edition (May 27, 1986)%0a%3c * ISBN-10: 0132017997%0a%3c * ISBN-13: 978-0132017992 %0a---%0a> # * Dealers of Lightning: Xerox PARC and the Dawn of the Computer Age%0a> * by Michael A. Hiltzik%0a> * Publisher: Harper Business (April 5, 2000)%0a> * ISBN-10: 0887309895%0a> * ISBN-13: 978-0887309892 %0a111,114c112,113%0a%3c # * [[https://mitpress.mit.edu/sites/default/files/sicp/index.html|Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science) second edition]]%0a%3c * Publisher: The MIT Press; second edition (September 1, 1996)%0a%3c * ISBN-10: 0262510871%0a%3c * ISBN-13: 978-0262510875 %0a---%0a> # * Where Wizards Stay Up Late: The Origins of the Internet%0a> * by Katie Hafner%0a116,120c115,116%0a%3c # * Hackers & Painters: Big Ideas from the Computer Age 1st Edition%0a%3c * by Paul Graham (Author)%0a%3c * Publisher: O'Reilly Media; 1st edition (June 22, 2010)%0a%3c * ISBN-10: 1449389554%0a%3c * ISBN-13: 978-1449389550 %0a---%0a> # * Hackers: Heroes of the Computer Revolution%0a> * by Steven Levy%0a122,126c118,122%0a%3c # * Compilers: Principles, Techniques, and Tools 2nd Edition%0a%3c * by Alfred Aho (Author), Monica Lam (Author), Ravi Sethi (Author), Jeffrey Ullman (Author)%0a%3c * Publisher: Addison Wesley; 2nd edition (August 31, 2006)%0a%3c * ISBN-10: 0321486811%0a%3c * ISBN-13: 978-0321486813 %0a---%0a> # * Rebel Code: Linux And The Open Source Revolution Paperback – July 15, 2002%0a> * by Glyn Moody (Author)%0a> * Publisher: Basic Books; 1st edition (July 15, 2002)%0a> * ISBN-10: 0738206709%0a> * ISBN-13: 978-0738206707 %0a128,129c124,130%0a%3c # * Foundations of Computer Science: C Edition (Principles of Computer Science Series) New edition%0a%3c * by Alfred V. Aho (Author), Jeffrey D. Ullman (Author)%0a---%0a> # * [[http://www.catb.org/~esr/writings/cathedral-bazaar/|The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary 1st Edition]]%0a> * by Eric S. Raymond (Author)%0a> * Publisher: O'Reilly Media; 1st edition (January 15, 2001)%0a> * Language: English%0a> * Paperback: 241 pages%0a> * ISBN-10: 0596001088%0a> * ISBN-13: 978-0596001087 %0a131,135c132,227%0a%3c # * C Programming Language, 2nd Edition 2nd Edition%0a%3c * by Brian W. Kernighan (Author), Dennis M. Ritchie (Author)%0a%3c * Publisher: Pearson; 2nd edition (March 22, 1988)%0a%3c * ISBN-10: 0131103628%0a%3c * ISBN-13: 978-0131103627 %0a---%0a> # * Lions' Commentary on Unix 6th Edition%0a> * by John Lions%0a> * Publisher: Peer to Peer Communications/ Annabook; 6th edition (August 1, 1977) %0a> * ISBN-13: 978-1573980135%0a> * ISBN-10: 1573980137%0a> %0a> %0a> # * The Design of the UNIX Operating System 1st Edition%0a> * by Maurice Bach (Author)%0a> * Publisher: Pearson; 1st edition (May 27, 1986)%0a> * ISBN-10: 0132017997%0a> * ISBN-13: 978-0132017992 %0a> %0a> # * [[https://mitpress.mit.edu/sites/default/files/sicp/index.html|Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science) second edition]]%0a> * Publisher: The MIT Press; second edition (September 1, 1996)%0a> * ISBN-10: 0262510871%0a> * ISBN-13: 978-0262510875 %0a> %0a> # * The Daemon, the Gnu, and the Penguin Paperback – September 1, 2008%0a> * by Peter H. Salus, Jeremy C. Reed, Jon Hall%0a> * Publisher: Reed Media Services (September 1, 2008)%0a> * ISBN-10: 097903423X%0a> * ISBN-13: 978-0979034237%0a> %0a> # * The Big Score: The Billion Dollar Story of Silicon Valley Hardcover – July 20, 2021%0a> * by Michael S. Malone (Author)%0a> * Publisher: Stripe Press; Second edition (July 20, 2021)%0a> * ISBN-10: 1953953166%0a> * ISBN-13: 978-1953953162 %0a> %0a> # * Free Software, Free Society: Selected Essays of Richard M. Stallman Hardcover – October 1, 2002%0a> * by Richard M. Stallman (Author), Lawrence Lessig (Author), Joshua Gay (Author), Laurence Lessig (Introduction)%0a> * Publisher: Free Software Foundation (October 1, 2002)%0a> * ISBN-10: 1882114981%0a> * ISBN-13: 978-1882114986 %0a> %0a> # * Hackers & Painters: Big Ideas from the Computer Age 1st Edition%0a> * by Paul Graham (Author)%0a> * Publisher: O'Reilly Media; 1st edition (June 22, 2010)%0a> * ISBN-10: 1449389554%0a> * ISBN-13: 978-1449389550 %0a> %0a> # * The Dream Machine Hardcover – September 25, 2018%0a> * by M. Mitchell Waldrop (Author)%0a> * Publisher: Stripe Press; Fourth edition (September 25, 2018)%0a> * ISBN-10: 1732265119%0a> * ISBN-13: 978-1732265110 %0a> %0a> # * Ghost in the Wires: My Adventures as the World's Most Wanted Hacker Paperback – Illustrated, April 24, 2012%0a> * by Kevin Mitnick (Author), William L. Simon Steve Wozniak (Foreword)%0a> * Publisher: Back Bay Books; Illustrated edition (April 24, 2012)%0a> * ISBN-10: 0316037729%0a> * ISBN-13: 978-0316037723 %0a> %0a> %0a> # * Programming Pearls 2nd Edition%0a> * by Jon Bentley (Author)%0a> * Publisher: Addison-Wesley Professional; 2nd edition (September 27, 1999)%0a> * ISBN-10: 0201657880%0a> * ISBN-13: 978-0201657883 %0a> %0a> # * Compilers: Principles, Techniques, and Tools 2nd Edition%0a> * by Alfred Aho (Author), Monica Lam (Author), Ravi Sethi (Author), Jeffrey Ullman (Author)%0a> * Publisher: Addison Wesley; 2nd edition (August 31, 2006)%0a> * ISBN-10: 0321486811%0a> * ISBN-13: 978-0321486813 %0a> %0a> %0a> # * [[https://htdp.org/|How to Design Programs: An Introduction to Programming and Computing First Edition]]%0a> * by Matthias Felleisen (Author), Robert Bruce Findler (Author), Matthew Flatt (Author), Shriram Krishnamurthi (Author)%0a> * Publisher: The MIT Press; First Edition (February 12, 2001)%0a> * ISBN-10: 0262062186%0a> * ISBN-13: 978-0262062183 %0a> %0a> %0a> # * Foundations of Computer Science: C Edition (Principles of Computer Science Series) New edition%0a> * by Alfred V. Aho (Author), Jeffrey D. Ullman (Author)%0a> %0a> %0a> # * C Programming Language, 2nd Edition 2nd Edition%0a> * by Brian W. Kernighan (Author), Dennis M. Ritchie (Author)%0a> * Publisher: Pearson; 2nd edition (March 22, 1988)%0a> * ISBN-10: 0131103628%0a> * ISBN-13: 978-0131103627 %0a> %0a> # * The Art of Deception: Controlling the Human Element of Security Paperback – October 17, 2003%0a> * by Kevin D. Mitnick (Author), William L. Simon (Author), Steve Wozniak (Foreword)%0a> %0a> # * The Art of Invisibility: The World's Most Famous Hacker Teaches You How to Be Safe in the Age of Big Brother and Big Data Paperback – September 10, 2019%0a> * by Kevin Mitnick (Author)%0a> %0a> # * The Art of UNIX Programming (The Addison-Wesley Professional Computng Series) 1st Edition%0a> * by Eric Raymond (Author)%0a> * Publisher: Addison-Wesley; 1st edition (September 23, 2003)%0a> * ISBN-10: 0131429019%0a> * ISBN-13: 978-0131429017 %0a
+host:1648481058=38.87.162.8
+author:1648278016=jrmu
+diff:1648278016:1648277899:=1,240c1,240%0a%3c # * The Design and Implementation of the 4.4Bsd Operating System 1st Edition%0a%3c * Publisher : Addison-Wesley; 1st edition (April 30, 1996)%0a%3c * Language : English%0a%3c * Hardcover : 580 pages%0a%3c * ISBN-10 : 0201549794%0a%3c * ISBN-13 : 978-0201549799%0a%3c * https://www.amazon.com/Design-Implementation-4-4-Operating-System-dp-0201549794/dp/0201549794/ref=mt_other%0a%3c %0a%3c # * TCP/IP Illustrated: The Implementation, Vol. 2 6th printing Edition%0a%3c * by W. Richard Stevens (Author), Gary R. Wright (Author)%0a%3c * Publisher : Addison-Wesley Professional; 6th printing edition (January 1, 1995)%0a%3c * Language : English%0a%3c * Hardcover : 1174 pages%0a%3c * ISBN-10 : 020163354X%0a%3c * ISBN-13 : 978-0201633542 %0a%3c https://www.amazon.com/TCP-IP-Illustrated-Implementation-Vol/dp/020163354X/ref=pd_sbs_2/130-2633296-9304042%0a%3c %0a%3c # * TCP/IP Illustrated: v. 3: TCP for Transactions, HTTP, NNTP and the Unix Domain Protocols (Addison-Wesley Professional Computing Series) 1st Edition%0a%3c * by W. Richard Stevens (Author), Gary R. Wright (Author)%0a%3c * Publisher : Addison-Wesley Professional; 1st edition (January 1, 1996)%0a%3c * Language : English%0a%3c * Hardcover : 328 pages%0a%3c * ISBN-10 : 0201634953%0a%3c * ISBN-13 : 978-0201634952 %0a%3c https://www.amazon.com/TCP-Illustrated-Transactions-Addison-Wesley-Professional/dp/0201634953/ref=sr_1_5%0a%3c %0a%3c # * UNIX Network Programming 1st Edition%0a%3c * ISBN-13: 978-0139498763%0a%3c * ISBN-10: 0139498761%0a%3c * Publisher : Prentice Hall; 1st edition (January 23, 1990)%0a%3c * Language : English%0a%3c * https://www.amazon.com/gp/product/0139498761/ref=dbs_a_def_rwt_bibl_vppi_i1%0a%3c %0a%3c # * UNIX Network Programming, Volume 2: Interprocess Communications, Second Edition 2nd Edition%0a%3c * Publisher : Prentice Hall; 2nd edition (August 1, 1998)%0a%3c * Language : English%0a%3c * Hardcover : 400 pages%0a%3c * ISBN-10 : 0130810819%0a%3c * ISBN-13 : 978-0130810816%0a%3c * https://www.amazon.com/dp/0130810819/ref=olp_aod_redir_impl1%0a%3c %0a%3c # * Advanced Programming in the Unix Environment (Addison-Wesley Professional Computing Series) First Edition%0a%3c * Publisher : Addison-Wesley; First Edition (May 1, 1992)%0a%3c * Language : English%0a%3c * Hardcover : 768 pages%0a%3c * ISBN-10 : 0201563177%0a%3c * ISBN-13 : 978-0201563177%0a%3c * https://www.amazon.com/Programming-Environment-Addison-Wesley-Professional-Computing/dp/0201563177/ref=pd_rhf_dp_s_all_spx_wp_26/131-5900491-0098268%0a%3c %0a%3c # * TCP/IP Illustrated, Vol. 1: The Protocols (Addison-Wesley Professional Computing Series) 20775th Edition%0a%3c * Publisher : Addison-Wesley Professional; 20775th edition (January 1, 1994)%0a%3c * Language : English%0a%3c * Hardcover : 576 pages%0a%3c * ISBN-10 : 0201633469%0a%3c * ISBN-13 : 978-0201633467 %0a%3c * https://www.amazon.com/TCP-Illustrated-Vol-Addison-Wesley-Professional/dp/0201633469/ref=pd_sim_2/130-2633296-9304042%0a%3c %0a%3c # * The Daemon, the Gnu, and the Penguin%0a%3c * Salus, Peter H.%0a%3c %0a%3c # * The Unix Programming Environment%0a%3c * by Brian Kernighan and Rob Pike%0a%3c * Publisher: Prentice-Hall; 1st edition (November 1, 1983)%0a%3c * ISBN-10: 013937681X%0a%3c * ISBN-13: 978-0139376818 %0a%3c %0a%3c # * The Practice of Programming (Addison-Wesley Professional Computing Series)%0a%3c * Kernighan, Brian; Pike, Rob%0a%3c * Publisher: Addison-Wesley; 1st edition (February 4, 1999)%0a%3c * ISBN-10: 020161586X%0a%3c * ISBN-13: 978-0201615869 %0a%3c %0a%3c # * Structured Computer Organization%0a%3c * Tanenbaum%0a%3c %0a%3c # * Lion's Commentary on UNIX with Source Code (Paperback)%0a%3c * John Lions%0a%3c %0a%3c # * The AWK Programming Language%0a%3c * Aho, Alfred V., Kernighan, Brian W., Weinberger, Peter J.%0a%3c %0a%3c # * Learning the Korn Shell (2nd Edition)%0a%3c * Robbins, Arnold%0a%3c %0a%3c # * Unix: A History and a Memoir (Paperback)%0a%3c * Brian W Kernighan%0a%3c * ISBN-10: 1695978552%0a%3c * ISBN-13: 978-1695978553 %0a%3c %0a%3c # * The Soul of a New Machine%0a%3c * by Tracy Kidder%0a%3c %0a%3c # * Just For Fun%0a%3c * by Linus Torvalds, David Diamond%0a%3c * Publisher: Harper Business; Reprint edition (June 4, 2002)%0a%3c * ISBN-10: 0066620732%0a%3c * ISBN-13: 978-0066620732 %0a%3c %0a%3c # * The Idea Factory: Bell Labs%0a%3c * Jon Gertner%0a%3c * ASIN: 0143122797%0a%3c * Publisher: Penguin Books; Reprint edition (February 26, 2013)%0a%3c * ISBN-10: 9780143122791%0a%3c * ISBN-13: 978-0143122791%0a%3c %0a%3c # * Dealers of Lightning: Xerox PARC and the Dawn of the Computer Age%0a%3c * by Michael A. Hiltzik%0a%3c * Publisher: Harper Business (April 5, 2000)%0a%3c * ISBN-10: 0887309895%0a%3c * ISBN-13: 978-0887309892 %0a%3c %0a%3c # * Where Wizards Stay Up Late: The Origins of the Internet%0a%3c * by Katie Hafner%0a%3c %0a%3c # * Hackers: Heroes of the Computer Revolution%0a%3c * by Steven Levy%0a%3c %0a%3c # * Rebel Code: Linux And The Open Source Revolution Paperback – July 15, 2002%0a%3c * by Glyn Moody (Author)%0a%3c * Publisher: Basic Books; 1st edition (July 15, 2002)%0a%3c * ISBN-10: 0738206709%0a%3c * ISBN-13: 978-0738206707 %0a%3c %0a%3c # * [[http://www.catb.org/~esr/writings/cathedral-bazaar/|The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary 1st Edition]]%0a%3c * by Eric S. Raymond (Author)%0a%3c * Publisher: O'Reilly Media; 1st edition (January 15, 2001)%0a%3c * Language: English%0a%3c * Paperback: 241 pages%0a%3c * ISBN-10: 0596001088%0a%3c * ISBN-13: 978-0596001087 %0a%3c %0a%3c # * Lions' Commentary on Unix 6th Edition%0a%3c * by John Lions%0a%3c * Publisher: Peer to Peer Communications/ Annabook; 6th edition (August 1, 1977) %0a%3c * ISBN-13: 978-1573980135%0a%3c * ISBN-10: 1573980137%0a%3c %0a%3c %0a%3c # * The Design of the UNIX Operating System 1st Edition%0a%3c * by Maurice Bach (Author)%0a%3c * Publisher: Pearson; 1st edition (May 27, 1986)%0a%3c * ISBN-10: 0132017997%0a%3c * ISBN-13: 978-0132017992 %0a%3c %0a%3c # * [[https://mitpress.mit.edu/sites/default/files/sicp/index.html|Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science) second edition]]%0a%3c * Publisher: The MIT Press; second edition (September 1, 1996)%0a%3c * ISBN-10: 0262510871%0a%3c * ISBN-13: 978-0262510875 %0a%3c %0a%3c # * The Daemon, the Gnu, and the Penguin Paperback – September 1, 2008%0a%3c * by Peter H. Salus, Jeremy C. Reed, Jon Hall%0a%3c * Publisher: Reed Media Services (September 1, 2008)%0a%3c * ISBN-10: 097903423X%0a%3c * ISBN-13: 978-0979034237%0a%3c %0a%3c # * The Big Score: The Billion Dollar Story of Silicon Valley Hardcover – July 20, 2021%0a%3c * by Michael S. Malone (Author)%0a%3c * Publisher: Stripe Press; Second edition (July 20, 2021)%0a%3c * ISBN-10: 1953953166%0a%3c * ISBN-13: 978-1953953162 %0a%3c %0a%3c # * Free Software, Free Society: Selected Essays of Richard M. Stallman Hardcover – October 1, 2002%0a%3c * by Richard M. Stallman (Author), Lawrence Lessig (Author), Joshua Gay (Author), Laurence Lessig (Introduction)%0a%3c * Publisher: Free Software Foundation (October 1, 2002)%0a%3c * ISBN-10: 1882114981%0a%3c * ISBN-13: 978-1882114986 %0a%3c %0a%3c # * Hackers & Painters: Big Ideas from the Computer Age 1st Edition%0a%3c * by Paul Graham (Author)%0a%3c * Publisher: O'Reilly Media; 1st edition (June 22, 2010)%0a%3c * ISBN-10: 1449389554%0a%3c * ISBN-13: 978-1449389550 %0a%3c %0a%3c # * The Dream Machine Hardcover – September 25, 2018%0a%3c * by M. Mitchell Waldrop (Author)%0a%3c * Publisher: Stripe Press; Fourth edition (September 25, 2018)%0a%3c * ISBN-10: 1732265119%0a%3c * ISBN-13: 978-1732265110 %0a%3c %0a%3c # * Ghost in the Wires: My Adventures as the World's Most Wanted Hacker Paperback – Illustrated, April 24, 2012%0a%3c * by Kevin Mitnick (Author), William L. Simon Steve Wozniak (Foreword)%0a%3c * Publisher: Back Bay Books; Illustrated edition (April 24, 2012)%0a%3c * ISBN-10: 0316037729%0a%3c * ISBN-13: 978-0316037723 %0a%3c %0a%3c %0a%3c # * Programming Pearls 2nd Edition%0a%3c * by Jon Bentley (Author)%0a%3c * Publisher: Addison-Wesley Professional; 2nd edition (September 27, 1999)%0a%3c * ISBN-10: 0201657880%0a%3c * ISBN-13: 978-0201657883 %0a%3c %0a%3c # * Compilers: Principles, Techniques, and Tools 2nd Edition%0a%3c * by Alfred Aho (Author), Monica Lam (Author), Ravi Sethi (Author), Jeffrey Ullman (Author)%0a%3c * Publisher: Addison Wesley; 2nd edition (August 31, 2006)%0a%3c * ISBN-10: 0321486811%0a%3c * ISBN-13: 978-0321486813 %0a%3c %0a%3c %0a%3c # * [[https://htdp.org/|How to Design Programs: An Introduction to Programming and Computing First Edition]]%0a%3c * by Matthias Felleisen (Author), Robert Bruce Findler (Author), Matthew Flatt (Author), Shriram Krishnamurthi (Author)%0a%3c * Publisher: The MIT Press; First Edition (February 12, 2001)%0a%3c * ISBN-10: 0262062186%0a%3c * ISBN-13: 978-0262062183 %0a%3c %0a%3c %0a%3c # * Foundations of Computer Science: C Edition (Principles of Computer Science Series) New edition%0a%3c * by Alfred V. Aho (Author), Jeffrey D. Ullman (Author)%0a%3c %0a%3c %0a%3c # * C Programming Language, 2nd Edition 2nd Edition%0a%3c * by Brian W. Kernighan (Author), Dennis M. Ritchie (Author)%0a%3c * Publisher: Pearson; 2nd edition (March 22, 1988)%0a%3c * ISBN-10: 0131103628%0a%3c * ISBN-13: 978-0131103627 %0a%3c %0a%3c # * The Art of Deception: Controlling the Human Element of Security Paperback – October 17, 2003%0a%3c * by Kevin D. Mitnick (Author), William L. Simon (Author), Steve Wozniak (Foreword)%0a%3c %0a%3c # * The Art of Invisibility: The World's Most Famous Hacker Teaches You How to Be Safe in the Age of Big Brother and Big Data Paperback – September 10, 2019%0a%3c * by Kevin Mitnick (Author)%0a%3c %0a%3c # * The Art of UNIX Programming (The Addison-Wesley Professional Computng Series) 1st Edition%0a%3c * by Eric Raymond (Author)%0a%3c * Publisher: Addison-Wesley; 1st edition (September 23, 2003)%0a%3c * ISBN-10: 0131429019%0a%3c * ISBN-13: 978-0131429017 %0a%3c %0a%3c # * The Art of Doing Science and Engineering: Learning to Learn Hardcover – May 26, 2020%0a%3c * by Richard W. Hamming (Author), Bret Victor (Foreword)%0a%3c * Publisher: Stripe Press (May 26, 2020)%0a%3c * ISBN-10: 1732265178%0a%3c * ISBN-13: 978-1732265172 %0a%3c %0a%3c # * Go Programming Language, The (Addison-Wesley Professional Computing Series) 1st Edition%0a%3c * by Alan Donovan (Author), Brian Kernighan (Author)%0a%3c * ASIN: 0134190440%0a%3c * Publisher: Addison-Wesley Professional; 1st edition (October 26, 2015)%0a%3c * ISBN-10: 9780134190440%0a%3c * ISBN-13: 978-0134190440 %0a---%0a> * The Design and Implementation of the 4.4Bsd Operating System 1st Edition%0a> * Publisher : Addison-Wesley; 1st edition (April 30, 1996)%0a> * Language : English%0a> * Hardcover : 580 pages%0a> * ISBN-10 : 0201549794%0a> * ISBN-13 : 978-0201549799%0a> * https://www.amazon.com/Design-Implementation-4-4-Operating-System-dp-0201549794/dp/0201549794/ref=mt_other%0a> %0a> * TCP/IP Illustrated: The Implementation, Vol. 2 6th printing Edition%0a> * by W. Richard Stevens (Author), Gary R. Wright (Author)%0a> * Publisher : Addison-Wesley Professional; 6th printing edition (January 1, 1995)%0a> * Language : English%0a> * Hardcover : 1174 pages%0a> * ISBN-10 : 020163354X%0a> * ISBN-13 : 978-0201633542 %0a> https://www.amazon.com/TCP-IP-Illustrated-Implementation-Vol/dp/020163354X/ref=pd_sbs_2/130-2633296-9304042%0a> %0a> * TCP/IP Illustrated: v. 3: TCP for Transactions, HTTP, NNTP and the Unix Domain Protocols (Addison-Wesley Professional Computing Series) 1st Edition%0a> * by W. Richard Stevens (Author), Gary R. Wright (Author)%0a> * Publisher : Addison-Wesley Professional; 1st edition (January 1, 1996)%0a> * Language : English%0a> * Hardcover : 328 pages%0a> * ISBN-10 : 0201634953%0a> * ISBN-13 : 978-0201634952 %0a> https://www.amazon.com/TCP-Illustrated-Transactions-Addison-Wesley-Professional/dp/0201634953/ref=sr_1_5%0a> %0a> * UNIX Network Programming 1st Edition%0a> * ISBN-13: 978-0139498763%0a> * ISBN-10: 0139498761%0a> * Publisher : Prentice Hall; 1st edition (January 23, 1990)%0a> * Language : English%0a> * https://www.amazon.com/gp/product/0139498761/ref=dbs_a_def_rwt_bibl_vppi_i1%0a> %0a> * UNIX Network Programming, Volume 2: Interprocess Communications, Second Edition 2nd Edition%0a> * Publisher : Prentice Hall; 2nd edition (August 1, 1998)%0a> * Language : English%0a> * Hardcover : 400 pages%0a> * ISBN-10 : 0130810819%0a> * ISBN-13 : 978-0130810816%0a> * https://www.amazon.com/dp/0130810819/ref=olp_aod_redir_impl1%0a> %0a> * Advanced Programming in the Unix Environment (Addison-Wesley Professional Computing Series) First Edition%0a> * Publisher : Addison-Wesley; First Edition (May 1, 1992)%0a> * Language : English%0a> * Hardcover : 768 pages%0a> * ISBN-10 : 0201563177%0a> * ISBN-13 : 978-0201563177%0a> * https://www.amazon.com/Programming-Environment-Addison-Wesley-Professional-Computing/dp/0201563177/ref=pd_rhf_dp_s_all_spx_wp_26/131-5900491-0098268%0a> %0a> * TCP/IP Illustrated, Vol. 1: The Protocols (Addison-Wesley Professional Computing Series) 20775th Edition%0a> * Publisher : Addison-Wesley Professional; 20775th edition (January 1, 1994)%0a> * Language : English%0a> * Hardcover : 576 pages%0a> * ISBN-10 : 0201633469%0a> * ISBN-13 : 978-0201633467 %0a> * https://www.amazon.com/TCP-Illustrated-Vol-Addison-Wesley-Professional/dp/0201633469/ref=pd_sim_2/130-2633296-9304042%0a> %0a> * The Daemon, the Gnu, and the Penguin%0a> * Salus, Peter H.%0a> %0a> * The Unix Programming Environment%0a> * by Brian Kernighan and Rob Pike%0a> * Publisher: Prentice-Hall; 1st edition (November 1, 1983)%0a> * ISBN-10: 013937681X%0a> * ISBN-13: 978-0139376818 %0a> %0a> * The Practice of Programming (Addison-Wesley Professional Computing Series)%0a> * Kernighan, Brian; Pike, Rob%0a> * Publisher: Addison-Wesley; 1st edition (February 4, 1999)%0a> * ISBN-10: 020161586X%0a> * ISBN-13: 978-0201615869 %0a> %0a> * Structured Computer Organization%0a> * Tanenbaum%0a> %0a> * Lion's Commentary on UNIX with Source Code (Paperback)%0a> * John Lions%0a> %0a> * The AWK Programming Language%0a> * Aho, Alfred V., Kernighan, Brian W., Weinberger, Peter J.%0a> %0a> * Learning the Korn Shell (2nd Edition)%0a> * Robbins, Arnold%0a> %0a> * Unix: A History and a Memoir (Paperback)%0a> * Brian W Kernighan%0a> * ISBN-10: 1695978552%0a> * ISBN-13: 978-1695978553 %0a> %0a> * The Soul of a New Machine%0a> * by Tracy Kidder%0a> %0a> * Just For Fun%0a> * by Linus Torvalds, David Diamond%0a> * Publisher: Harper Business; Reprint edition (June 4, 2002)%0a> * ISBN-10: 0066620732%0a> * ISBN-13: 978-0066620732 %0a> %0a> * The Idea Factory: Bell Labs%0a> * Jon Gertner%0a> * ASIN: 0143122797%0a> * Publisher: Penguin Books; Reprint edition (February 26, 2013)%0a> * ISBN-10: 9780143122791%0a> * ISBN-13: 978-0143122791%0a> %0a> * Dealers of Lightning: Xerox PARC and the Dawn of the Computer Age%0a> * by Michael A. Hiltzik%0a> * Publisher: Harper Business (April 5, 2000)%0a> * ISBN-10: 0887309895%0a> * ISBN-13: 978-0887309892 %0a> %0a> * Where Wizards Stay Up Late: The Origins of the Internet%0a> * by Katie Hafner%0a> %0a> * Hackers: Heroes of the Computer Revolution%0a> * by Steven Levy%0a> %0a> * Rebel Code: Linux And The Open Source Revolution Paperback – July 15, 2002%0a> * by Glyn Moody (Author)%0a> * Publisher: Basic Books; 1st edition (July 15, 2002)%0a> * ISBN-10: 0738206709%0a> * ISBN-13: 978-0738206707 %0a> %0a> * [[http://www.catb.org/~esr/writings/cathedral-bazaar/|The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary 1st Edition]]%0a> * by Eric S. Raymond (Author)%0a> * Publisher: O'Reilly Media; 1st edition (January 15, 2001)%0a> * Language: English%0a> * Paperback: 241 pages%0a> * ISBN-10: 0596001088%0a> * ISBN-13: 978-0596001087 %0a> %0a> * Lions' Commentary on Unix 6th Edition%0a> * by John Lions%0a> * Publisher: Peer to Peer Communications/ Annabook; 6th edition (August 1, 1977) %0a> * ISBN-13: 978-1573980135%0a> * ISBN-10: 1573980137%0a> %0a> %0a> * The Design of the UNIX Operating System 1st Edition%0a> * by Maurice Bach (Author)%0a> * Publisher: Pearson; 1st edition (May 27, 1986)%0a> * ISBN-10: 0132017997%0a> * ISBN-13: 978-0132017992 %0a> %0a> * [[https://mitpress.mit.edu/sites/default/files/sicp/index.html|Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science) second edition]]%0a> * Publisher: The MIT Press; second edition (September 1, 1996)%0a> * ISBN-10: 0262510871%0a> * ISBN-13: 978-0262510875 %0a> %0a> * The Daemon, the Gnu, and the Penguin Paperback – September 1, 2008%0a> * by Peter H. Salus, Jeremy C. Reed, Jon Hall%0a> * Publisher: Reed Media Services (September 1, 2008)%0a> * ISBN-10: 097903423X%0a> * ISBN-13: 978-0979034237%0a> %0a> * The Big Score: The Billion Dollar Story of Silicon Valley Hardcover – July 20, 2021%0a> * by Michael S. Malone (Author)%0a> * Publisher: Stripe Press; Second edition (July 20, 2021)%0a> * ISBN-10: 1953953166%0a> * ISBN-13: 978-1953953162 %0a> %0a> * Free Software, Free Society: Selected Essays of Richard M. Stallman Hardcover – October 1, 2002%0a> * by Richard M. Stallman (Author), Lawrence Lessig (Author), Joshua Gay (Author), Laurence Lessig (Introduction)%0a> * Publisher: Free Software Foundation (October 1, 2002)%0a> * ISBN-10: 1882114981%0a> * ISBN-13: 978-1882114986 %0a> %0a> * Hackers & Painters: Big Ideas from the Computer Age 1st Edition%0a> * by Paul Graham (Author)%0a> * Publisher: O'Reilly Media; 1st edition (June 22, 2010)%0a> * ISBN-10: 1449389554%0a> * ISBN-13: 978-1449389550 %0a> %0a> * The Dream Machine Hardcover – September 25, 2018%0a> * by M. Mitchell Waldrop (Author)%0a> * Publisher: Stripe Press; Fourth edition (September 25, 2018)%0a> * ISBN-10: 1732265119%0a> * ISBN-13: 978-1732265110 %0a> %0a> * Ghost in the Wires: My Adventures as the World's Most Wanted Hacker Paperback – Illustrated, April 24, 2012%0a> * by Kevin Mitnick (Author), William L. Simon Steve Wozniak (Foreword)%0a> * Publisher: Back Bay Books; Illustrated edition (April 24, 2012)%0a> * ISBN-10: 0316037729%0a> * ISBN-13: 978-0316037723 %0a> %0a> %0a> * Programming Pearls 2nd Edition%0a> * by Jon Bentley (Author)%0a> * Publisher: Addison-Wesley Professional; 2nd edition (September 27, 1999)%0a> * ISBN-10: 0201657880%0a> * ISBN-13: 978-0201657883 %0a> %0a> * Compilers: Principles, Techniques, and Tools 2nd Edition%0a> * by Alfred Aho (Author), Monica Lam (Author), Ravi Sethi (Author), Jeffrey Ullman (Author)%0a> * Publisher: Addison Wesley; 2nd edition (August 31, 2006)%0a> * ISBN-10: 0321486811%0a> * ISBN-13: 978-0321486813 %0a> %0a> %0a> * [[https://htdp.org/|How to Design Programs: An Introduction to Programming and Computing First Edition]]%0a> * by Matthias Felleisen (Author), Robert Bruce Findler (Author), Matthew Flatt (Author), Shriram Krishnamurthi (Author)%0a> * Publisher: The MIT Press; First Edition (February 12, 2001)%0a> * ISBN-10: 0262062186%0a> * ISBN-13: 978-0262062183 %0a> %0a> %0a> * Foundations of Computer Science: C Edition (Principles of Computer Science Series) New edition%0a> * by Alfred V. Aho (Author), Jeffrey D. Ullman (Author)%0a> %0a> %0a> * C Programming Language, 2nd Edition 2nd Edition%0a> * by Brian W. Kernighan (Author), Dennis M. Ritchie (Author)%0a> * Publisher: Pearson; 2nd edition (March 22, 1988)%0a> * ISBN-10: 0131103628%0a> * ISBN-13: 978-0131103627 %0a> %0a> * The Art of Deception: Controlling the Human Element of Security Paperback – October 17, 2003%0a> * by Kevin D. Mitnick (Author), William L. Simon (Author), Steve Wozniak (Foreword)%0a> %0a> * The Art of Invisibility: The World's Most Famous Hacker Teaches You How to Be Safe in the Age of Big Brother and Big Data Paperback – September 10, 2019%0a> * by Kevin Mitnick (Author)%0a> %0a> * The Art of UNIX Programming (The Addison-Wesley Professional Computng Series) 1st Edition%0a> * by Eric Raymond (Author)%0a> * Publisher: Addison-Wesley; 1st edition (September 23, 2003)%0a> * ISBN-10: 0131429019%0a> * ISBN-13: 978-0131429017 %0a> %0a> * The Art of Doing Science and Engineering: Learning to Learn Hardcover – May 26, 2020%0a> * by Richard W. Hamming (Author), Bret Victor (Foreword)%0a> * Publisher: Stripe Press (May 26, 2020)%0a> * ISBN-10: 1732265178%0a> * ISBN-13: 978-1732265172 %0a> %0a> * Go Programming Language, The (Addison-Wesley Professional Computing Series) 1st Edition%0a> * by Alan Donovan (Author), Brian Kernighan (Author)%0a> * ASIN: 0134190440%0a> * Publisher: Addison-Wesley Professional; 1st edition (October 26, 2015)%0a> * ISBN-10: 9780134190440%0a> * ISBN-13: 978-0134190440 %0a
+host:1648278016=38.87.162.8
+author:1648277899=jrmu
+diff:1648277899:1648277750:=228,240d227%0a%3c %0a%3c * The Art of Doing Science and Engineering: Learning to Learn Hardcover – May 26, 2020%0a%3c * by Richard W. Hamming (Author), Bret Victor (Foreword)%0a%3c * Publisher: Stripe Press (May 26, 2020)%0a%3c * ISBN-10: 1732265178%0a%3c * ISBN-13: 978-1732265172 %0a%3c %0a%3c * Go Programming Language, The (Addison-Wesley Professional Computing Series) 1st Edition%0a%3c * by Alan Donovan (Author), Brian Kernighan (Author)%0a%3c * ASIN: 0134190440%0a%3c * Publisher: Addison-Wesley Professional; 1st edition (October 26, 2015)%0a%3c * ISBN-10: 9780134190440%0a%3c * ISBN-13: 978-0134190440 %0a
+host:1648277899=38.87.162.8
+author:1648277750=jrmu
+diff:1648277750:1648277730:=209,210c209,210%0a%3c %0a%3c %0a---%0a> * %0a> * %0a
+host:1648277750=38.87.162.8
+author:1648277730=jrmu
+diff:1648277730:1648277546:=9,15c9,15%0a%3c * TCP/IP Illustrated: The Implementation, Vol. 2 6th printing Edition%0a%3c * by W. Richard Stevens (Author), Gary R. Wright (Author)%0a%3c * Publisher : Addison-Wesley Professional; 6th printing edition (January 1, 1995)%0a%3c * Language : English%0a%3c * Hardcover : 1174 pages%0a%3c * ISBN-10 : 020163354X%0a%3c * ISBN-13 : 978-0201633542 %0a---%0a> TCP/IP Illustrated: The Implementation, Vol. 2 6th printing Edition%0a> by W. Richard Stevens (Author), Gary R. Wright (Author)%0a> Publisher : Addison-Wesley Professional; 6th printing edition (January 1, 1995)%0a> Language : English%0a> Hardcover : 1174 pages%0a> ISBN-10 : 020163354X%0a> ISBN-13 : 978-0201633542 %0a18,24c18,24%0a%3c * TCP/IP Illustrated: v. 3: TCP for Transactions, HTTP, NNTP and the Unix Domain Protocols (Addison-Wesley Professional Computing Series) 1st Edition%0a%3c * by W. Richard Stevens (Author), Gary R. Wright (Author)%0a%3c * Publisher : Addison-Wesley Professional; 1st edition (January 1, 1996)%0a%3c * Language : English%0a%3c * Hardcover : 328 pages%0a%3c * ISBN-10 : 0201634953%0a%3c * ISBN-13 : 978-0201634952 %0a---%0a> TCP/IP Illustrated: v. 3: TCP for Transactions, HTTP, NNTP and the Unix Domain Protocols (Addison-Wesley Professional Computing Series) 1st Edition%0a> by W. Richard Stevens (Author), Gary R. Wright (Author)%0a> Publisher : Addison-Wesley Professional; 1st edition (January 1, 1996)%0a> Language : English%0a> Hardcover : 328 pages%0a> ISBN-10 : 0201634953%0a> ISBN-13 : 978-0201634952 %0a27,227c27,227%0a%3c * UNIX Network Programming 1st Edition%0a%3c * ISBN-13: 978-0139498763%0a%3c * ISBN-10: 0139498761%0a%3c * Publisher : Prentice Hall; 1st edition (January 23, 1990)%0a%3c * Language : English%0a%3c * https://www.amazon.com/gp/product/0139498761/ref=dbs_a_def_rwt_bibl_vppi_i1%0a%3c %0a%3c * UNIX Network Programming, Volume 2: Interprocess Communications, Second Edition 2nd Edition%0a%3c * Publisher : Prentice Hall; 2nd edition (August 1, 1998)%0a%3c * Language : English%0a%3c * Hardcover : 400 pages%0a%3c * ISBN-10 : 0130810819%0a%3c * ISBN-13 : 978-0130810816%0a%3c * https://www.amazon.com/dp/0130810819/ref=olp_aod_redir_impl1%0a%3c %0a%3c * Advanced Programming in the Unix Environment (Addison-Wesley Professional Computing Series) First Edition%0a%3c * Publisher : Addison-Wesley; First Edition (May 1, 1992)%0a%3c * Language : English%0a%3c * Hardcover : 768 pages%0a%3c * ISBN-10 : 0201563177%0a%3c * ISBN-13 : 978-0201563177%0a%3c * https://www.amazon.com/Programming-Environment-Addison-Wesley-Professional-Computing/dp/0201563177/ref=pd_rhf_dp_s_all_spx_wp_26/131-5900491-0098268%0a%3c %0a%3c * TCP/IP Illustrated, Vol. 1: The Protocols (Addison-Wesley Professional Computing Series) 20775th Edition%0a%3c * Publisher : Addison-Wesley Professional; 20775th edition (January 1, 1994)%0a%3c * Language : English%0a%3c * Hardcover : 576 pages%0a%3c * ISBN-10 : 0201633469%0a%3c * ISBN-13 : 978-0201633467 %0a%3c * https://www.amazon.com/TCP-Illustrated-Vol-Addison-Wesley-Professional/dp/0201633469/ref=pd_sim_2/130-2633296-9304042%0a%3c %0a%3c * The Daemon, the Gnu, and the Penguin%0a%3c * Salus, Peter H.%0a%3c %0a%3c * The Unix Programming Environment%0a%3c * by Brian Kernighan and Rob Pike%0a%3c * Publisher: Prentice-Hall; 1st edition (November 1, 1983)%0a%3c * ISBN-10: 013937681X%0a%3c * ISBN-13: 978-0139376818 %0a%3c %0a%3c * The Practice of Programming (Addison-Wesley Professional Computing Series)%0a%3c * Kernighan, Brian; Pike, Rob%0a%3c * Publisher: Addison-Wesley; 1st edition (February 4, 1999)%0a%3c * ISBN-10: 020161586X%0a%3c * ISBN-13: 978-0201615869 %0a%3c %0a%3c * Structured Computer Organization%0a%3c * Tanenbaum%0a%3c %0a%3c * Lion's Commentary on UNIX with Source Code (Paperback)%0a%3c * John Lions%0a%3c %0a%3c * The AWK Programming Language%0a%3c * Aho, Alfred V., Kernighan, Brian W., Weinberger, Peter J.%0a%3c %0a%3c * Learning the Korn Shell (2nd Edition)%0a%3c * Robbins, Arnold%0a%3c %0a%3c * Unix: A History and a Memoir (Paperback)%0a%3c * Brian W Kernighan%0a%3c * ISBN-10: 1695978552%0a%3c * ISBN-13: 978-1695978553 %0a%3c %0a%3c * The Soul of a New Machine%0a%3c * by Tracy Kidder%0a%3c %0a%3c * Just For Fun%0a%3c * by Linus Torvalds, David Diamond%0a%3c * Publisher: Harper Business; Reprint edition (June 4, 2002)%0a%3c * ISBN-10: 0066620732%0a%3c * ISBN-13: 978-0066620732 %0a%3c %0a%3c * The Idea Factory: Bell Labs%0a%3c * Jon Gertner%0a%3c * ASIN: 0143122797%0a%3c * Publisher: Penguin Books; Reprint edition (February 26, 2013)%0a%3c * ISBN-10: 9780143122791%0a%3c * ISBN-13: 978-0143122791%0a%3c %0a%3c * Dealers of Lightning: Xerox PARC and the Dawn of the Computer Age%0a%3c * by Michael A. Hiltzik%0a%3c * Publisher: Harper Business (April 5, 2000)%0a%3c * ISBN-10: 0887309895%0a%3c * ISBN-13: 978-0887309892 %0a%3c %0a%3c * Where Wizards Stay Up Late: The Origins of the Internet%0a%3c * by Katie Hafner%0a%3c %0a%3c * Hackers: Heroes of the Computer Revolution%0a%3c * by Steven Levy%0a%3c %0a%3c * Rebel Code: Linux And The Open Source Revolution Paperback – July 15, 2002%0a%3c * by Glyn Moody (Author)%0a%3c * Publisher: Basic Books; 1st edition (July 15, 2002)%0a%3c * ISBN-10: 0738206709%0a%3c * ISBN-13: 978-0738206707 %0a%3c %0a%3c * [[http://www.catb.org/~esr/writings/cathedral-bazaar/|The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary 1st Edition]]%0a%3c * by Eric S. Raymond (Author)%0a%3c * Publisher: O'Reilly Media; 1st edition (January 15, 2001)%0a%3c * Language: English%0a%3c * Paperback: 241 pages%0a%3c * ISBN-10: 0596001088%0a%3c * ISBN-13: 978-0596001087 %0a%3c %0a%3c * Lions' Commentary on Unix 6th Edition%0a%3c * by John Lions%0a%3c * Publisher: Peer to Peer Communications/ Annabook; 6th edition (August 1, 1977) %0a%3c * ISBN-13: 978-1573980135%0a%3c * ISBN-10: 1573980137%0a%3c %0a%3c %0a%3c * The Design of the UNIX Operating System 1st Edition%0a%3c * by Maurice Bach (Author)%0a%3c * Publisher: Pearson; 1st edition (May 27, 1986)%0a%3c * ISBN-10: 0132017997%0a%3c * ISBN-13: 978-0132017992 %0a%3c %0a%3c * [[https://mitpress.mit.edu/sites/default/files/sicp/index.html|Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science) second edition]]%0a%3c * Publisher: The MIT Press; second edition (September 1, 1996)%0a%3c * ISBN-10: 0262510871%0a%3c * ISBN-13: 978-0262510875 %0a%3c %0a%3c * The Daemon, the Gnu, and the Penguin Paperback – September 1, 2008%0a%3c * by Peter H. Salus, Jeremy C. Reed, Jon Hall%0a%3c * Publisher: Reed Media Services (September 1, 2008)%0a%3c * ISBN-10: 097903423X%0a%3c * ISBN-13: 978-0979034237%0a%3c %0a%3c * The Big Score: The Billion Dollar Story of Silicon Valley Hardcover – July 20, 2021%0a%3c * by Michael S. Malone (Author)%0a%3c * Publisher: Stripe Press; Second edition (July 20, 2021)%0a%3c * ISBN-10: 1953953166%0a%3c * ISBN-13: 978-1953953162 %0a%3c %0a%3c * Free Software, Free Society: Selected Essays of Richard M. Stallman Hardcover – October 1, 2002%0a%3c * by Richard M. Stallman (Author), Lawrence Lessig (Author), Joshua Gay (Author), Laurence Lessig (Introduction)%0a%3c * Publisher: Free Software Foundation (October 1, 2002)%0a%3c * ISBN-10: 1882114981%0a%3c * ISBN-13: 978-1882114986 %0a%3c %0a%3c * Hackers & Painters: Big Ideas from the Computer Age 1st Edition%0a%3c * by Paul Graham (Author)%0a%3c * Publisher: O'Reilly Media; 1st edition (June 22, 2010)%0a%3c * ISBN-10: 1449389554%0a%3c * ISBN-13: 978-1449389550 %0a%3c %0a%3c * The Dream Machine Hardcover – September 25, 2018%0a%3c * by M. Mitchell Waldrop (Author)%0a%3c * Publisher: Stripe Press; Fourth edition (September 25, 2018)%0a%3c * ISBN-10: 1732265119%0a%3c * ISBN-13: 978-1732265110 %0a%3c %0a%3c * Ghost in the Wires: My Adventures as the World's Most Wanted Hacker Paperback – Illustrated, April 24, 2012%0a%3c * by Kevin Mitnick (Author), William L. Simon Steve Wozniak (Foreword)%0a%3c * Publisher: Back Bay Books; Illustrated edition (April 24, 2012)%0a%3c * ISBN-10: 0316037729%0a%3c * ISBN-13: 978-0316037723 %0a%3c %0a%3c %0a%3c * Programming Pearls 2nd Edition%0a%3c * by Jon Bentley (Author)%0a%3c * Publisher: Addison-Wesley Professional; 2nd edition (September 27, 1999)%0a%3c * ISBN-10: 0201657880%0a%3c * ISBN-13: 978-0201657883 %0a%3c %0a%3c * Compilers: Principles, Techniques, and Tools 2nd Edition%0a%3c * by Alfred Aho (Author), Monica Lam (Author), Ravi Sethi (Author), Jeffrey Ullman (Author)%0a%3c * Publisher: Addison Wesley; 2nd edition (August 31, 2006)%0a%3c * ISBN-10: 0321486811%0a%3c * ISBN-13: 978-0321486813 %0a%3c %0a%3c %0a%3c * [[https://htdp.org/|How to Design Programs: An Introduction to Programming and Computing First Edition]]%0a%3c * by Matthias Felleisen (Author), Robert Bruce Findler (Author), Matthew Flatt (Author), Shriram Krishnamurthi (Author)%0a%3c * Publisher: The MIT Press; First Edition (February 12, 2001)%0a%3c * ISBN-10: 0262062186%0a%3c * ISBN-13: 978-0262062183 %0a%3c %0a%3c %0a%3c * Foundations of Computer Science: C Edition (Principles of Computer Science Series) New edition%0a%3c * by Alfred V. Aho (Author), Jeffrey D. Ullman (Author)%0a%3c * %0a%3c * %0a%3c * C Programming Language, 2nd Edition 2nd Edition%0a%3c * by Brian W. Kernighan (Author), Dennis M. Ritchie (Author)%0a%3c * Publisher: Pearson; 2nd edition (March 22, 1988)%0a%3c * ISBN-10: 0131103628%0a%3c * ISBN-13: 978-0131103627 %0a%3c %0a%3c * The Art of Deception: Controlling the Human Element of Security Paperback – October 17, 2003%0a%3c * by Kevin D. Mitnick (Author), William L. Simon (Author), Steve Wozniak (Foreword)%0a%3c %0a%3c * The Art of Invisibility: The World's Most Famous Hacker Teaches You How to Be Safe in the Age of Big Brother and Big Data Paperback – September 10, 2019%0a%3c * by Kevin Mitnick (Author)%0a%3c %0a%3c * The Art of UNIX Programming (The Addison-Wesley Professional Computng Series) 1st Edition%0a%3c * by Eric Raymond (Author)%0a%3c * Publisher: Addison-Wesley; 1st edition (September 23, 2003)%0a%3c * ISBN-10: 0131429019%0a%3c * ISBN-13: 978-0131429017 %0a---%0a> UNIX Network Programming 1st Edition%0a> ISBN-13: 978-0139498763%0a> ISBN-10: 0139498761%0a> Publisher : Prentice Hall; 1st edition (January 23, 1990)%0a> Language : English%0a> https://www.amazon.com/gp/product/0139498761/ref=dbs_a_def_rwt_bibl_vppi_i1%0a> %0a> UNIX Network Programming, Volume 2: Interprocess Communications, Second Edition 2nd Edition%0a> Publisher : Prentice Hall; 2nd edition (August 1, 1998)%0a> Language : English%0a> Hardcover : 400 pages%0a> ISBN-10 : 0130810819%0a> ISBN-13 : 978-0130810816%0a> https://www.amazon.com/dp/0130810819/ref=olp_aod_redir_impl1%0a> %0a> Advanced Programming in the Unix Environment (Addison-Wesley Professional Computing Series) First Edition%0a> Publisher : Addison-Wesley; First Edition (May 1, 1992)%0a> Language : English%0a> Hardcover : 768 pages%0a> ISBN-10 : 0201563177%0a> ISBN-13 : 978-0201563177%0a> https://www.amazon.com/Programming-Environment-Addison-Wesley-Professional-Computing/dp/0201563177/ref=pd_rhf_dp_s_all_spx_wp_26/131-5900491-0098268%0a> %0a> TCP/IP Illustrated, Vol. 1: The Protocols (Addison-Wesley Professional Computing Series) 20775th Edition%0a> Publisher : Addison-Wesley Professional; 20775th edition (January 1, 1994)%0a> Language : English%0a> Hardcover : 576 pages%0a> ISBN-10 : 0201633469%0a> ISBN-13 : 978-0201633467 %0a> https://www.amazon.com/TCP-Illustrated-Vol-Addison-Wesley-Professional/dp/0201633469/ref=pd_sim_2/130-2633296-9304042%0a> %0a> The Daemon, the Gnu, and the Penguin%0a> Salus, Peter H.%0a> %0a> The Unix Programming Environment%0a> by Brian Kernighan and Rob Pike%0a> Publisher: Prentice-Hall; 1st edition (November 1, 1983)%0a> ISBN-10: 013937681X%0a> ISBN-13: 978-0139376818 %0a> %0a> The Practice of Programming (Addison-Wesley Professional Computing Series)%0a> Kernighan, Brian; Pike, Rob%0a> Publisher: Addison-Wesley; 1st edition (February 4, 1999)%0a> ISBN-10: 020161586X%0a> ISBN-13: 978-0201615869 %0a> %0a> Structured Computer Organization%0a> Tanenbaum%0a> %0a> Lion's Commentary on UNIX with Source Code (Paperback)%0a> John Lions%0a> %0a> The AWK Programming Language%0a> Aho, Alfred V., Kernighan, Brian W., Weinberger, Peter J.%0a> %0a> Learning the Korn Shell (2nd Edition)%0a> Robbins, Arnold%0a> %0a> Unix: A History and a Memoir (Paperback)%0a> Brian W Kernighan%0a> ISBN-10: 1695978552%0a> ISBN-13: 978-1695978553 %0a> %0a> The Soul of a New Machine%0a> by Tracy Kidder%0a> %0a> Just For Fun%0a> by Linus Torvalds, David Diamond%0a> Publisher: Harper Business; Reprint edition (June 4, 2002)%0a> ISBN-10: 0066620732%0a> ISBN-13: 978-0066620732 %0a> %0a> The Idea Factory: Bell Labs%0a> Jon Gertner%0a> ASIN: 0143122797%0a> Publisher: Penguin Books; Reprint edition (February 26, 2013)%0a> ISBN-10: 9780143122791%0a> ISBN-13: 978-0143122791%0a> %0a> Dealers of Lightning: Xerox PARC and the Dawn of the Computer Age%0a> by Michael A. Hiltzik%0a> Publisher: Harper Business (April 5, 2000)%0a> ISBN-10: 0887309895%0a> ISBN-13: 978-0887309892 %0a> %0a> Where Wizards Stay Up Late: The Origins of the Internet%0a> by Katie Hafner%0a> %0a> Hackers: Heroes of the Computer Revolution%0a> by Steven Levy%0a> %0a> Rebel Code: Linux And The Open Source Revolution Paperback – July 15, 2002%0a> by Glyn Moody (Author)%0a> Publisher: Basic Books; 1st edition (July 15, 2002)%0a> ISBN-10: 0738206709%0a> ISBN-13: 978-0738206707 %0a> %0a> [[http://www.catb.org/~esr/writings/cathedral-bazaar/|The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary 1st Edition]]%0a> by Eric S. Raymond (Author)%0a> Publisher: O'Reilly Media; 1st edition (January 15, 2001)%0a> Language: English%0a> Paperback: 241 pages%0a> ISBN-10: 0596001088%0a> ISBN-13: 978-0596001087 %0a> %0a> Lions' Commentary on Unix 6th Edition%0a> by John Lions%0a> Publisher: Peer to Peer Communications/ Annabook; 6th edition (August 1, 1977) %0a> ISBN-13: 978-1573980135%0a> ISBN-10: 1573980137%0a> %0a> %0a> The Design of the UNIX Operating System 1st Edition%0a> by Maurice Bach (Author)%0a> Publisher: Pearson; 1st edition (May 27, 1986)%0a> ISBN-10: 0132017997%0a> ISBN-13: 978-0132017992 %0a> %0a> [[https://mitpress.mit.edu/sites/default/files/sicp/index.html|Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science) second edition]]%0a> Publisher: The MIT Press; second edition (September 1, 1996)%0a> ISBN-10: 0262510871%0a> ISBN-13: 978-0262510875 %0a> %0a> The Daemon, the Gnu, and the Penguin Paperback – September 1, 2008%0a> by Peter H. Salus, Jeremy C. Reed, Jon Hall%0a> Publisher: Reed Media Services (September 1, 2008)%0a> ISBN-10: 097903423X%0a> ISBN-13: 978-0979034237%0a> %0a> The Big Score: The Billion Dollar Story of Silicon Valley Hardcover – July 20, 2021%0a> by Michael S. Malone (Author)%0a> Publisher: Stripe Press; Second edition (July 20, 2021)%0a> ISBN-10: 1953953166%0a> ISBN-13: 978-1953953162 %0a> %0a> Free Software, Free Society: Selected Essays of Richard M. Stallman Hardcover – October 1, 2002%0a> by Richard M. Stallman (Author), Lawrence Lessig (Author), Joshua Gay (Author), Laurence Lessig (Introduction)%0a> Publisher: Free Software Foundation (October 1, 2002)%0a> ISBN-10: 1882114981%0a> ISBN-13: 978-1882114986 %0a> %0a> Hackers & Painters: Big Ideas from the Computer Age 1st Edition%0a> by Paul Graham (Author)%0a> Publisher: O'Reilly Media; 1st edition (June 22, 2010)%0a> ISBN-10: 1449389554%0a> ISBN-13: 978-1449389550 %0a> %0a> The Dream Machine Hardcover – September 25, 2018%0a> by M. Mitchell Waldrop (Author)%0a> Publisher: Stripe Press; Fourth edition (September 25, 2018)%0a> ISBN-10: 1732265119%0a> ISBN-13: 978-1732265110 %0a> %0a> Ghost in the Wires: My Adventures as the World's Most Wanted Hacker Paperback – Illustrated, April 24, 2012%0a> by Kevin Mitnick (Author), William L. Simon Steve Wozniak (Foreword)%0a> Publisher: Back Bay Books; Illustrated edition (April 24, 2012)%0a> ISBN-10: 0316037729%0a> ISBN-13: 978-0316037723 %0a> %0a> %0a> Programming Pearls 2nd Edition%0a> by Jon Bentley (Author)%0a> Publisher: Addison-Wesley Professional; 2nd edition (September 27, 1999)%0a> ISBN-10: 0201657880%0a> ISBN-13: 978-0201657883 %0a> %0a> Compilers: Principles, Techniques, and Tools 2nd Edition%0a> by Alfred Aho (Author), Monica Lam (Author), Ravi Sethi (Author), Jeffrey Ullman (Author)%0a> Publisher: Addison Wesley; 2nd edition (August 31, 2006)%0a> ISBN-10: 0321486811%0a> ISBN-13: 978-0321486813 %0a> %0a> %0a> [[https://htdp.org/|How to Design Programs: An Introduction to Programming and Computing First Edition]]%0a> by Matthias Felleisen (Author), Robert Bruce Findler (Author), Matthew Flatt (Author), Shriram Krishnamurthi (Author)%0a> Publisher: The MIT Press; First Edition (February 12, 2001)%0a> ISBN-10: 0262062186%0a> ISBN-13: 978-0262062183 %0a> %0a> %0a> Foundations of Computer Science: C Edition (Principles of Computer Science Series) New edition%0a> by Alfred V. Aho (Author), Jeffrey D. Ullman (Author)%0a> %0a> %0a> C Programming Language, 2nd Edition 2nd Edition%0a> by Brian W. Kernighan (Author), Dennis M. Ritchie (Author)%0a> Publisher: Pearson; 2nd edition (March 22, 1988)%0a> ISBN-10: 0131103628%0a> ISBN-13: 978-0131103627 %0a> %0a> The Art of Deception: Controlling the Human Element of Security Paperback – October 17, 2003%0a> by Kevin D. Mitnick (Author), William L. Simon (Author), Steve Wozniak (Foreword)%0a> %0a> The Art of Invisibility: The World's Most Famous Hacker Teaches You How to Be Safe in the Age of Big Brother and Big Data Paperback – September 10, 2019%0a> by Kevin Mitnick (Author)%0a> %0a> The Art of UNIX Programming (The Addison-Wesley Professional Computng Series) 1st Edition%0a> by Eric Raymond (Author)%0a> Publisher: Addison-Wesley; 1st edition (September 23, 2003)%0a> ISBN-10: 0131429019%0a> ISBN-13: 978-0131429017 %0a
+host:1648277730=38.87.162.8
+author:1648277546=jrmu
+diff:1648277546:1648267633:=1,7c1,7%0a%3c * The Design and Implementation of the 4.4Bsd Operating System 1st Edition%0a%3c * Publisher : Addison-Wesley; 1st edition (April 30, 1996)%0a%3c * Language : English%0a%3c * Hardcover : 580 pages%0a%3c * ISBN-10 : 0201549794%0a%3c * ISBN-13 : 978-0201549799%0a%3c * https://www.amazon.com/Design-Implementation-4-4-Operating-System-dp-0201549794/dp/0201549794/ref=mt_other%0a---%0a> The Design and Implementation of the 4.4Bsd Operating System 1st Edition%0a> Publisher : Addison-Wesley; 1st edition (April 30, 1996)%0a> Language : English%0a> Hardcover : 580 pages%0a> ISBN-10 : 0201549794%0a> ISBN-13 : 978-0201549799%0a> https://www.amazon.com/Design-Implementation-4-4-Operating-System-dp-0201549794/dp/0201549794/ref=mt_other%0a
+host:1648277546=38.87.162.8
+author:1648267633=jrmu
+diff:1648267633:1648266687:=223,227c223%0a%3c The Art of UNIX Programming (The Addison-Wesley Professional Computng Series) 1st Edition%0a%3c by Eric Raymond (Author)%0a%3c Publisher: Addison-Wesley; 1st edition (September 23, 2003)%0a%3c ISBN-10: 0131429019%0a%3c ISBN-13: 978-0131429017 %0a---%0a> %0a
+host:1648267633=38.87.162.8
+author:1648266687=jrmu
+diff:1648266687:1648266627:=216,222d215%0a%3c %0a%3c The Art of Deception: Controlling the Human Element of Security Paperback – October 17, 2003%0a%3c by Kevin D. Mitnick (Author), William L. Simon (Author), Steve Wozniak (Foreword)%0a%3c %0a%3c The Art of Invisibility: The World's Most Famous Hacker Teaches You How to Be Safe in the Age of Big Brother and Big Data Paperback – September 10, 2019%0a%3c by Kevin Mitnick (Author)%0a%3c %0a
+host:1648266687=38.87.162.8
+author:1648266627=jrmu
+diff:1648266627:1648266187:=60a61,63%0a> Compilers: Principles, Techniques, and Tools%0a> Aho, Alfred V.; Sethi, Ravi; Ullman, Jeffrey D.%0a> %0a185,216d187%0a%3c %0a%3c %0a%3c Programming Pearls 2nd Edition%0a%3c by Jon Bentley (Author)%0a%3c Publisher: Addison-Wesley Professional; 2nd edition (September 27, 1999)%0a%3c ISBN-10: 0201657880%0a%3c ISBN-13: 978-0201657883 %0a%3c %0a%3c Compilers: Principles, Techniques, and Tools 2nd Edition%0a%3c by Alfred Aho (Author), Monica Lam (Author), Ravi Sethi (Author), Jeffrey Ullman (Author)%0a%3c Publisher: Addison Wesley; 2nd edition (August 31, 2006)%0a%3c ISBN-10: 0321486811%0a%3c ISBN-13: 978-0321486813 %0a%3c %0a%3c %0a%3c [[https://htdp.org/|How to Design Programs: An Introduction to Programming and Computing First Edition]]%0a%3c by Matthias Felleisen (Author), Robert Bruce Findler (Author), Matthew Flatt (Author), Shriram Krishnamurthi (Author)%0a%3c Publisher: The MIT Press; First Edition (February 12, 2001)%0a%3c ISBN-10: 0262062186%0a%3c ISBN-13: 978-0262062183 %0a%3c %0a%3c %0a%3c Foundations of Computer Science: C Edition (Principles of Computer Science Series) New edition%0a%3c by Alfred V. Aho (Author), Jeffrey D. Ullman (Author)%0a%3c %0a%3c %0a%3c C Programming Language, 2nd Edition 2nd Edition%0a%3c by Brian W. Kernighan (Author), Dennis M. Ritchie (Author)%0a%3c Publisher: Pearson; 2nd edition (March 22, 1988)%0a%3c ISBN-10: 0131103628%0a%3c ISBN-13: 978-0131103627 %0a%3c %0a
+host:1648266627=38.87.162.8
+author:1648266187=jrmu
+diff:1648266187:1648265288:=111,114c111%0a%3c Publisher: Harper Business (April 5, 2000)%0a%3c ISBN-10: 0887309895%0a%3c ISBN-13: 978-0887309892 %0a%3c %0a---%0a> %0a153,187d149%0a%3c The Daemon, the Gnu, and the Penguin Paperback – September 1, 2008%0a%3c by Peter H. Salus, Jeremy C. Reed, Jon Hall%0a%3c Publisher: Reed Media Services (September 1, 2008)%0a%3c ISBN-10: 097903423X%0a%3c ISBN-13: 978-0979034237%0a%3c %0a%3c The Big Score: The Billion Dollar Story of Silicon Valley Hardcover – July 20, 2021%0a%3c by Michael S. Malone (Author)%0a%3c Publisher: Stripe Press; Second edition (July 20, 2021)%0a%3c ISBN-10: 1953953166%0a%3c ISBN-13: 978-1953953162 %0a%3c %0a%3c Free Software, Free Society: Selected Essays of Richard M. Stallman Hardcover – October 1, 2002%0a%3c by Richard M. Stallman (Author), Lawrence Lessig (Author), Joshua Gay (Author), Laurence Lessig (Introduction)%0a%3c Publisher: Free Software Foundation (October 1, 2002)%0a%3c ISBN-10: 1882114981%0a%3c ISBN-13: 978-1882114986 %0a%3c %0a%3c Hackers & Painters: Big Ideas from the Computer Age 1st Edition%0a%3c by Paul Graham (Author)%0a%3c Publisher: O'Reilly Media; 1st edition (June 22, 2010)%0a%3c ISBN-10: 1449389554%0a%3c ISBN-13: 978-1449389550 %0a%3c %0a%3c The Dream Machine Hardcover – September 25, 2018%0a%3c by M. Mitchell Waldrop (Author)%0a%3c Publisher: Stripe Press; Fourth edition (September 25, 2018)%0a%3c ISBN-10: 1732265119%0a%3c ISBN-13: 978-1732265110 %0a%3c %0a%3c Ghost in the Wires: My Adventures as the World's Most Wanted Hacker Paperback – Illustrated, April 24, 2012%0a%3c by Kevin Mitnick (Author), William L. Simon Steve Wozniak (Foreword)%0a%3c Publisher: Back Bay Books; Illustrated edition (April 24, 2012)%0a%3c ISBN-10: 0316037729%0a%3c ISBN-13: 978-0316037723 %0a
+host:1648266187=38.87.162.8
+author:1648265288=jrmu
+diff:1648265288:1648264550:=65,69c65,66%0a%3c by Brian Kernighan and Rob Pike%0a%3c Publisher: Prentice-Hall; 1st edition (November 1, 1983)%0a%3c ISBN-10: 013937681X%0a%3c ISBN-13: 978-0139376818 %0a%3c %0a---%0a> Kernighan & KERNIGHAN & PIKE%0a> %0a72,75c69%0a%3c Publisher: Addison-Wesley; 1st edition (February 4, 1999)%0a%3c ISBN-10: 020161586X%0a%3c ISBN-13: 978-0201615869 %0a%3c %0a---%0a> %0a90,92c84%0a%3c ISBN-10: 1695978552%0a%3c ISBN-13: 978-1695978553 %0a%3c %0a---%0a> %0a131,149d122%0a%3c %0a%3c Lions' Commentary on Unix 6th Edition%0a%3c by John Lions%0a%3c Publisher: Peer to Peer Communications/ Annabook; 6th edition (August 1, 1977) %0a%3c ISBN-13: 978-1573980135%0a%3c ISBN-10: 1573980137%0a%3c %0a%3c %0a%3c The Design of the UNIX Operating System 1st Edition%0a%3c by Maurice Bach (Author)%0a%3c Publisher: Pearson; 1st edition (May 27, 1986)%0a%3c ISBN-10: 0132017997%0a%3c ISBN-13: 978-0132017992 %0a%3c %0a%3c [[https://mitpress.mit.edu/sites/default/files/sicp/index.html|Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science) second edition]]%0a%3c Publisher: The MIT Press; second edition (September 1, 1996)%0a%3c ISBN-10: 0262510871%0a%3c ISBN-13: 978-0262510875 %0a%3c %0a
+host:1648265288=38.87.162.8
+author:1648264550=jrmu
+diff:1648264550:1648264229:=109,122c109,110%0a%3c %0a%3c Rebel Code: Linux And The Open Source Revolution Paperback – July 15, 2002%0a%3c by Glyn Moody (Author)%0a%3c Publisher: Basic Books; 1st edition (July 15, 2002)%0a%3c ISBN-10: 0738206709%0a%3c ISBN-13: 978-0738206707 %0a%3c %0a%3c [[http://www.catb.org/~esr/writings/cathedral-bazaar/|The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary 1st Edition]]%0a%3c by Eric S. Raymond (Author)%0a%3c Publisher: O'Reilly Media; 1st edition (January 15, 2001)%0a%3c Language: English%0a%3c Paperback: 241 pages%0a%3c ISBN-10: 0596001088%0a%3c ISBN-13: 978-0596001087 %0a---%0a> 4.12 avg. rating · 6112 Ratings%0a> A mere fifteen years ago, computer nerds were seen as marginal weirdos, outsiders whose world would never resonate with the mainstream. That was before one pioneering work documented the underground c…%0a
+host:1648264550=38.87.162.8
+author:1648264229=jrmu
+diff:1648264229:1648264060:=89,93c89,90%0a%3c by Linus Torvalds, David Diamond%0a%3c Publisher: Harper Business; Reprint edition (June 4, 2002)%0a%3c ISBN-10: 0066620732%0a%3c ISBN-13: 978-0066620732 %0a%3c %0a---%0a> Linus Torvalds%0a> %0a106,110d102%0a%3c %0a%3c Hackers: Heroes of the Computer Revolution%0a%3c by Steven Levy%0a%3c 4.12 avg. rating · 6112 Ratings%0a%3c A mere fifteen years ago, computer nerds were seen as marginal weirdos, outsiders whose world would never resonate with the mainstream. That was before one pioneering work documented the underground c…%0a
+host:1648264229=38.87.162.8
+author:1648264060=jrmu
+diff:1648264060:1648263830:=86,87c86,87%0a%3c by Tracy Kidder%0a%3c %0a---%0a> Kidder, Tracy%0a> %0a93,102d92%0a%3c ASIN: 0143122797%0a%3c Publisher: Penguin Books; Reprint edition (February 26, 2013)%0a%3c ISBN-10: 9780143122791%0a%3c ISBN-13: 978-0143122791%0a%3c %0a%3c Dealers of Lightning: Xerox PARC and the Dawn of the Computer Age%0a%3c by Michael A. Hiltzik%0a%3c %0a%3c Where Wizards Stay Up Late: The Origins of the Internet%0a%3c by Katie Hafner%0a
+host:1648264060=38.87.162.8
+author:1648263830=jrmu
+diff:1648263830:1648263216:=
+host:1648263830=38.87.162.8
+author:1648263216=jrmu
+diff:1648263216:1648263216:=1,92d0%0a%3c The Design and Implementation of the 4.4Bsd Operating System 1st Edition%0a%3c Publisher : Addison-Wesley; 1st edition (April 30, 1996)%0a%3c Language : English%0a%3c Hardcover : 580 pages%0a%3c ISBN-10 : 0201549794%0a%3c ISBN-13 : 978-0201549799%0a%3c https://www.amazon.com/Design-Implementation-4-4-Operating-System-dp-0201549794/dp/0201549794/ref=mt_other%0a%3c %0a%3c TCP/IP Illustrated: The Implementation, Vol. 2 6th printing Edition%0a%3c by W. Richard Stevens (Author), Gary R. Wright (Author)%0a%3c Publisher : Addison-Wesley Professional; 6th printing edition (January 1, 1995)%0a%3c Language : English%0a%3c Hardcover : 1174 pages%0a%3c ISBN-10 : 020163354X%0a%3c ISBN-13 : 978-0201633542 %0a%3c https://www.amazon.com/TCP-IP-Illustrated-Implementation-Vol/dp/020163354X/ref=pd_sbs_2/130-2633296-9304042%0a%3c %0a%3c TCP/IP Illustrated: v. 3: TCP for Transactions, HTTP, NNTP and the Unix Domain Protocols (Addison-Wesley Professional Computing Series) 1st Edition%0a%3c by W. Richard Stevens (Author), Gary R. Wright (Author)%0a%3c Publisher : Addison-Wesley Professional; 1st edition (January 1, 1996)%0a%3c Language : English%0a%3c Hardcover : 328 pages%0a%3c ISBN-10 : 0201634953%0a%3c ISBN-13 : 978-0201634952 %0a%3c https://www.amazon.com/TCP-Illustrated-Transactions-Addison-Wesley-Professional/dp/0201634953/ref=sr_1_5%0a%3c %0a%3c UNIX Network Programming 1st Edition%0a%3c ISBN-13: 978-0139498763%0a%3c ISBN-10: 0139498761%0a%3c Publisher : Prentice Hall; 1st edition (January 23, 1990)%0a%3c Language : English%0a%3c https://www.amazon.com/gp/product/0139498761/ref=dbs_a_def_rwt_bibl_vppi_i1%0a%3c %0a%3c UNIX Network Programming, Volume 2: Interprocess Communications, Second Edition 2nd Edition%0a%3c Publisher : Prentice Hall; 2nd edition (August 1, 1998)%0a%3c Language : English%0a%3c Hardcover : 400 pages%0a%3c ISBN-10 : 0130810819%0a%3c ISBN-13 : 978-0130810816%0a%3c https://www.amazon.com/dp/0130810819/ref=olp_aod_redir_impl1%0a%3c %0a%3c Advanced Programming in the Unix Environment (Addison-Wesley Professional Computing Series) First Edition%0a%3c Publisher : Addison-Wesley; First Edition (May 1, 1992)%0a%3c Language : English%0a%3c Hardcover : 768 pages%0a%3c ISBN-10 : 0201563177%0a%3c ISBN-13 : 978-0201563177%0a%3c https://www.amazon.com/Programming-Environment-Addison-Wesley-Professional-Computing/dp/0201563177/ref=pd_rhf_dp_s_all_spx_wp_26/131-5900491-0098268%0a%3c %0a%3c TCP/IP Illustrated, Vol. 1: The Protocols (Addison-Wesley Professional Computing Series) 20775th Edition%0a%3c Publisher : Addison-Wesley Professional; 20775th edition (January 1, 1994)%0a%3c Language : English%0a%3c Hardcover : 576 pages%0a%3c ISBN-10 : 0201633469%0a%3c ISBN-13 : 978-0201633467 %0a%3c https://www.amazon.com/TCP-Illustrated-Vol-Addison-Wesley-Professional/dp/0201633469/ref=pd_sim_2/130-2633296-9304042%0a%3c %0a%3c The Daemon, the Gnu, and the Penguin%0a%3c Salus, Peter H.%0a%3c %0a%3c Compilers: Principles, Techniques, and Tools%0a%3c Aho, Alfred V.; Sethi, Ravi; Ullman, Jeffrey D.%0a%3c %0a%3c The Unix Programming Environment%0a%3c Kernighan & KERNIGHAN & PIKE%0a%3c %0a%3c The Practice of Programming (Addison-Wesley Professional Computing Series)%0a%3c Kernighan, Brian; Pike, Rob%0a%3c %0a%3c Structured Computer Organization%0a%3c Tanenbaum%0a%3c %0a%3c Lion's Commentary on UNIX with Source Code (Paperback)%0a%3c John Lions%0a%3c %0a%3c The AWK Programming Language%0a%3c Aho, Alfred V., Kernighan, Brian W., Weinberger, Peter J.%0a%3c %0a%3c Learning the Korn Shell (2nd Edition)%0a%3c Robbins, Arnold%0a%3c %0a%3c Unix: A History and a Memoir (Paperback)%0a%3c Brian W Kernighan%0a%3c %0a%3c The Soul of a New Machine%0a%3c Kidder, Tracy%0a%3c %0a%3c Just For Fun%0a%3c Linus Torvalds%0a%3c %0a%3c The Idea Factory: Bell Labs%0a%3c Jon Gertner%0a
+host:1648263216=38.87.162.8
blob - /dev/null
blob + 135cec170c16a8960da35db0c7040c6bbdaec3b0 (mode 644)
--- /dev/null
+++ wiki.d/Unix101.Vi
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20210102
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1645969397
+host=38.87.162.8
+name=Unix101.Vi
+rev=3
+targets=Unix101.Unix101,Vi.Intro
+text=(:title Vi Introduction:)%0a%0aPlease see [[unix101/unix101|unix101 tutorial]]. Or visit [[vi/intro|vi intro]].%0a
+time=1645992993
+title=Vi Introduction
+author:1645992993=jrmu
+diff:1645992993:1645977619:=3c3,135%0a%3c Please see [[unix101/unix101|unix101 tutorial]]. Or visit [[vi/intro|vi intro]].%0a---%0a> Vi is the free and open-source editor that is present on most UNIX systems.%0a> Vi is a modal editor. It has three main modes (ways to interact with the editor).%0a> [[https://en.m.wikibooks.org/wiki/Learning_the_vi_Editor]] is a good resource for an introduction.%0a> %0a> !! Starting Vi%0a> [@vi [[files to edit]]@]%0a> %0a> Examples:%0a> * Without any arguments, [@ vi @] will just start a blank new file.%0a> * [@ vi a.txt @] will open [@ vi @] with the file [@ a.txt @]%0a> %0a> %0a> !! Insertion Mode%0a> In insert mode, you can type in text%0a> %0a> [@ i @] switches to insert mode and [@ a @] switches to insert mode moving the%0a> cursor one character forward.%0a> %0a> [@ %3cEscape> @] can be used to exit insert mode.%0a> %0a> %0a> !! Command Mode%0a> Command mode is used to send commands to the text editor. User [@ : @] to enter command mode.%0a> %0a> !!! Saving and Opening Files%0a> [@ :w @] saves a files%0a> %0a> [@ :w [filename] @] Saves the file as [@ filename @]%0a> %0a> [@ :q @] exits the editor%0a> %0a> [@ :wq @] saves and exits%0a> %0a> [@ :q! @] exits without saving%0a> %0a> [@ :e [filename] @] opens file [@ filename @] for editing%0a> %0a> [@ :e! [filename] @] discards changes in current buffer and opens file [@ filename @] for editing%0a> %0a> !! Normal Mode%0a> By default [@ vi @], opens in Normal Mode.%0a> Normal Mode allows you to cut, copy, paste, etc.%0a> To come back to Normal Mode from any mode, press [@ Escape @].%0a> %0a> [@ [num]command @] will execute [@ command @] [@ num @] times.%0a> %0a> !!! Movement%0a> Vi uses [@ h, j, k, l @] for movement.%0a> It allows for faster editing as the keys are present in the home row.%0a> * [@ h @] moves one character left%0a> * [@ j @] moves one line down%0a> * [@ k @] moves one line up%0a> * [@ l @] moves one character right%0a> [@%0a> k (up)%0a> h (left) l (right)%0a> j (down)%0a> @]%0a> %0a> [@ w @] moves to the beginning of the next word while%0a> [@ b @] moves to beginning of the previous word.%0a> %0a> [@ e @] moves to the end of the next word.%0a> %0a> [@ 0 @] moves to the beginning of the sentence while [@ $ @] moves to the end%0a> of the sentence.%0a> %0a> [@ G @] moves to the end of the file%0a> %0a> [@ [num]G @] moves to the line number [@ num @]%0a> %0a> Examples:%0a> * Initial%0a> [@Hello! I like Vi.%0a> ^@]%0a> * [@ w @] will move one word forward to [@ ! @]%0a> [@Hello! I like Vi.%0a> ^@]%0a> * [@ 2w @] will move two words forward to [@ l @]%0a> [@Hello! I like Vi.%0a> ^@]%0a> * [@ e @] will move to the end of the word%0a> [@Hello! I like Vi.%0a> ^@]%0a> * [@ $ @] will move to the end of the line.%0a> [@Hello! I like Vi.%0a> ^@]%0a> * [@ 3b @] will move three words back%0a> [@Hello! I like Vi.%0a> ^@]%0a> * [@ 0 @] will move to the beginning of the line%0a> [@Hello! I like Vi.%0a> ^@]%0a> %0a> !!! Cutting and Pasting%0a> [@ yw @] copies a word, [@ yy @] or [@ Y @] copies a line.%0a> %0a> [@ dw @] cuts/deletes a word, [@ dd @] cuts a line, [@ D @] cuts a line from the cursor till the end (same as [@ d$ @]).%0a> %0a> [@ cw @] changes a word, [@ cc @] changes a line, [@ C @] changes a line from the cursor till the end (same as [@ c$ @]).%0a> %0a> [@ y, d and c @] can be combined with $0, $, f, t, etc.$%0a> %0a> [@ p @] is used to paste after the cursor while [@ P @] is used to paste before%0a> the cursor.%0a> %0a> !!! Searching%0a> [@ / @] is used to search forwards.%0a> %0a> [@ ? @] is used to search backwards.%0a> %0a> [@ n @] goes to the next occurrence while [@ N @] goes to the previous occurrence.%0a> %0a> [@ f[char] @] goes to the first occurrence (after the cursor) of [@char@]. [@ F[char] @] does the same thing but backwards.%0a> %0a> [@ t[char] @] goes to the position just before the first occurrence (after the cursor) of [@char@]. [@ T[char] @] does the same thing but backwards.%0a> %0a> Examples:%0a> * Initial%0a> [@Hello! I like Vi.%0a> ^@]%0a> * [@fl@] goes to the third character in the line%0a> [@Hello! I like Vi.%0a> ^@]%0a> * [@tI@] goes to the seventh character in the line%0a> [@Hello! I like Vi.%0a> ^@]%0a> * [@Fl@] goes to the fourth character in the line%0a> [@Hello! I like Vi.%0a> ^@]%0a> * [@TH@] goes to the second character in the line because [@ e @] is the character just before [@ H @] backwards.%0a> [@Hello! I like Vi.%0a> ^@]%0a\ No newline at end of file%0a
+host:1645992993=38.87.162.8
+author:1645977619=Limits
+csum:1645977619=Added https://en.m.wikibooks.org/wiki/Learning_the_vi_Editor as suggested by jan6
+diff:1645977619:1645969397:minor=5d4%0a%3c [[https://en.m.wikibooks.org/wiki/Learning_the_vi_Editor]] is a good resource for an introduction.%0a
+host:1645977619=2409:4060:18:a55b:cb97:acd0:80cb:9543
+author:1645969397=Limits
+csum:1645969397=Add Introduction to Vi
+diff:1645969397:1645969397:=1,134d0%0a%3c (:title Vi Introduction:)%0a%3c %0a%3c Vi is the free and open-source editor that is present on most UNIX systems.%0a%3c Vi is a modal editor. It has three main modes (ways to interact with the editor).%0a%3c %0a%3c !! Starting Vi%0a%3c [@vi [[files to edit]]@]%0a%3c %0a%3c Examples:%0a%3c * Without any arguments, [@ vi @] will just start a blank new file.%0a%3c * [@ vi a.txt @] will open [@ vi @] with the file [@ a.txt @]%0a%3c %0a%3c %0a%3c !! Insertion Mode%0a%3c In insert mode, you can type in text%0a%3c %0a%3c [@ i @] switches to insert mode and [@ a @] switches to insert mode moving the%0a%3c cursor one character forward.%0a%3c %0a%3c [@ %3cEscape> @] can be used to exit insert mode.%0a%3c %0a%3c %0a%3c !! Command Mode%0a%3c Command mode is used to send commands to the text editor. User [@ : @] to enter command mode.%0a%3c %0a%3c !!! Saving and Opening Files%0a%3c [@ :w @] saves a files%0a%3c %0a%3c [@ :w [filename] @] Saves the file as [@ filename @]%0a%3c %0a%3c [@ :q @] exits the editor%0a%3c %0a%3c [@ :wq @] saves and exits%0a%3c %0a%3c [@ :q! @] exits without saving%0a%3c %0a%3c [@ :e [filename] @] opens file [@ filename @] for editing%0a%3c %0a%3c [@ :e! [filename] @] discards changes in current buffer and opens file [@ filename @] for editing%0a%3c %0a%3c !! Normal Mode%0a%3c By default [@ vi @], opens in Normal Mode.%0a%3c Normal Mode allows you to cut, copy, paste, etc.%0a%3c To come back to Normal Mode from any mode, press [@ Escape @].%0a%3c %0a%3c [@ [num]command @] will execute [@ command @] [@ num @] times.%0a%3c %0a%3c !!! Movement%0a%3c Vi uses [@ h, j, k, l @] for movement.%0a%3c It allows for faster editing as the keys are present in the home row.%0a%3c * [@ h @] moves one character left%0a%3c * [@ j @] moves one line down%0a%3c * [@ k @] moves one line up%0a%3c * [@ l @] moves one character right%0a%3c [@%0a%3c k (up)%0a%3c h (left) l (right)%0a%3c j (down)%0a%3c @]%0a%3c %0a%3c [@ w @] moves to the beginning of the next word while%0a%3c [@ b @] moves to beginning of the previous word.%0a%3c %0a%3c [@ e @] moves to the end of the next word.%0a%3c %0a%3c [@ 0 @] moves to the beginning of the sentence while [@ $ @] moves to the end%0a%3c of the sentence.%0a%3c %0a%3c [@ G @] moves to the end of the file%0a%3c %0a%3c [@ [num]G @] moves to the line number [@ num @]%0a%3c %0a%3c Examples:%0a%3c * Initial%0a%3c [@Hello! I like Vi.%0a%3c ^@]%0a%3c * [@ w @] will move one word forward to [@ ! @]%0a%3c [@Hello! I like Vi.%0a%3c ^@]%0a%3c * [@ 2w @] will move two words forward to [@ l @]%0a%3c [@Hello! I like Vi.%0a%3c ^@]%0a%3c * [@ e @] will move to the end of the word%0a%3c [@Hello! I like Vi.%0a%3c ^@]%0a%3c * [@ $ @] will move to the end of the line.%0a%3c [@Hello! I like Vi.%0a%3c ^@]%0a%3c * [@ 3b @] will move three words back%0a%3c [@Hello! I like Vi.%0a%3c ^@]%0a%3c * [@ 0 @] will move to the beginning of the line%0a%3c [@Hello! I like Vi.%0a%3c ^@]%0a%3c %0a%3c !!! Cutting and Pasting%0a%3c [@ yw @] copies a word, [@ yy @] or [@ Y @] copies a line.%0a%3c %0a%3c [@ dw @] cuts/deletes a word, [@ dd @] cuts a line, [@ D @] cuts a line from the cursor till the end (same as [@ d$ @]).%0a%3c %0a%3c [@ cw @] changes a word, [@ cc @] changes a line, [@ C @] changes a line from the cursor till the end (same as [@ c$ @]).%0a%3c %0a%3c [@ y, d and c @] can be combined with $0, $, f, t, etc.$%0a%3c %0a%3c [@ p @] is used to paste after the cursor while [@ P @] is used to paste before%0a%3c the cursor.%0a%3c %0a%3c !!! Searching%0a%3c [@ / @] is used to search forwards.%0a%3c %0a%3c [@ ? @] is used to search backwards.%0a%3c %0a%3c [@ n @] goes to the next occurrence while [@ N @] goes to the previous occurrence.%0a%3c %0a%3c [@ f[char] @] goes to the first occurrence (after the cursor) of [@char@]. [@ F[char] @] does the same thing but backwards.%0a%3c %0a%3c [@ t[char] @] goes to the position just before the first occurrence (after the cursor) of [@char@]. [@ T[char] @] does the same thing but backwards.%0a%3c %0a%3c Examples:%0a%3c * Initial%0a%3c [@Hello! I like Vi.%0a%3c ^@]%0a%3c * [@fl@] goes to the third character in the line%0a%3c [@Hello! I like Vi.%0a%3c ^@]%0a%3c * [@tI@] goes to the seventh character in the line%0a%3c [@Hello! I like Vi.%0a%3c ^@]%0a%3c * [@Fl@] goes to the fourth character in the line%0a%3c [@Hello! I like Vi.%0a%3c ^@]%0a%3c * [@TH@] goes to the second character in the line because [@ e @] is the character just before [@ H @] backwards.%0a%3c [@Hello! I like Vi.%0a%3c ^@]%0a\ No newline at end of file%0a
+host:1645969397=2409:4060:18:a55b:cb97:acd0:80cb:9543
blob - /dev/null
blob + a9f271580f46e3a184da1765ac13b5d568ce20b7 (mode 644)
--- /dev/null
+++ wiki.d/Vi.Intro
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36
+author=Limits
+charset=UTF-8
+csum=Add Introduction to Vi
+ctime=1645978593
+host=2409:4060:18:a55b:cb97:acd0:80cb:9543
+name=Vi.Intro
+rev=1
+targets=
+text=(:title Vi Introduction:)%0a%0aVi is the free and open-source editor that is present on most UNIX systems.%0aVi is a modal editor. It has three main modes (ways to interact with the editor).%0a[[https://en.m.wikibooks.org/wiki/Learning_the_vi_Editor]] is a good resource for an introduction.%0a%0a!! Starting Vi%0a[@vi [[files to edit]]@]%0a%0aExamples:%0a* Without any arguments, [@ vi @] will just start a blank new file.%0a* [@ vi a.txt @] will open [@ vi @] with the file [@ a.txt @]%0a%0a%0a!! Insertion Mode%0aIn insert mode, you can type in text%0a%0a[@ i @] switches to insert mode and [@ a @] switches to insert mode moving the%0acursor one character forward.%0a%0a[@ %3cEscape> @] can be used to exit insert mode.%0a%0a%0a!! Command Mode%0aCommand mode is used to send commands to the text editor. User [@ : @] to enter command mode.%0a%0a!!! Saving and Opening Files%0a[@ :w @] saves a files%0a%0a[@ :w [filename] @] Saves the file as [@ filename @]%0a%0a[@ :q @] exits the editor%0a%0a[@ :wq @] saves and exits%0a%0a[@ :q! @] exits without saving%0a%0a[@ :e [filename] @] opens file [@ filename @] for editing%0a%0a[@ :e! [filename] @] discards changes in current buffer and opens file [@ filename @] for editing%0a%0a!! Normal Mode%0aBy default [@ vi @], opens in Normal Mode.%0aNormal Mode allows you to cut, copy, paste, etc.%0aTo come back to Normal Mode from any mode, press [@ Escape @].%0a%0a[@ [num]command @] will execute [@ command @] [@ num @] times.%0a%0a!!! Movement%0aVi uses [@ h, j, k, l @] for movement.%0aIt allows for faster editing as the keys are present in the home row.%0a* [@ h @] moves one character left%0a* [@ j @] moves one line down%0a* [@ k @] moves one line up%0a* [@ l @] moves one character right%0a[@%0a k (up)%0a h (left) l (right)%0a j (down)%0a@]%0a%0a[@ w @] moves to the beginning of the next word while%0a[@ b @] moves to beginning of the previous word.%0a%0a[@ e @] moves to the end of the next word.%0a%0a[@ 0 @] moves to the beginning of the sentence while [@ $ @] moves to the end%0aof the sentence.%0a%0a[@ G @] moves to the end of the file%0a%0a[@ [num]G @] moves to the line number [@ num @]%0a%0aExamples:%0a* Initial%0a[@Hello! I like Vi.%0a^@]%0a* [@ w @] will move one word forward to [@ ! @]%0a[@Hello! I like Vi.%0a ^@]%0a* [@ 2w @] will move two words forward to [@ l @]%0a[@Hello! I like Vi.%0a ^@]%0a* [@ e @] will move to the end of the word%0a[@Hello! I like Vi.%0a ^@]%0a* [@ $ @] will move to the end of the line.%0a[@Hello! I like Vi.%0a ^@]%0a* [@ 3b @] will move three words back%0a[@Hello! I like Vi.%0a ^@]%0a* [@ 0 @] will move to the beginning of the line%0a[@Hello! I like Vi.%0a^@]%0a%0a!!! Cutting and Pasting%0a[@ yw @] copies a word, [@ yy @] or [@ Y @] copies a line.%0a%0a[@ dw @] cuts/deletes a word, [@ dd @] cuts a line, [@ D @] cuts a line from the cursor till the end (same as [@ d$ @]).%0a%0a[@ cw @] changes a word, [@ cc @] changes a line, [@ C @] changes a line from the cursor till the end (same as [@ c$ @]).%0a%0a[@ y, d and c @] can be combined with $0, $, f, t, etc.$%0a%0a[@ p @] is used to paste after the cursor while [@ P @] is used to paste before%0athe cursor.%0a%0a!!! Searching%0a[@ / @] is used to search forwards.%0a%0a[@ ? @] is used to search backwards.%0a%0a[@ n @] goes to the next occurrence while [@ N @] goes to the previous occurrence.%0a%0a[@ f[char] @] goes to the first occurrence (after the cursor) of [@char@]. [@ F[char] @] does the same thing but backwards.%0a%0a[@ t[char] @] goes to the position just before the first occurrence (after the cursor) of [@char@]. [@ T[char] @] does the same thing but backwards.%0a%0aExamples:%0a* Initial%0a[@Hello! I like Vi.%0a^@]%0a* [@fl@] goes to the third character in the line%0a[@Hello! I like Vi.%0a ^@]%0a* [@tI@] goes to the seventh character in the line%0a[@Hello! I like Vi.%0a ^@]%0a* [@Fl@] goes to the fourth character in the line%0a[@Hello! I like Vi.%0a ^@]%0a* [@TH@] goes to the second character in the line because [@ e @] is the character just before [@ H @] backwards.%0a[@Hello! I like Vi.%0a ^@]
+time=1645978593
+title=Vi Introduction
+author:1645978593=Limits
+csum:1645978593=Add Introduction to Vi
+diff:1645978593:1645978593:=1,135d0%0a%3c (:title Vi Introduction:)%0a%3c %0a%3c Vi is the free and open-source editor that is present on most UNIX systems.%0a%3c Vi is a modal editor. It has three main modes (ways to interact with the editor).%0a%3c [[https://en.m.wikibooks.org/wiki/Learning_the_vi_Editor]] is a good resource for an introduction.%0a%3c %0a%3c !! Starting Vi%0a%3c [@vi [[files to edit]]@]%0a%3c %0a%3c Examples:%0a%3c * Without any arguments, [@ vi @] will just start a blank new file.%0a%3c * [@ vi a.txt @] will open [@ vi @] with the file [@ a.txt @]%0a%3c %0a%3c %0a%3c !! Insertion Mode%0a%3c In insert mode, you can type in text%0a%3c %0a%3c [@ i @] switches to insert mode and [@ a @] switches to insert mode moving the%0a%3c cursor one character forward.%0a%3c %0a%3c [@ %3cEscape> @] can be used to exit insert mode.%0a%3c %0a%3c %0a%3c !! Command Mode%0a%3c Command mode is used to send commands to the text editor. User [@ : @] to enter command mode.%0a%3c %0a%3c !!! Saving and Opening Files%0a%3c [@ :w @] saves a files%0a%3c %0a%3c [@ :w [filename] @] Saves the file as [@ filename @]%0a%3c %0a%3c [@ :q @] exits the editor%0a%3c %0a%3c [@ :wq @] saves and exits%0a%3c %0a%3c [@ :q! @] exits without saving%0a%3c %0a%3c [@ :e [filename] @] opens file [@ filename @] for editing%0a%3c %0a%3c [@ :e! [filename] @] discards changes in current buffer and opens file [@ filename @] for editing%0a%3c %0a%3c !! Normal Mode%0a%3c By default [@ vi @], opens in Normal Mode.%0a%3c Normal Mode allows you to cut, copy, paste, etc.%0a%3c To come back to Normal Mode from any mode, press [@ Escape @].%0a%3c %0a%3c [@ [num]command @] will execute [@ command @] [@ num @] times.%0a%3c %0a%3c !!! Movement%0a%3c Vi uses [@ h, j, k, l @] for movement.%0a%3c It allows for faster editing as the keys are present in the home row.%0a%3c * [@ h @] moves one character left%0a%3c * [@ j @] moves one line down%0a%3c * [@ k @] moves one line up%0a%3c * [@ l @] moves one character right%0a%3c [@%0a%3c k (up)%0a%3c h (left) l (right)%0a%3c j (down)%0a%3c @]%0a%3c %0a%3c [@ w @] moves to the beginning of the next word while%0a%3c [@ b @] moves to beginning of the previous word.%0a%3c %0a%3c [@ e @] moves to the end of the next word.%0a%3c %0a%3c [@ 0 @] moves to the beginning of the sentence while [@ $ @] moves to the end%0a%3c of the sentence.%0a%3c %0a%3c [@ G @] moves to the end of the file%0a%3c %0a%3c [@ [num]G @] moves to the line number [@ num @]%0a%3c %0a%3c Examples:%0a%3c * Initial%0a%3c [@Hello! I like Vi.%0a%3c ^@]%0a%3c * [@ w @] will move one word forward to [@ ! @]%0a%3c [@Hello! I like Vi.%0a%3c ^@]%0a%3c * [@ 2w @] will move two words forward to [@ l @]%0a%3c [@Hello! I like Vi.%0a%3c ^@]%0a%3c * [@ e @] will move to the end of the word%0a%3c [@Hello! I like Vi.%0a%3c ^@]%0a%3c * [@ $ @] will move to the end of the line.%0a%3c [@Hello! I like Vi.%0a%3c ^@]%0a%3c * [@ 3b @] will move three words back%0a%3c [@Hello! I like Vi.%0a%3c ^@]%0a%3c * [@ 0 @] will move to the beginning of the line%0a%3c [@Hello! I like Vi.%0a%3c ^@]%0a%3c %0a%3c !!! Cutting and Pasting%0a%3c [@ yw @] copies a word, [@ yy @] or [@ Y @] copies a line.%0a%3c %0a%3c [@ dw @] cuts/deletes a word, [@ dd @] cuts a line, [@ D @] cuts a line from the cursor till the end (same as [@ d$ @]).%0a%3c %0a%3c [@ cw @] changes a word, [@ cc @] changes a line, [@ C @] changes a line from the cursor till the end (same as [@ c$ @]).%0a%3c %0a%3c [@ y, d and c @] can be combined with $0, $, f, t, etc.$%0a%3c %0a%3c [@ p @] is used to paste after the cursor while [@ P @] is used to paste before%0a%3c the cursor.%0a%3c %0a%3c !!! Searching%0a%3c [@ / @] is used to search forwards.%0a%3c %0a%3c [@ ? @] is used to search backwards.%0a%3c %0a%3c [@ n @] goes to the next occurrence while [@ N @] goes to the previous occurrence.%0a%3c %0a%3c [@ f[char] @] goes to the first occurrence (after the cursor) of [@char@]. [@ F[char] @] does the same thing but backwards.%0a%3c %0a%3c [@ t[char] @] goes to the position just before the first occurrence (after the cursor) of [@char@]. [@ T[char] @] does the same thing but backwards.%0a%3c %0a%3c Examples:%0a%3c * Initial%0a%3c [@Hello! I like Vi.%0a%3c ^@]%0a%3c * [@fl@] goes to the third character in the line%0a%3c [@Hello! I like Vi.%0a%3c ^@]%0a%3c * [@tI@] goes to the seventh character in the line%0a%3c [@Hello! I like Vi.%0a%3c ^@]%0a%3c * [@Fl@] goes to the fourth character in the line%0a%3c [@Hello! I like Vi.%0a%3c ^@]%0a%3c * [@TH@] goes to the second character in the line because [@ e @] is the character just before [@ H @] backwards.%0a%3c [@Hello! I like Vi.%0a%3c ^@]%0a\ No newline at end of file%0a
+host:1645978593=2409:4060:18:a55b:cb97:acd0:80cb:9543
blob - /dev/null
blob + c3f1b3d75b1a9c4c8e7d7745b5685f55dcde1826 (mode 644)
--- /dev/null
+++ wiki.d/Vi.RecentChanges
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36
+charset=UTF-8
+ctime=1645978593
+host=2409:4060:18:a55b:cb97:acd0:80cb:9543
+name=Vi.RecentChanges
+rev=1
+text=* [[Vi/Intro]] . . . February 27, 2022, at 04:16 PM by [[~Limits]]: [=Add Introduction to Vi=]%0a
+time=1645978593
blob - /dev/null
blob + 888983676e3edaca30f0be5bcd1b41387ddca339 (mode 644)
--- /dev/null
+++ wiki.d/Vmm.SlackwareIso
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Opera/9.80 (X11; Linux x86_64) Presto/2.12.388 Version/12.16
+author=Naglfar
+charset=UTF-8
+csum=Slackware 15.0 x86 stable is released
+ctime=1641122809
+host=92.191.225.58
+name=Vmm.SlackwareIso
+rev=5
+targets=
+text=(:title Slackware Linux VMM Install Guide:)%0a%0a!! Download Slackware 15.0 installer image%0a[@%0a$ ftp://ftp.slackware.com/pub/slackware-iso/slackware-15.0-iso/slackware-15.0-install-dvd.iso%0a$ ftp://ftp.slackware.com/pub/slackware-iso/slackware-15.0-iso/slackware-15.0-install-dvd.iso.md5%0a$ ftp://ftp.slackware.com/pub/slackware-iso/slackware-15.0-iso/slackware-15.0-install-dvd.iso.asc%0a@]%0a%0a!! Verifying the integrity of the ISO image against the GPG signature%0a[@%0a$ ftp https://www.slackware.com/gpg-key%0a$ gpg --import gpg-key%0a$ gpg --verify slackware-15.0-install-dvd.iso.asc%0a@]
+time=1643928791
+title=Slackware Linux VMM Install Guide
+author:1643928791=Naglfar
+csum:1643928791=Slackware 15.0 x86 stable is released
+diff:1643928791:1641677544:=3c3%0a%3c !! Download Slackware 15.0 installer image%0a---%0a> !! Download Slackware 14.2 installer image%0a5,7c5,7%0a%3c $ ftp://ftp.slackware.com/pub/slackware-iso/slackware-15.0-iso/slackware-15.0-install-dvd.iso%0a%3c $ ftp://ftp.slackware.com/pub/slackware-iso/slackware-15.0-iso/slackware-15.0-install-dvd.iso.md5%0a%3c $ ftp://ftp.slackware.com/pub/slackware-iso/slackware-15.0-iso/slackware-15.0-install-dvd.iso.asc%0a---%0a> $ ftp https://mirrors.slackware.com/slackware/slackware-iso/slackware-14.2-iso/slackware-14.2-install-dvd.iso%0a> $ ftp https://mirrors.slackware.com/slackware/slackware-iso/slackware-14.2-iso/slackware-14.2-install-dvd.iso.md5%0a> $ ftp https://mirrors.slackware.com/slackware/slackware-iso/slackware-14.2-iso/slackware-14.2-install-dvd.iso.asc%0a14c14%0a%3c $ gpg --verify slackware-15.0-install-dvd.iso.asc%0a---%0a> $ gpg --verify slackware-14.2-install-dvd.iso.asc%0a
+host:1643928791=92.191.225.58
+author:1641677544=Naglfar
+diff:1641677544:1641667030:=3c3%0a%3c !! Download Slackware 14.2 installer image%0a---%0a> !! Download slackware 14.2%0a7a8%0a> $ ftp https://www.slackware.com/gpg-key%0a10c11%0a%3c !! Verifying the integrity of the ISO image against the GPG signature%0a---%0a> !! Verify ISO image against the GPG key%0a12d12%0a%3c $ ftp https://www.slackware.com/gpg-key%0a14a15,16%0a> %0a> gpg: Good signature%0a
+host:1641677544=92.191.225.58
+author:1641667030=Naglfar
+csum:1641667030=Update gpg-key url
+diff:1641667030:1641666741:=3a4%0a> %0a8c9%0a%3c $ ftp https://www.slackware.com/gpg-key%0a---%0a> $ ftp http://slackware.com/gpg-key%0a
+host:1641667030=92.191.225.58
+author:1641666741=Naglfar
+csum:1641666741=Download and verify
+diff:1641666741:1641122809:=1,18c1%0a%3c (:title Slackware Linux VMM Install Guide:)%0a%3c %0a%3c !! Download slackware 14.2%0a%3c %0a%3c [@%0a%3c $ ftp https://mirrors.slackware.com/slackware/slackware-iso/slackware-14.2-iso/slackware-14.2-install-dvd.iso%0a%3c $ ftp https://mirrors.slackware.com/slackware/slackware-iso/slackware-14.2-iso/slackware-14.2-install-dvd.iso.md5%0a%3c $ ftp https://mirrors.slackware.com/slackware/slackware-iso/slackware-14.2-iso/slackware-14.2-install-dvd.iso.asc%0a%3c $ ftp http://slackware.com/gpg-key%0a%3c @]%0a%3c %0a%3c !! Verify ISO image against the GPG key%0a%3c [@%0a%3c $ gpg --import gpg-key%0a%3c $ gpg --verify slackware-14.2-install-dvd.iso.asc%0a%3c %0a%3c gpg: Good signature%0a%3c @]%0a\ No newline at end of file%0a---%0a> (:title Slackware Linux VMM Install Guide:)%0a\ No newline at end of file%0a
+host:1641666741=92.191.225.58
+author:1641122809=Naglfar
+csum:1641122809=Add page for Slackware Linux support
+diff:1641122809:1641122809:=1d0%0a%3c (:title Slackware Linux VMM Install Guide:)%0a\ No newline at end of file%0a
+host:1641122809=92.191.225.58
blob - /dev/null
blob + 1f68b26f6bf9010a6aa3b4eecd8ebed4c1d6104c (mode 644)
--- /dev/null
+++ wiki.d/Vnc.RecentChanges
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 6.1; rv:68.0) Gecko/20100101 Firefox/68.0 SeaMonkey/2.53.10.1
+charset=UTF-8
+ctime=1640001175
+host=2.178.205.209
+name=Vnc.RecentChanges
+rev=2
+text=* [[Vnc/Vnc]] . . . December 22, 2021, at 10:25 AM by [[~mkf]]: [==]%0a
+time=1640168731
blob - /dev/null
blob + 4835e6dbfb01df69f2570b0fad57f3c1ffe833e1 (mode 644)
--- /dev/null
+++ wiki.d/Vnc.Vnc
+version=pmwiki-2.2.130 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (Windows NT 6.1; rv:68.0) Gecko/20100101 Firefox/68.0 SeaMonkey/2.53.10.1
+author=mkf
+charset=UTF-8
+csum=
+ctime=1640001175
+host=2.178.205.209
+name=Vnc.Vnc
+rev=2
+targets=MacScreenSharing.Connect
+text=(:Title Screensharing with VNC:)%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Name ||! IRC Bridge ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License || ||%0a|| [[MacScreenSharing.Connect|Mac Screen Sharing]] || || || ✓ || || || || || ? ||%0a%0a# W = Wine emulation%0a# C = Cygwin%0a
+time=1640168731
+title=Screensharing with VNC
+author:1640168731=mkf
+diff:1640168731:1640001175:=5c5%0a%3c || [[MacScreenSharing.Connect|Mac Screen Sharing]] || || || ✓ || || || || || ? ||%0a---%0a> || [[MacScreenSharing.Connect|Mac Screen Sharing]] || || ✓ || || || || || || ? ||%0a
+host:1640168731=2.178.205.209
+author:1640001175=jrmu
+diff:1640001175:1640001175:=1,8d0%0a%3c (:Title Screensharing with VNC:)%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Name ||! IRC Bridge ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License || ||%0a%3c || [[MacScreenSharing.Connect|Mac Screen Sharing]] || || ✓ || || || || || || ? ||%0a%3c %0a%3c # W = Wine emulation%0a%3c # C = Cygwin%0a
+host:1640001175=125.231.26.67