Commit Diff


commit - 4fff894c35d1e953146852fad496bdc358ef53fd
commit + fdfb7fd009024ae5ded0928a92e5ffc7e90ef005
blob - /dev/null
blob + b47fbd9b43273ae3f96544d1529105e5882da88b (mode 644)
Binary files /dev/null and uploads/Hunchentoot/emacs-001.png differ
blob - /dev/null
blob + ef9160a26de706f102d3ae1b5b39b13952872737 (mode 644)
Binary files /dev/null and uploads/Hunchentoot/emacs-002.png differ
blob - /dev/null
blob + 0af517043c68896c08c90fbe0cfd556727cfce25 (mode 644)
Binary files /dev/null and uploads/Hunchentoot/emacs-003.png differ
blob - /dev/null
blob + 8f9ee7cea94321e66995682d42c351ee4730e1d9 (mode 644)
Binary files /dev/null and uploads/Hunchentoot/emacs-004.png differ
blob - /dev/null
blob + 37a600ce143b9a815e80f3704fade5e792513a4b (mode 644)
Binary files /dev/null and uploads/Hunchentoot/emacs-005.png differ
blob - /dev/null
blob + f262f7d9e77acb902af9be5da5e1713d756152dd (mode 644)
Binary files /dev/null and uploads/Hunchentoot/firefox-001.png differ
blob - c777faa3036d03ff664f1cdb8cc0226be18b224a
blob + 718a24950bcf780029b45bf49fd6dc5eaa505f7f
--- wiki.d/.pageindex
+++ wiki.d/.pageindex
@@ -1,6 +1,7 @@
+Almanack.Almanack:1700938277: Lists.Ircnow Minutemin.Code Minutemin.Server Minutemin.Duty Minutemin.Questions Minutemin.Progress Medals.Intro Team.Welcome Team.Testing Servers.Rights Team.Announce Ircnow.Dogfood Team.Networks Congress.Procedure Congress.Documents Ircnow.Milestones Ircnow.Roadmap2021 Ircnow.Roadmap2022 Ircnow.Roadmap2023 Ircnow.Status2022 CodeForce.Deploy Abuse.Code Ambassador.Markets Ircnow.Metrics Ircnow.Nsf Ircnow.Newdeal Ircnow.Daughtersofliberty Netizen.Ellisisland User.Welcome Netizen.Become Netizen.Rights Freedom.Selfadmin Freedom.Independence Freedom.Fork Ircnow.Constitution Freedom.Religion Freedom.Firstamendment Freedom.Software Freedom.Privacy Freedom.Homestead Freedom.Madeonirc Freedom.Unix Freedom.Startupdream Freedom.Openforeveryone Freedom.Dueprocess Freedom.Checks Freedom.Rulebylaw Freedom.Federation Freedom.Union Freedom.Universal Freedom.Radio Ircnow.Education Openbsd.Intro Vmm.Configure Vmm.Install Vmctl.Usage Vmm.Linux Vmm.DebianIso Vmm.DebianInstall Vmm.Debian Vmm.Optimize Vmm.Ubuntu Openbsd.Buyvm Vmm.DevuanIso Vmm.Devuan-ISO Vmm.Alpine Vmm.Arch Vmm.Plan9 Vmm.Router Vmm.Homerouter Openbsd.BBB Openbsd.Orangepi3lts Openbsd.Upgrade67 Openbsd.Upgrade68 Openbsd.Upgrade69 Openbsd.Upgrade74 Openbsd.Sysupgrade68 Openbsd.Sysupgrade69 Openbsd.Sysupgrade70 Openbsd.Sysupgrade71 Openbsd.Sysupgrade72 Openbsd.Sysupgrade73 Openbsd.Sysupgrade74 Openbsd.Sysupgrade75 Openbsd.Install67 Openbsd.Install68 Openbsd.Install69 Openbsd.Install70 Openbsd.Install71 Openbsd.Install73 Openbsd.Install74 Openbsd.Bsdrd Openbsd.Singleuser Openbsd.Books OpenBSD.ResetPassword License.Publicdomain Gpl.Flaws Bsd.Hope Bsd.Labor License.Discriminatory Tcpip.Overview IPv4.Overview IPv6.Overview Tcpip.Sockets Openbsd.Netmask Tcpip.Ports Buyvm.Ipv6 Openbsd.Anycast Hostnameif.Static Hostnameif.Static-v2 Ifconfig.Change IP.Myaddress Almanack.Ifconfig Almanack.Route Openbsd.Wifi Route.Usage Dhcpd.Configure Openbsd.Npppd Openbsd.Pppoe Ntpd.Configure Dhclient.Configure Openbsd.Pf Pf.Guide Openbsd.PFStable Openbsd.PFTesting Openbsd.Pfbadhost Pf.Vpn Ddos.Intro Openbsd.SSDP Openbsd.ACKFlood Openbsd.RSTFlood Openbsd.SYNFlood Openbsd.HTTPFlood Openbsd.NTPAmplification Openbsd.UDPFlood Openbsd.Amplification Openbsd.Ping Openbsd.Tcpdump Netcat.Usage Netcat.Irc Netcat.Http Netcat.SMTP Telnet.Http Openssl.Http Openssl.Imap Openssl.Smtp Openssl.Check Openssl.Encryptfile Bgpd.Configure Dns.Overview Dns.Records Dns.FQDN Dns.Registrars Dns.Vhost Vhost.Freedns Vhost.Ircnow Nsd.Configure Nsd.Masterslave Nsd.Troubleshoot DNS.RDNS Dns.Zonefile Nsd.Zone Dns.Troubleshooting Openbsd.Delphinusdnsd DNS.Mail DNS.SPF DNS.DKIM DNS.DMARC DNS.Ipv6rDNS DNS.Ipv4rDNS Unbound.Configure Host.Usage Dig.Usage Openbsd.Unboundadblock Unbound.Blacklists Rbldnsd.Install Dns.BindResolver Unbound.DNSSEC Gpg.Verify Signify.Verify Duplicity.Usage Iked.Configure Vpn.Vpn Iked.Newconfig Vpn.Myipaddress Tor.Torsocks Tor.Hidden Tor.Irc Tls.Overview Tls.Intro Tls.CA Acme-client.Configure Acme-client.Cron Relayd.Acceleration Relayd.TLSMulti Letsencrypt.Expired Acme-client.AutoRenew Dehydrated.Configure Acmesh.Configure Sshd.Configure Ssh.Client Ssh.Fingerprints Openbsd.Sshbackdoor Sshd.Disablepassword OpenSSH.Keygen Openssh.Skey Openbsd.Drawtermssh Openbsd.Two-FactorAuth Openbsd.Sftp Ftpd.Configure Torrent.Configure Cvs.Anoncvs Cvs.Intro Cvs.Cvsweb Cvs.Repo Cvs.Guide Paster.Install Fiche.Install Openbsd.Www Openhttpd.Configure Openhttpd.Hosting Openbsd.Httpopenproxy Openhttpd.Perl Openbsd.Php Openhttpd.Tls Openhttpd.Website Openhttpd.CGI Openhttpd.Chroot Pmwiki.Install Pmwiki.Simpleurl Pmwiki.Replace Debate.Wikistyle Ikiwiki.Install Openbsd.Dokuwiki Squirrelmail.Install Roundcube.Install Wordpress.Install Openbsd.Oscommerce Openbsd.Cumulusclips Openbsd.Fluxbb Openbsd.Question2answer Openbsd.H5ai Openbsd.Easyapp Openbsd.Manna NodeJS.Install Openbsd.Cgit Stagit.Install Got.Repo Gotweb.Install Got.Usage Got.Server Got.Mirror Mariadb.Install Irc.Guide Irc.Chanop Ngircd.Oper Irc.Services Irc.Clients Irc.Easy HostServ.Rules Unrealircd.Install Znc.Install Znc.Chroot ZNC.Admin ZNC.Support Openbsd.ZNCModules Znc.Patch Znc.Usage Znc.Relayd Znc.I18n ZNC.Troubleshoot Znc.Debug Debate.Zncdefense Debate.Zncflaws Soju.Install Psybnc.Install Openbsd.Ilines Ambassador.Ilines Debate.Ircv3defense Openbsd.Identd Oidentd.Install Oidentd.ZNC Oidentd.Changeident Openbsd.Ii Openbsd.Sic Ngircd.Install Ngircd.Link Ngircd.Ssl Ngircd.Sins Ngircd.Loginconf Hopm.Install Openbsd.Acopm Hopm.Telnet Openbsd.Hopm-NowWithInit Hunchentoot.Install Achurch.Install Anope.Install Atheme.Install Pylink.Install Pylink.Chroot Bitlbee.Install Openbsd.Matterbridge Eggdrop193.Install Eggdrop191.Install Openbsd.Tcltls Eggdrop184.Install Eggdrop.Nickserv Wraith.Chroot Openbsd.Wraith Openbsd.Biblebot Botnow.Install Openbsd.Ircrelayd Category.Perl Openbsd.CPAN Unix101.Unix101 Unix101.Wechall C101.C101 Debate.WhyNotC Almanack.C C.Cprimer Openbsd.Vi Openbsd.Mg Emacs.Emacs Opensmtpd.Configure Openbsd.Opensmtpd-relay Openbsd.Opensmtpd-2 Openbsd.Mailopenproxy Opensmtpd.Troubleshoot Opensmtpd.Openrelay Opensmtpd.Test Rspamd.Configure Dovecot.Install Mlmmj.Install Mlmmj-archivist.Install Mutt.Connect Openbsd.Fdm Openbsd.Newdisk Openbsd.Fdisk Openbsd.Disklabel Openbsd.Growfs Openbsd.Pkg Openbsd.Ports Pkgadd.CheckUpdates Doas.Configure Syspatch.Syspatch Openbsd.Cron Rcctl.Rcctl Openbsd.Adduser Ln.Intro Tmux.Config Tmux.Share Openbsd.XTerm Openbsd.Backups Openbsd.Dump Openbsd.Restore Openrsync.Usage Rsync.Usage Fdisk.Usage Openbsd.Iplookup Openbsd.Base64 Openbsd.Uim Crontab.Edit Ps.Usage Kill.Usage Vi.Intro Openbsd.Vipw Tar.Usage Openbsd.Rcctl Syslogd.Configure Syslogd.Remote Ksh.Bash Ksh.Redirection Ksh.Autocomplete Shell.Limits Shell.Cronjobs Openbsd.Freeciv Openbsd.Openttd Olympics.Games Chess.Reading Chess.Chessgogi Chess.Tournament Chess.Limitsbot Fics.Install Math.Reading Shelllabs.Intro Shelllabs.Reading Shelllabs.Quotes Shelllabs.Manifesto Camping.Gear Openbsd.Minetest Minetest.Addingarenas Minetest.Serverlocations Minetest.Texturestyle Minetest.Updating Minetest.Worldbackup Texlive.Install Texlive.Sinhala Asterisk.Install Sox.Concat Openbsd.Ffmpeg Parec.Record Openbsd.Recordaudio Ffmpeg.Recordscreen Leafnode.Install Webnews.Install Gazette.Gazette Openbsd.INN Openbsd.Gopher Openbsd.Gophernicus Openbsd.Geomyidae Bucky.Install Prosody.Install Biboumi.Install Gomuks.Install Akkoma.Install Openbsd.Misc ISCABBS.ISCABBS Hosting.Hosting Hosting.Providers Openbsd.Security Chroot.Intro Password.Management MITM.Intro Openbsd.Phishing Password.Hashes Password.Schemes Openbsd.Dos Openbsd.Spam Openbsd.0days Openbsd.Rootkits Pledge.Intro Unveil.Intro Openbsd.Databaseperms Openbsd.Secureweb Openbsd.Trust Openbsd.Defaultdeny Openbsd.Loginconf Openbsd.Ids Openbsd.Setuid Openbsd.Sa Openbsd.Quota Openbsd.Shell Police.Intro Police.Fingerprints Openbsd.FilePermissions Openbsd.Oath-toolkit Doxing.Defense Team.Security Sheriff.Intro Openbsd.Xenodm Xfce.Install Fvwm.Configure Xdefaults.Configure Synclient.Configure TigerVNC.Install TigerVNC.SSH Fdroid.Install 9.9 9.Shell 9.Install 9.Partdisk 9.Plan9ini 9.Links 9.Shocase 9.Rcpu 9.Drawterm 9.JSDrawterm 9.101 9.Bootcamp 9.9paste 9.Independent 9.Cheatsheet 9.Sysupdate 9.Packages Rio.Customize 9.Chording 9.Ssh 9.Netcat 9.9gridchan 9.Ideas Cloud9p.Roadmap 9.9pideas 9.Audio 9.Irc 9.Date 9.Reading 9.Acmemail 9.Splinternet 9.FNS 9.PKI 9.IP 9.Why9 9.Inter9 9.Ramfs Debate.Linuxflaws Linux.Reading Unix.Intro Unix.History Unix.Exhibit Unix.Reading SIMH.Install Ircnow.Womenstem Openbsd.Dkimproxy Openbsd.Opensmtpd Opsofliberty.Bootcamp Ircnow.Goals Openbsd.Rbldns : daughtersofliberty ntpamplification troubleshooting filepermissions question2answer disablepassword serverlocations openforeveryone discriminatory unboundadblock firstamendment resetpassword bind_resolver delphinusdnsd authoritative configuration databaseperms debianinstall httpopenproxy mailopenproxy squirrelmail acceleration startupdream matterbridge sysupgrade70 independence sysupgrade69 texturestyle sysupgrade71 orangepi3lts sysupgrade68 ircv3defense addingarenas bindresolver applications sysupgrade75 sysupgrade72 sysupgrade74 constitution cumulusclips opsofliberty fingerprints cryptography checkupdates publicdomain sysupgrade73 dragonflybsd autocomplete recordscreen recordaudio roadmap2022 pkglocatedb nowwithinit changeident defaultdeny roadmap2023 roadmap2021 worldbackup netizenship illustrated masterslave ellisisland encryptfile declaration hunchentoot drawtermssh redirection letsencrypt simpletable sshbackdoor splinternet myipaddress independent gophernicus imagemagick authorities certificate opportunity eggdrop184 management federation dueprocess zncmodules registrars linuxflaws eggdrop191 philosophy networking homerouter brainstorm eggdrop193 historical tournament hostnameif dehydrated administer unrealircd status2022 automating accounting themselves automation plan9front temperance jsdrawterm beaglebone factorauth ambassador cheatsheet bittorrent oscommerce supermicro singleuser zncdefense blacklists deployment milestones signatures encryption debianiso addresses configure documents procedure universal education opensmtpd chessgogi disklabel codeforce openhttpd openrsync openrelay utilities install74 install73 homestead madeonirc install71 selfadmin install70 install69 install68 install67 partition archivist rulebylaw myaddress autorenew httpflood simpleurl wikistyle roundcube wordpress pfbadhost duplicity newconfig pftesting upgrade67 devuaniso debugging loginconf ircrelayd languages challenge questions secureweb sysupdate providers minutemin shelllabs xdefaults hardening manifesto intrusion detection womenstem geomyidae religious customize 9gridchan dkimproxy limitsbot fediverse synclient frugality software binaries security phishing dhclient almanack hostserv firewall category leafnode nickserv progress udpflood synflood ackflood acmemail rstflood pfstable services biblebot tlsmulti asterisk balances showcase rootkits ifconfig packages zonefile zncflaws chording webpanel overview changing ipv6rdns ipv4rdns sysadmin bootcamp identify religion announce bouncers advanced congress dokuwiki networks torsocks tigervnc olympics syspatch training iplookup optimize symbolic sortable transfer chrooted articles industry cronjobs pastebin minetest updating touchpad creating plan9ini accounts policing machines partdisk netmasks openbsd ikiwiki openssl schemes anycast channel mariadb freedns replace without easyapp clients toolkit windows desktop sheriff support tcpdump shocase freedom camping dovecot connect reading newdeal newdisk science texlive icecast history sinhala exhibit chinese restore freeciv metrics markets crontab backups editing sending signals welcome syslogd dogfood privacy pkg_add adduser openttd hosting achurch iscabbs cloud9p bitlbee servers biboumi oidentd sockets license gazette unix101 wechall whynotc webnews cprimer editors prosody 9pideas website ramdisk mailing justice central digital virtual routing expired openssh caching version anoncvs control lessons android rbldnsd signing signify proxies unveil ircnow middle guides hashes ffmpeg dnssec netcat setuid rights mirror acmesh cvsweb quotes ubuntu paster police ngircd pledge telnet alpine concat 9paste target irc101 denial chanop pmwiki fluxbb inter9 gomuks doxing akkoma matrix create hidden social verify keygen stagit higher civics access gotweb censor debate sndiod vorbis checks become united nodejs psybnc attack ilines filter packet shells static xenodm fdroid rspamd botnow pylink tcltls atheme border relays wraith vhosts base64 medals system remote netpgp pkgadd growfs quotas netbsd ramfs intro goals links share party bsdrd rules tcpip usage labor books acopm anope emacs buyvm mlmmj ports radio dmarc fiche pppoe npppd manna dhcpd union parec bucky 0days trust mouse fdisk rcctl xterm abuse games vmctl title layer ifend pipes users repos setup using certs disks ipsec media width class wheel ethic files young video latex false honor metal iked sshd skey fvwm perl keys duty vpns call ftpd cgit h5ai sftp simh fqdn bgpd imap poor oper chat good rcpu ircs why9 room xfce hope ntpd ddos misc ssdp cpan mitm wifi bill fork doas tmux kill vipw bash fics math dell mutt bare gear oath soju i18n team hopm sins mode bots bncs time sudo korn mgmt apps 100 fdm rio uim fns org pki vmm spf run old ksh alt bbb sox inn sip gpl vps 3rd ids www sic php 2fa gpg ii v2
+Openbsd.Wraith:1700938157: Openbsd.Dns Openbsd.Backup Openbsd.Netcat : d2312f8fcd9de09574d7370e8de058d91322686c 6e8e5b2448356bb48f642dd18115aaaaca7b6dcb nuulsail2tydzzhwox9paz1l6sbovlvx thtqf8ifeee5ox0i configuration automatically documentation yourpackname instructions abcd3fgh1jk1 alphanumeric yourhubname networkname explanation information compromised controlling wraithpath administer binarypass recognized configured officially packconfig afterwards connection additional protection libcrypto dccprefix timestamp generated confusing connected character different supported reference somewhere something providing specific unhashed yournick optional accounts undernet continue username separate password creating replaced directly contains chanmode updating choosing security channels hostname matching enclosed software hostmask chaninfo cherry07 groupdel terminal requires oaijmnop stronger yourself settings powerful services reasons openbsd botpack updated fruit03 because command fruit02 several fruit01 portmax urandom pkg_add portmin hubnick address userdel homedir botnick useradd patched without libexec eggdrop install written dynamic warning nologin comment complex version however disable specify working default cookies chanset private libstdc include release records joining provide ircnet source should github delete create ircnow tested script stable backup secure fruit1 fruit2 leaves client chattr limits resolv fastop before stolen server ensure netcat botnet manage manual handle access autoop botcmd unable libssl values hashes salted ignore public better entire giving sample efnet press print enter saved above mkdir chown setup twice paste since https takes valid users keyed 12742 opped vhost waste three state there user2 manop flags whois flood sends mjoin voice shell wrote lines these owner salt2 64100 salt1 suxsc durt8 doesn 64000 nodes their front means forth which begin gmake store track build while first title such want safe ipv6 leaf each bots fill this more will than must same both much that head like look fold then echo repo code data bot2 quit have hubs bot5 bot4 bot3 1025 pick free goes sha1 deop mdop help kick keep ctcp type find last used pros cons easy once need dest done copy into them wiki html very read note file show doas null libm been true xvzf sbin chsh gets uses ctrl hung usr org ssh any dns can new run uid ksh scp yes awk tmp mop bad ops ntk may but tar dev 10a ftp hit won put gz za by 96 z0 45 v1 16 29 47 43 30 28 pc 46
 Openbsd.Host:1700866267:  : redirect openbsd usage host
 Hunchentoot.Install:1700855441:  : characteristics merchantability redistributions standardization configurations implementation organizational documentation experimenting consequential parenthetical distinguished professionals defparameter installation quickproject contributors informations applications transactions interruption incorporated sbcl_program modification introduction authenticity calculations cryptography possibility portability hunchentoot development correctness certificate environment parenscript interpreter conventions definitions compression directories procurement description innovations programming mathematics reasearches ecl_program consecutive simpletable interaction particular parameters warranties selfsigned privatekey quickstart conditions referenced disclaimer components permission structures difference absolutely styleguide negligence repository scientific defpackage completely quantities substitute navigating disclaimed semicolons containing accessible functional incidental especially themselves dispatcher programmed installing understand javascript downloaded university characters integrated barski2010 seibel2005 interested constantly vertically quicklisp directory following quickload including inserting attribute defmethod functions reproduce liability evaluated variables permitted installed collector copyright delimiter resources bsdforall ignorable localhost defsystem pineapple otherwise pathnames packaging specified discovers webserver exemplary configure materials knowledge available signature installer behaviour different qualified nicknames something allocator operation interface modifying important separator lisp_form lispguide connected constants paragraph temporary licensing correctly libraries esotheric developed continues buffering informing proactive operating ironclad software licenses electric projects indirect comments handling provided sections contract specific acceptor initform accessor 028b5ff7 automate portions defclass contents responds business returned separate features products retrieve terminal services floating bordeaux warranty compiler instance registry magnetic gigantic warnings stopping defaults unsigned language directly computer involved speaking question advanced calculus locality entering describe generate personal commands handlers skeleton programs template composed shutting happened contains assuming keywords foreword existent creation coercing security starting enclosed required pressing instruct inferior toplevel official libressl majority keyboard platform provides sortable revision superior everyday redirect province arising example proceed loading replace fitness related objects purpose written country library advised company entered request damages unicode instead writing openssl profits already message version whether however finally enabled another limited capable address clients outform pkg_add openbsd implied scripts appears credits defined notices threads copying created testina depends process without apropos neither endorse promote derived resides holders express options numbers perform manager signing release strings symbols choices pushnew include follows homedir systems happens issuing central reshape timeout protect cleanup verbose avocado working initarg running desktop machine sparc64 explain classes getting waiting regents similar declare started science punched distant element dialect garbage graphic history regular strange mailing achieve channel legally clauses initial funcall concept suggest execute methods dynamic console homelab support licence edition preface largely headers between clarity printed firefox browser common reflex gensym readme author binary needed helper antani launch arises people inside errors syntax output reload sbclrc angelo attach assert exists choose border prompt useful random deploy github listed stream layout future edited really window adding fridge unwind reader lambda remove expand gencgc loader endian little caused letter theory finish called fields strict notify stuffs liable fruits editor domain public mostly retain unique keyout newkey length before showed itself global serial should remark indent extend spaces coding occurs prefer banana orange refers stands usable things verify export always assume result remind secure marked better excels alonzo church incits s20018 google modern libera stated online append manual antik files goods group begin rules below event shall asked about emacs edicl using nodes while small https slime until taken which basic hints lines nohup apply tools first these forms image three means would align issue after month check index await setup shell above vhost quote glory hacks prior named progn defun there leave stdin mkdir phase catch input since those fully italy email blank value quite empty peach merge moved based point stell locks added least arena amd64 chars ideas arm64 could allow pages cycle again swank asdf2 among areas equal macro probe usage batch times asdf3 build cards boost books years fifty rossi still gmail piece width great next from that just when will setq user must this also mapc chat beta 2023 make more fact html four goes want date like root tree best 1994 menu ansi your doas text well unix loss made 2014 wide free ieee only such curl back have site tort data loop give bash 2015 find 9443 4242 plum pick bank core x509 left unit rome pair easy what same look held 4bsd case thus esac days lone 2048 into type byte task size past tape docs high feel setf they said fad may x86 why who irc sat bit fly www see nil txt dsl pem png crt can 226 ldb log csh faq don got ago few 365 rsa 003 alt 002 via non gpg two xml feb 004 16 bt fd ql 30 h1 dn js 25 mv cd
-Almanack.Almanack:1700850747: Lists.Ircnow Minutemin.Code Minutemin.Server Minutemin.Duty Minutemin.Questions Minutemin.Progress Medals.Intro Team.Welcome Team.Testing Servers.Rights Team.Announce Ircnow.Dogfood Team.Networks Congress.Procedure Congress.Documents Ircnow.Milestones Ircnow.Roadmap2021 Ircnow.Roadmap2022 Ircnow.Roadmap2023 Ircnow.Status2022 CodeForce.Deploy Abuse.Code Ambassador.Markets Ircnow.Metrics Ircnow.Nsf Ircnow.Newdeal Ircnow.Daughtersofliberty Netizen.Ellisisland User.Welcome Netizen.Become Netizen.Rights Freedom.Selfadmin Freedom.Independence Freedom.Fork Ircnow.Constitution Freedom.Religion Freedom.Firstamendment Freedom.Software Freedom.Privacy Freedom.Homestead Freedom.Madeonirc Freedom.Unix Freedom.Startupdream Freedom.Openforeveryone Freedom.Dueprocess Freedom.Checks Freedom.Rulebylaw Freedom.Federation Freedom.Union Freedom.Universal Freedom.Radio Ircnow.Education Openbsd.Intro Vmm.Configure Vmm.Install Vmctl.Usage Vmm.Linux Vmm.DebianIso Vmm.DebianInstall Vmm.Debian Vmm.Optimize Vmm.Ubuntu Openbsd.Buyvm Vmm.DevuanIso Vmm.Devuan-ISO Vmm.Alpine Vmm.Arch Vmm.Plan9 Vmm.Router Vmm.Homerouter Openbsd.BBB Openbsd.Orangepi3lts Openbsd.Upgrade67 Openbsd.Upgrade68 Openbsd.Upgrade69 Openbsd.Upgrade74 Openbsd.Sysupgrade68 Openbsd.Sysupgrade69 Openbsd.Sysupgrade70 Openbsd.Sysupgrade71 Openbsd.Sysupgrade72 Openbsd.Sysupgrade73 Openbsd.Sysupgrade74 Openbsd.Sysupgrade75 Openbsd.Install67 Openbsd.Install68 Openbsd.Install69 Openbsd.Install70 Openbsd.Install71 Openbsd.Install73 Openbsd.Install74 Openbsd.Bsdrd Openbsd.Singleuser Openbsd.Books OpenBSD.ResetPassword License.Publicdomain Gpl.Flaws Bsd.Hope Bsd.Labor License.Discriminatory Tcpip.Overview IPv4.Overview IPv6.Overview Tcpip.Sockets Openbsd.Netmask Tcpip.Ports Buyvm.Ipv6 Openbsd.Anycast Hostnameif.Static Hostnameif.Static-v2 Ifconfig.Change IP.Myaddress Almanack.Ifconfig Almanack.Route Openbsd.Wifi Route.Usage Dhcpd.Configure Openbsd.Npppd Openbsd.Pppoe Ntpd.Configure Dhclient.Configure Openbsd.Pf Pf.Guide Openbsd.PFStable Openbsd.PFTesting Openbsd.Pfbadhost Pf.Vpn Ddos.Intro Openbsd.SSDP Openbsd.ACKFlood Openbsd.RSTFlood Openbsd.SYNFlood Openbsd.HTTPFlood Openbsd.NTPAmplification Openbsd.UDPFlood Openbsd.Amplification Openbsd.Ping Openbsd.Tcpdump Netcat.Usage Netcat.Irc Netcat.Http Netcat.SMTP Telnet.Http Openssl.Http Openssl.Imap Openssl.Smtp Openssl.Check Openssl.Encryptfile Bgpd.Configure Dns.Overview Dns.Records Dns.FQDN Dns.Registrars Dns.Vhost Vhost.Freedns Vhost.Ircnow Nsd.Configure Nsd.Masterslave Nsd.Troubleshoot DNS.RDNS Dns.Zonefile Nsd.Zone Dns.Troubleshooting Openbsd.Delphinusdnsd DNS.Mail DNS.SPF DNS.DKIM DNS.DMARC DNS.Ipv6rDNS DNS.Ipv4rDNS Unbound.Configure Host.Usage Dig.Usage Openbsd.Unboundadblock Unbound.Blacklists Rbldnsd.Install Dns.BindResolver Unbound.DNSSEC Gpg.Verify Signify.Verify Duplicity.Usage Iked.Configure Vpn.Vpn Iked.Newconfig Vpn.Myipaddress Tor.Torsocks Tor.Hidden Tor.Irc Tls.Overview Tls.Intro Tls.CA Acme-client.Configure Acme-client.Cron Relayd.Acceleration Relayd.TLSMulti Letsencrypt.Expired Acme-client.AutoRenew Dehydrated.Configure Acmesh.Configure Sshd.Configure Ssh.Client Ssh.Fingerprints Openbsd.Sshbackdoor Sshd.Disablepassword OpenSSH.Keygen Openssh.Skey Openbsd.Drawtermssh Openbsd.Two-FactorAuth Openbsd.Sftp Ftpd.Configure Torrent.Configure Cvs.Anoncvs Cvs.Intro Cvs.Cvsweb Cvs.Repo Cvs.Guide Paster.Install Fiche.Install Openbsd.Www Openhttpd.Configure Openhttpd.Hosting Openbsd.Httpopenproxy Openhttpd.Perl Openbsd.Php Openhttpd.Tls Openhttpd.Website Openhttpd.CGI Openhttpd.Chroot Pmwiki.Install Pmwiki.Simpleurl Pmwiki.Replace Debate.Wikistyle Ikiwiki.Install Openbsd.Dokuwiki Squirrelmail.Install Roundcube.Install Wordpress.Install Openbsd.Oscommerce Openbsd.Cumulusclips Openbsd.Fluxbb Openbsd.Question2answer Openbsd.H5ai Openbsd.Easyapp Openbsd.Manna NodeJS.Install Openbsd.Cgit Stagit.Install Got.Repo Gotweb.Install Got.Usage Got.Server Got.Mirror Mariadb.Install Irc.Guide Irc.Chanop Ngircd.Oper Irc.Services Irc.Clients Irc.Easy HostServ.Rules Unrealircd.Install Znc.Install Znc.Chroot ZNC.Admin ZNC.Support Openbsd.ZNCModules Znc.Patch Znc.Usage Znc.Relayd Znc.I18n ZNC.Troubleshoot Znc.Debug Debate.Zncdefense Debate.Zncflaws Soju.Install Psybnc.Install Openbsd.Ilines Ambassador.Ilines Debate.Ircv3defense Openbsd.Identd Oidentd.Install Oidentd.ZNC Oidentd.Changeident Openbsd.Ii Openbsd.Sic Ngircd.Install Ngircd.Link Ngircd.Ssl Ngircd.Sins Ngircd.Loginconf Hopm.Install Openbsd.Acopm Hopm.Telnet Openbsd.Hopm-NowWithInit Hunchentoot.Install Achurch.Install Anope.Install Atheme.Install Pylink.Install Pylink.Chroot Bitlbee.Install Openbsd.Matterbridge Eggdrop193.Install Eggdrop191.Install Openbsd.Tcltls Eggdrop184.Install Eggdrop.Nickserv Wraith.Chroot Openbsd.Biblebot Botnow.Install Openbsd.Ircrelayd Category.Perl Openbsd.CPAN Unix101.Unix101 Unix101.Wechall C101.C101 Debate.WhyNotC Almanack.C C.Cprimer Openbsd.Vi Openbsd.Mg Emacs.Emacs Opensmtpd.Configure Openbsd.Opensmtpd-relay Openbsd.Opensmtpd-2 Openbsd.Mailopenproxy Opensmtpd.Troubleshoot Opensmtpd.Openrelay Opensmtpd.Test Rspamd.Configure Dovecot.Install Mlmmj.Install Mlmmj-archivist.Install Mutt.Connect Openbsd.Fdm Openbsd.Newdisk Openbsd.Fdisk Openbsd.Disklabel Openbsd.Growfs Openbsd.Pkg Openbsd.Ports Pkgadd.CheckUpdates Doas.Configure Syspatch.Syspatch Openbsd.Cron Rcctl.Rcctl Openbsd.Adduser Ln.Intro Tmux.Config Tmux.Share Openbsd.XTerm Openbsd.Backups Openbsd.Dump Openbsd.Restore Openrsync.Usage Rsync.Usage Fdisk.Usage Openbsd.Iplookup Openbsd.Base64 Openbsd.Uim Crontab.Edit Ps.Usage Kill.Usage Vi.Intro Openbsd.Vipw Tar.Usage Openbsd.Rcctl Syslogd.Configure Syslogd.Remote Ksh.Bash Ksh.Redirection Ksh.Autocomplete Shell.Limits Shell.Cronjobs Openbsd.Freeciv Openbsd.Openttd Olympics.Games Chess.Reading Chess.Chessgogi Chess.Tournament Chess.Limitsbot Fics.Install Math.Reading Shelllabs.Intro Shelllabs.Reading Shelllabs.Quotes Shelllabs.Manifesto Camping.Gear Openbsd.Minetest Minetest.Addingarenas Minetest.Serverlocations Minetest.Texturestyle Minetest.Updating Minetest.Worldbackup Texlive.Install Texlive.Sinhala Asterisk.Install Sox.Concat Openbsd.Ffmpeg Parec.Record Openbsd.Recordaudio Ffmpeg.Recordscreen Leafnode.Install Webnews.Install Gazette.Gazette Openbsd.INN Openbsd.Gopher Openbsd.Gophernicus Openbsd.Geomyidae Bucky.Install Prosody.Install Biboumi.Install Gomuks.Install Akkoma.Install Openbsd.Misc ISCABBS.ISCABBS Hosting.Hosting Hosting.Providers Openbsd.Security Chroot.Intro Password.Management MITM.Intro Openbsd.Phishing Password.Hashes Password.Schemes Openbsd.Dos Openbsd.Spam Openbsd.0days Openbsd.Rootkits Pledge.Intro Unveil.Intro Openbsd.Databaseperms Openbsd.Secureweb Openbsd.Trust Openbsd.Defaultdeny Openbsd.Loginconf Openbsd.Ids Openbsd.Setuid Openbsd.Sa Openbsd.Quota Openbsd.Shell Police.Intro Police.Fingerprints Openbsd.FilePermissions Openbsd.Oath-toolkit Doxing.Defense Team.Security Sheriff.Intro Openbsd.Xenodm Xfce.Install Fvwm.Configure Xdefaults.Configure Synclient.Configure TigerVNC.Install TigerVNC.SSH Fdroid.Install 9.9 9.Shell 9.Install 9.Partdisk 9.Plan9ini 9.Links 9.Shocase 9.Rcpu 9.Drawterm 9.JSDrawterm 9.101 9.Bootcamp 9.9paste 9.Independent 9.Cheatsheet 9.Sysupdate 9.Packages Rio.Customize 9.Chording 9.Ssh 9.Netcat 9.9gridchan 9.Ideas Cloud9p.Roadmap 9.9pideas 9.Audio 9.Irc 9.Date 9.Reading 9.Acmemail 9.Splinternet 9.FNS 9.PKI 9.IP 9.Why9 9.Inter9 9.Ramfs Debate.Linuxflaws Linux.Reading Unix.Intro Unix.History Unix.Exhibit Unix.Reading SIMH.Install Ircnow.Womenstem Openbsd.Dkimproxy Openbsd.Opensmtpd Opsofliberty.Bootcamp Ircnow.Goals Openbsd.Rbldns : daughtersofliberty ntpamplification troubleshooting disablepassword question2answer serverlocations openforeveryone filepermissions unboundadblock firstamendment discriminatory configuration debianinstall resetpassword httpopenproxy databaseperms mailopenproxy delphinusdnsd bind_resolver authoritative matterbridge sysupgrade74 sysupgrade73 sysupgrade75 opsofliberty publicdomain ircv3defense recordscreen texturestyle sysupgrade72 startupdream sysupgrade71 constitution autocomplete independence addingarenas checkupdates sysupgrade70 orangepi3lts sysupgrade68 sysupgrade69 fingerprints squirrelmail acceleration cryptography cumulusclips bindresolver applications dragonflybsd roadmap2023 myipaddress redirection ellisisland changeident declaration roadmap2021 netizenship roadmap2022 defaultdeny certificate masterslave nowwithinit encryptfile worldbackup recordaudio hunchentoot authorities letsencrypt drawtermssh sshbackdoor opportunity pkglocatedb gophernicus independent illustrated imagemagick splinternet simpletable federation factorauth cheatsheet supermicro homerouter dehydrated dueprocess management linuxflaws singleuser automating philosophy accounting jsdrawterm networking historical bittorrent hostnameif beaglebone registrars unrealircd oscommerce zncmodules tournament zncdefense eggdrop184 themselves eggdrop191 eggdrop193 ambassador blacklists automation milestones administer brainstorm plan9front status2022 temperance signatures deployment encryption dkimproxy configure opensmtpd openhttpd synclient xdefaults sysupdate wikistyle customize ircrelayd pfbadhost shelllabs minutemin 9gridchan httpflood pftesting limitsbot wordpress roundcube chessgogi openrelay simpleurl duplicity addresses autorenew intrusion detection openrsync install74 disklabel newconfig loginconf secureweb install67 install68 myaddress install71 install73 archivist womenstem frugality install69 install70 upgrade67 languages universal challenge education selfadmin documents providers rulebylaw fediverse geomyidae codeforce procedure homestead utilities madeonirc religious devuaniso debianiso partition debugging manifesto hardening questions progress minetest tigervnc nickserv syspatch policing symbolic partdisk religion networks biblebot synflood congress security rstflood almanack ipv4rdns zncflaws announce bootcamp cronjobs olympics overview iplookup zonefile hostserv services ipv6rdns touchpad udpflood software dokuwiki ifconfig phishing packages changing webpanel rootkits articles dhclient chording bouncers ackflood pfstable accounts asterisk showcase tlsmulti binaries torsocks updating plan9ini optimize identify advanced pastebin chrooted category leafnode acmemail creating training sortable firewall balances transfer industry machines sysadmin netmasks openbsd anycast reading achurch camping without prosody oidentd servers license newdeal gazette clients science sockets webnews history toolkit freedns icecast openssl mariadb channel tcpdump easyapp sinhala texlive dogfood exhibit support whynotc freedom privacy connect newdisk syslogd welcome dovecot crontab backups editing restore metrics markets chinese central pkg_add signals sending adduser schemes openttd virtual freeciv bitlbee biboumi digital justice editors cprimer iscabbs wechall unix101 hosting shocase caching 9pideas cloud9p rbldnsd ikiwiki mailing replace website signing signify lessons windows desktop sheriff routing proxies expired version control anoncvs android openssh ramdisk inter9 rights denial ircnow police netcat fdroid netbsd xenodm ffmpeg unveil base64 hashes pledge become quotes social border middle 9paste debate medals akkoma remote setuid system quotas target concat doxing civics shells gomuks vorbis sndiod matrix ngircd gotweb ilines stagit nodejs fluxbb static psybnc pmwiki verify alpine vhosts mirror chanop irc101 telnet guides dnssec growfs hidden pkgadd paster create cvsweb acmesh keygen united ubuntu checks filter access packet botnow higher wraith rspamd tcltls attack censor pylink atheme relays netpgp rules mlmmj intro links acopm manna emacs ramfs fdisk goals usage anope ports parec books labor tcpip share dhcpd npppd pppoe bsdrd bucky vmctl abuse trust 0days union radio buyvm rcctl fiche mouse xterm party dmarc games title layer ifend pipes users repos setup using certs disks ipsec media class width wheel ethic video latex false files young honor metal skey sftp keys cgit xfce sshd duty h5ai ftpd perl fvwm iked call vpns bgpd fqdn chat simh imap poor oper room rcpu ircs why9 good mitm ntpd ddos misc ssdp cpan bill fork wifi hope tmux kill vipw doas bash fics math dell mutt bare gear oath soju team i18n hopm sins mode korn time bncs mgmt bots sudo apps ksh vmm fdm spf uim bbb ids 3rd 100 rio vps old run pki fns org alt sox sip gpl inn www gpg sic 2fa php ii v2
 Hunchentoot.RecentChanges:1700850059:  : recentchanges hunchentoot posterdati install openbsd common 24t18 emacs slime lisp sbcl 2023 10z 17 by 11
 Hunchentoot.Install-Draft:1700849749:  : merchantability standardization redistributions characteristics implementation configurations organizational professionals documentation consequential experimenting distinguished parenthetical cryptography informations defparameter installation quickproject contributors calculations applications interruption transactions authenticity introduction incorporated modification development correctness possibility hunchentoot environment parenscript certificate description programming procurement interpreter definitions mathematics consecutive reasearches portability innovations conventions directories compression simpletable interaction semicolons selfsigned containing components conditions disclaimer parameters quickstart navigating quantities privatekey defpackage particular vertically substitute javascript constantly referenced negligence seibel2005 barski2010 understand functional permission incidental warranties repository disclaimed absolutely especially styleguide dispatcher scientific structures integrated downloaded themselves accessible completely university installing difference programmed characters interested quicklisp defsystem directory following signature available ignorable installer webserver configure delimiter something attribute liability including otherwise libraries bsdforall materials evaluated copyright knowledge qualified buffering inserting pathnames permitted reproduce resources functions operation localhost installed different packaging defmethod quickload allocator nicknames constants continues informing exemplary specified interface modifying paragraph correctly behaviour developed temporary esotheric separator proactive collector licensing variables lispguide pineapple important operating discovers licenses acceptor starting redirect sections services computer responds involved specific speaking provided separate software warranty defclass entering indirect comments language portions business libressl shutting magnetic gigantic coercing skeleton initform products handling features security electric creation existent projects bordeaux handlers keywords template terminal contains composed accessor programs required commands enclosed ironclad locality province superior foreword 028b5ff7 returned question directly retrieve contract floating describe calculus automate happened unsigned platform majority instruct advanced inferior generate instance toplevel registry everyday defaults sortable revision personal warnings official stopping assuming provides keyboard contents compiler pressing dynamic proceed pkg_add homelab preface profits without neither happens written already classes promote element advised example address homedir derived library scripts verbose openbsd arising edition related timeout endorse copying objects entered achieve pushnew numbers symbols avocado strings whether another capable initarg declare regents credits options central however explain loading version openssl resides manager message replace signing release damages limited request implied purpose writing fitness follows choices appears clients unicode protect outform express enabled finally country apropos company systems holders channel defined similar waiting process depends cleanup funcall initial strange threads testina printed created notices dialect mailing between science legally instead methods running regular execute graphic sparc64 started distant include clauses punched headers getting working garbage largely history desktop reshape support perform issuing suggest machine licence console concept before helper banana strict showed itself adding common indent expand coding stream sbclrc liable orange loader assert gencgc unwind launch binary errors caused random domain mostly theory public antani retain author fruits lambda reload window inside serial little endian readme choose letter should remark occurs stands spaces called refers exists fields prompt listed layout future useful keyout remind always google edited attach export newkey marked github deploy needed length output finish remove reader gensym append s20018 incits assume secure modern notify excels people syntax arises reflex really fridge church alonzo extend editor stated stuffs result unique angelo usable things verify manual online libera prefer global border better which forms files cards emacs piece italy check antik index apply month first shell point email slime using https goods taken begin draft until rules there fully quote amd64 arm64 glory vhost await setup among basic boost macro asked those areas tools books since about ideas above hints these could shall based build after usage means moved prior issue event value hacks nodes blank defun quite pages empty stell leave edicl progn small again named rossi lines would added gmail merge locks arena while mkdir equal least probe allow stdin catch asdf2 chars asdf3 input still cycle times phase align years fifty three peach group width great swank batch doas docs root will mapc core this what unix that give bash loop free from loss feel bank data make user back 2023 more text next want must when ieee ansi menu pick just date like html 4bsd your tort such easy look tree setq lone plum 9443 4242 only chat goes high have past four made tape size 1994 beta curl x509 site type thus byte wide days 2048 into unit left setf fact 2014 rome held well task also best case same pair 2015 said they find 004 see crt png fly why nil 002 can two ago alt xml www 003 pem log may fad who got bit x86 non ldb csh rsa via 226 dsl irc gpg few feb sat don faq 365 fd bt h1 16 js ql dn 30 25 mv cd
 Ircnow.Minutemin:1700580343: Minutemin.Bootcamp Ircnow.Goals Freedom.Freedom Shell.Shell Unix101.Unix101 Ircnow.Servers Ircnow.Roadmap Ircnow.Finances : administration documentation interviewed contribute experience sysadmins improving minutemin currently marketing bootcamp finances internet tutorial training position articles promoted customer progress personal verified improve freedom willing support website servers roadmap project contact regular qualify account unix101 minimum respond threats network friends social ircnow finish coding worked within rfloat become mutual attach report unpaid method resume reward commit notice create duties refer staff track shell share month basic goals media write after hours below title while learn email apply 80pct using width your team keep join help week must this over blog send oper code hang find png how who one can any the and bsd see for out new add get org of cv 5
@@ -1297,7 +1298,6 @@ Shell.RecentChanges:1628921167:  : sshfingerprints rec
 Openbsd.Pf:1628921167:  : fingerprinting loginterface certificate connections workstation diagnosing determines indicating acquiring localhost certainly necessary different addresses diagnosis whitelist available generally external existing matching properly outgoing incoming needfrag blocking firewall accurate although arriving network minimum openbsd because running packets replace emptied traffic ruleset disable default seconds servers simple attack accept policy useful tables should ext_if system reject edited action needed filter enable access signed https proto state empty again icmp6 pfctl avoid since inet6 allow where while under 1000s those other times port from also very drop conf code that this will pass type ipv6 with many keep skip doas your show only once came last load user want then for 128 tcp can 192 168 em0 web ssh don lo0 etc ssl and mtu few see had now are not of sr by my 4 3
 Openbsd.Shell:1628921167: Guava.Packages : internationalized synchronization minpasswordlen authentication implementation configuration multithreaded specification decompression manipulating unencumbered manipulation memorylocked customizable libunistring continuation multilingual asynchronous repositories documenting interpreted programming replacement permissions lightweight enumerating downloading sshd_config requirehome imagemagick localcipher accelerated intelligent pkglocatedb management minimalist processing components additional exceptions vmemoryuse accounting compressor collection conversion typesetter eventually subversion expression extensible postscript 20150318p1 libunbound forwarding libchewing validating installing libarchive manipulate javascript newsreader compatible directory structure formatted openfiles documents installed bandwidth reference character libraries interface companion detection zstandard algorithm processor processes providing mirroring patchsets generates php73_fpm microsoft utilities xdefaults geomyidae multitail transform scripting stacksize compliant djvulibre profanity subdomain mercurial symlinked converter resources fetchmail coreutils retrieval terminals computing extension _dovecot packages abstract revision extended settings language features security notation routines embedded inspired newsboat database services username location sendmail powerful stopping displays compiler oriented 20171017 resolver problems desktops licensed platform libtasn1 creating portable symlinks flexible programs td309339 lossless reviewed blowfish designed fallback berkeley complain protocol function phonetic discrete blake2bp blake2sp xlsx2csv retrieve libiconv converts antiword idna2008 japanese 20171227 docx2txt runtime purpose gettext mariadb utility clients general command storage control history working graphic library fourier console mcabber nghttp2 entries reading parsing causing strings checker unicode hashing request foreign libidn2 9100hp2 libwebp jsoncpp privacy browser 9rel1p0 servers caching hicolor modular sorting jbigkit libjpeg garbage support weechat extract sqlite3 manager threads pkg_add changes chinese toolkit correct openbsd hosting python3 prevent edquota profile adduser maxproc copying deliver domains regular openjp2 modules minimum decode encode method system argon2 create update tclsh8 daemon simple editor aspell prompt passwd folder window htdocs rights no_x11 banner msword pixbuf lookup mailrc libffi apache gopher ledger jasper filter ircnow images vusers 21p7v0 making hiding binary export bourne whoami ispell member neovim groups giflib owners nabble kernel double ngircd inside jabber object libxml plugin chroot quirks quotas second parser common syntax alpine libraw figlet useful google screen listen shared mkdir chown guard gmake gnupg posix httpd guava fftw3 ascii allow glib2 wheel tools shell strip seems login names input unzip clone pager based https fonts 09p20 rules rhash while rsync libuv slang print libb2 pkzip trees theme irssi umask guest icu4c chmod cache troff groff codec cshrc cvsrc there stick entry lcms2 fixed build hosts cvsps smtpd cyrus layer email cmake anthy again block boehm first boost bzip2 rcctl emacs elvis doas like 20v1 mawk hide from over sure sbin 7691 ruby fast sums wtmp this sasl into mutt slrn utmp mime 10p5 only logs love also free rust sacc 1024 lynx html info each 03p0 with need many pico tiff perl 41p2 pcre pkcs wget sock 77p2 xmpp 2061 0p12 test 2000 nano step feed atom zstd 15p0 next real node wide totp hotp 16p1 oath 00p1 lzma tcsh 05p2 turn 24p0 31p1 curl simd 4000 they 27p6 peer leak that 12p0 2222 suid 27p1 23p3 find game know will zone line 16p0 1p10 have acme 21p3 26p3 self 128m more pop2 pop3 kpop imap 37p0 bash want gawk usr w3m www var cgi trn 3p8 sic 0p2 uim dns 2p1 8p0 you 2p2 don 640 750 32m 512 64m way 022 nsd 3p1 via org ftp 700 ps1 600 git tty 2v3 1p4 rfc 0p4 pgp p11 dot 3p2 nvi apr 3v0 1p5 7p3 1v0 9p0 api 4p2 0p3 0p7 lz4 got lua gtk was 0p0 py3 its art gdk pip 182 png fdm ln n7 rx 34 25 98 66 62 14 29 19 uw 38 gc xz zh v8 jq
 Vps.Intro:1628921167:  : yvkispem7vkus5qfosqaeu connectivity installation convenience fingerprint interfaces afterwards statically background networking brzkpyqmho systemctl reinstall configure operating different outlined username shutdown assigned hostname loopback password unpause coconut gateway execute address console default openbsd follows running replace machine service restart account netmask primary crontab alpine forget inside mygate reboot ensure source ircnow create serial please access enp0s2 debian losing sha256 escape right below extra while iface vmctl there qcow2 intro given ecdsa a0lir guest first usual linux based found tmux ping once done inet this vio0 sbin true stop runs your away auto then will note with from type case that make well 255 vps 129 usr 20g 163 new log put ssh any dig can set but how etc xxx and tyc key 38 81 i5 rm up ip by
-Openbsd.Wraith:1628921167: Openbsd.Dns Openbsd.Backup Openbsd.Netcat : d2312f8fcd9de09574d7370e8de058d91322686c 6e8e5b2448356bb48f642dd18115aaaaca7b6dcb nuulsail2tydzzhwox9paz1l6sbovlvx thtqf8ifeee5ox0i documentation configuration automatically yourpackname abcd3fgh1jk1 alphanumeric instructions yourhubname information explanation networkname compromised controlling recognized connection afterwards binarypass configured officially packconfig additional protection wraithpath administer timestamp confusing providing dccprefix somewhere libcrypto character connected generated reference something different supported continue settings hostname terminal undernet unhashed yournick username groupdel matching creating choosing accounts contains enclosed optional directly password replaced updating separate security services requires cherry07 stronger oaijmnop software yourself channels hostmask specific chaninfo chanmode powerful include hubnick specify botpack portmax portmin joining private patched updated several version chanset default homedir openbsd without provide warning command comment urandom however complex eggdrop release nologin written because disable libexec botnick fruit01 fruit03 cookies working dynamic useradd reasons userdel install fruit02 pkg_add address records libstdc libssl ircnow ignore script create source stable resolv delete tested stolen ircnet secure client chattr limits fastop ensure botcmd giving netcat autoop server handle backup manual access unable should github entire botnet public better values fruit2 fruit1 hashes before salted leaves sample manage three nodes shell https 12742 mkdir durt8 owner begin vhost title waste since efnet suxsc enter store 64100 setup 64000 lines these paste press wrote twice salt2 salt1 doesn above their means chown print front saved keyed whois mjoin flood valid takes flags opped while state sends manop first there gmake voice build user2 users which track forth sha1 echo this like look will ipv6 mdop hubs kick deop then find 1025 want last pros used show that must easy have cons than read them safe wiki copy done dest note such file keep help once html need very much leaf bots type ctcp data quit goes bot5 bot4 bot3 bot2 each same more into doas libm sbin chsh free xvzf been pick fold uses head code repo true hung fill gets both ctrl null org ksh uid run ops new ntk ssh usr dev but scp tmp won 10a tar bad mop may dns can hit yes ftp awk put any 43 by 28 29 gz v1 16 za z0 30 45 96 pc 46 47
 Openbsd.Pf-bnc:1628921167: Openbsd.Ilines Openbsd.Pf Openbsd.Ddos Openbsd.Tcpdump : configuration loginterface optimization flushstrict submission syncookies afterwards filtering flushudp badhosts adaptive needfrag overload profile servers openbsd tcpdump packets warrior ruleset persist spoofed random intip4 global domain ilines isakmp source failed tagged create folder sample stable states wraith gopher proto quick 16697 16667 block ipsec https allow imaps smtps 31337 extif 21314 29173 roadw match scrub title nodes mkdir start added 10000 track pfctl shell guide 069d 0010 port pass 2605 6400 also ddos faa1 0030 0bb8 0020 9999 7000 from 6660 6669 doas 6997 00fe 05cc then 071b f8de enc0 inet list will icmp 1290 fc15 05bf 00b4 iked 0434 conn keep rate ipv6 urpf 1440 type code skip here op3s pop3 this auth vio0 2001 209 251 130 198 183 ip6 out 141 184 228 etc non ssh 240 you ntp end max src pkt any db8 can new 168 192 see for use not 137 229 119 lo0 bnc mtu nat vpn esp mss irc 127 rdr 53 be 80 89 39 81 38 50
 Grape.Guide:1628921167:  : repos_manager configuration user_manager instructions successfully create_repo development delete_repo description initialized repository colleagues additional repo_name attentive creating manually remember deleting document contains creation underway working libexec creates deleted created finish please ircnow public remote gotweb folder grape local found clone https loyal empty users guide 2020 sate pass doas will this tool only need tree with your that and its git new the tmp usr bin cgi org ssh 09 10 03 06 51 of 05 49
 Third.Directory:1628921167: Third.Dillo Third.Basilisk Third.Surf Third.Gnomeweb Third.Palemoon Third.Kmeleon Third.Konqueror Third.Midori Third.Netsurf Third.Waterfox Third.Falkon Third.Qutebrowser Bouncer.Adium Bouncer.Atomic Bouncer.Colloquy Bouncer.Hexchat Bouncer.Icechat Bouncer.Irssi Bouncer.Kvirc Bouncer.Kiwiirc Bouncer.Limechat Bouncer.Pidgin Bouncer.Quassel Bouncer.Revolutionirc Bouncer.Simpleirc Bouncer.Smuxi Bouncer.Thunderbird Bouncer.Weechat Bouncer.Yaaic Bouncer.Xchat Bouncer.XChatAzure : cryptocurrency revolutionirc postmarketos squirrelmail thunderbird openindiana qutebrowser simpletable centralized proprietary libreoffice xchatazure censorship onlyoffice multimedia connectbot openoffice replicant processor lineageos slackware filezilla konqueror corporate emulation spicebird macfusion cyberduck messaging directory simpleirc computers companies operating limechat gnomeweb software colloquy palemoon blockade password textedit sortable waterfox basilisk etherpad calligra mulberry dropbear sylpheed gnumail weechat icechat kiwiirc windows net2ftp trojita bouncer android license fireftp clients quassel hexchat instant storage manager dragora openbsd systems reactos control freedom protect against abiword texmacs desktop editors netsurf sharing calling kmeleon qualify capable heavily assault apache atomic pidgin falkon midori source gopher writer rclone winscp trelby border devuan mageia elinks alpine gentoo netbsd around switch waging third phone video kword irssi words jwpce claws ncftp geary kmail tnftp balsa rsync class latex width putty email fully groff kvirc linux adium their users break smuxi yaaic world dillo mailx gplv3 gplv2 list need this must over that name mutt lynx gftp sftp fugu lftp curl cone gnus wine ✓ 100 nmh far own w3m ios lyx not ssh 9
blob - f3625f0ed3929bae2b1eb1298ba7420ee8f8ad33
blob + 041e5a9c4a60d98e3454bc18d28d89aa5901fcef
--- wiki.d/Almanack.Almanack
+++ wiki.d/Almanack.Almanack
@@ -1,16 +1,22 @@
 version=pmwiki-2.3.20 ordered=1 urlencoded=1
-agent=Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0
-author=Posterdati
+agent=w3m/0.5.3+git20230121
+author=jrmu
 charset=UTF-8
 csum=
 ctime=1614490687
-host=93.45.233.109
+host=38.87.162.8
 name=Almanack.Almanack
-rev=503
-targets=Lists.Ircnow,Minutemin.Code,Minutemin.Server,Minutemin.Duty,Minutemin.Questions,Minutemin.Progress,Medals.Intro,Team.Welcome,Team.Testing,Servers.Rights,Team.Announce,Ircnow.Dogfood,Team.Networks,Congress.Procedure,Congress.Documents,Ircnow.Milestones,Ircnow.Roadmap2021,Ircnow.Roadmap2022,Ircnow.Roadmap2023,Ircnow.Status2022,CodeForce.Deploy,Abuse.Code,Ambassador.Markets,Ircnow.Metrics,Ircnow.Nsf,Ircnow.Newdeal,Ircnow.Daughtersofliberty,Netizen.Ellisisland,User.Welcome,Netizen.Become,Netizen.Rights,Freedom.Selfadmin,Freedom.Independence,Freedom.Fork,Ircnow.Constitution,Freedom.Religion,Freedom.Firstamendment,Freedom.Software,Freedom.Privacy,Freedom.Homestead,Freedom.Madeonirc,Freedom.Unix,Freedom.Startupdream,Freedom.Openforeveryone,Freedom.Dueprocess,Freedom.Checks,Freedom.Rulebylaw,Freedom.Federation,Freedom.Union,Freedom.Universal,Freedom.Radio,Ircnow.Education,Openbsd.Intro,Vmm.Configure,Vmm.Install,Vmctl.Usage,Vmm.Linux,Vmm.DebianIso,Vmm.DebianInstall,Vmm.Debian,Vmm.Optimize,Vmm.Ubuntu,Openbsd.Buyvm,Vmm.DevuanIso,Vmm.Devuan-ISO,Vmm.Alpine,Vmm.Arch,Vmm.Plan9,Vmm.Router,Vmm.Homerouter,Openbsd.BBB,Openbsd.Orangepi3lts,Openbsd.Upgrade67,Openbsd.Upgrade68,Openbsd.Upgrade69,Openbsd.Upgrade74,Openbsd.Sysupgrade68,Openbsd.Sysupgrade69,Openbsd.Sysupgrade70,Openbsd.Sysupgrade71,Openbsd.Sysupgrade72,Openbsd.Sysupgrade73,Openbsd.Sysupgrade74,Openbsd.Sysupgrade75,Openbsd.Install67,Openbsd.Install68,Openbsd.Install69,Openbsd.Install70,Openbsd.Install71,Openbsd.Install73,Openbsd.Install74,Openbsd.Bsdrd,Openbsd.Singleuser,Openbsd.Books,OpenBSD.ResetPassword,License.Publicdomain,Gpl.Flaws,Bsd.Hope,Bsd.Labor,License.Discriminatory,Tcpip.Overview,IPv4.Overview,IPv6.Overview,Tcpip.Sockets,Openbsd.Netmask,Tcpip.Ports,Buyvm.Ipv6,Openbsd.Anycast,Hostnameif.Static,Hostnameif.Static-v2,Ifconfig.Change,IP.Myaddress,Almanack.Ifconfig,Almanack.Route,Openbsd.Wifi,Route.Usage,Dhcpd.Configure,Openbsd.Npppd,Openbsd.Pppoe,Ntpd.Configure,Dhclient.Configure,Openbsd.Pf,Pf.Guide,Openbsd.PFStable,Openbsd.PFTesting,Openbsd.Pfbadhost,Pf.Vpn,Ddos.Intro,Openbsd.SSDP,Openbsd.ACKFlood,Openbsd.RSTFlood,Openbsd.SYNFlood,Openbsd.HTTPFlood,Openbsd.NTPAmplification,Openbsd.UDPFlood,Openbsd.Amplification,Openbsd.Ping,Openbsd.Tcpdump,Netcat.Usage,Netcat.Irc,Netcat.Http,Netcat.SMTP,Telnet.Http,Openssl.Http,Openssl.Imap,Openssl.Smtp,Openssl.Check,Openssl.Encryptfile,Bgpd.Configure,Dns.Overview,Dns.Records,Dns.FQDN,Dns.Registrars,Dns.Vhost,Vhost.Freedns,Vhost.Ircnow,Nsd.Configure,Nsd.Masterslave,Nsd.Troubleshoot,DNS.RDNS,Dns.Zonefile,Nsd.Zone,Dns.Troubleshooting,Openbsd.Delphinusdnsd,DNS.Mail,DNS.SPF,DNS.DKIM,DNS.DMARC,DNS.Ipv6rDNS,DNS.Ipv4rDNS,Unbound.Configure,Host.Usage,Dig.Usage,Openbsd.Unboundadblock,Unbound.Blacklists,Rbldnsd.Install,Dns.BindResolver,Unbound.DNSSEC,Gpg.Verify,Signify.Verify,Duplicity.Usage,Iked.Configure,Vpn.Vpn,Iked.Newconfig,Vpn.Myipaddress,Tor.Torsocks,Tor.Hidden,Tor.Irc,Tls.Overview,Tls.Intro,Tls.CA,Acme-client.Configure,Acme-client.Cron,Relayd.Acceleration,Relayd.TLSMulti,Letsencrypt.Expired,Acme-client.AutoRenew,Dehydrated.Configure,Acmesh.Configure,Sshd.Configure,Ssh.Client,Ssh.Fingerprints,Openbsd.Sshbackdoor,Sshd.Disablepassword,OpenSSH.Keygen,Openssh.Skey,Openbsd.Drawtermssh,Openbsd.Two-FactorAuth,Openbsd.Sftp,Ftpd.Configure,Torrent.Configure,Cvs.Anoncvs,Cvs.Intro,Cvs.Cvsweb,Cvs.Repo,Cvs.Guide,Paster.Install,Fiche.Install,Openbsd.Www,Openhttpd.Configure,Openhttpd.Hosting,Openbsd.Httpopenproxy,Openhttpd.Perl,Openbsd.Php,Openhttpd.Tls,Openhttpd.Website,Openhttpd.CGI,Openhttpd.Chroot,Pmwiki.Install,Pmwiki.Simpleurl,Pmwiki.Replace,Debate.Wikistyle,Ikiwiki.Install,Openbsd.Dokuwiki,Squirrelmail.Install,Roundcube.Install,Wordpress.Install,Openbsd.Oscommerce,Openbsd.Cumulusclips,Openbsd.Fluxbb,Openbsd.Question2answer,Openbsd.H5ai,Openbsd.Easyapp,Openbsd.Manna,NodeJS.Install,Openbsd.Cgit,Stagit.Install,Got.Repo,Gotweb.Install,Got.Usage,Got.Server,Got.Mirror,Mariadb.Install,Irc.Guide,Irc.Chanop,Ngircd.Oper,Irc.Services,Irc.Clients,Irc.Easy,HostServ.Rules,Unrealircd.Install,Znc.Install,Znc.Chroot,ZNC.Admin,ZNC.Support,Openbsd.ZNCModules,Znc.Patch,Znc.Usage,Znc.Relayd,Znc.I18n,ZNC.Troubleshoot,Znc.Debug,Debate.Zncdefense,Debate.Zncflaws,Soju.Install,Psybnc.Install,Openbsd.Ilines,Ambassador.Ilines,Debate.Ircv3defense,Openbsd.Identd,Oidentd.Install,Oidentd.ZNC,Oidentd.Changeident,Openbsd.Ii,Openbsd.Sic,Ngircd.Install,Ngircd.Link,Ngircd.Ssl,Ngircd.Sins,Ngircd.Loginconf,Hopm.Install,Openbsd.Acopm,Hopm.Telnet,Openbsd.Hopm-NowWithInit,Hunchentoot.Install,Achurch.Install,Anope.Install,Atheme.Install,Pylink.Install,Pylink.Chroot,Bitlbee.Install,Openbsd.Matterbridge,Eggdrop193.Install,Eggdrop191.Install,Openbsd.Tcltls,Eggdrop184.Install,Eggdrop.Nickserv,Wraith.Chroot,Openbsd.Biblebot,Botnow.Install,Openbsd.Ircrelayd,Category.Perl,Openbsd.CPAN,Unix101.Unix101,Unix101.Wechall,C101.C101,Debate.WhyNotC,Almanack.C,C.Cprimer,Openbsd.Vi,Openbsd.Mg,Emacs.Emacs,Opensmtpd.Configure,Openbsd.Opensmtpd-relay,Openbsd.Opensmtpd-2,Openbsd.Mailopenproxy,Opensmtpd.Troubleshoot,Opensmtpd.Openrelay,Opensmtpd.Test,Rspamd.Configure,Dovecot.Install,Mlmmj.Install,Mlmmj-archivist.Install,Mutt.Connect,Openbsd.Fdm,Openbsd.Newdisk,Openbsd.Fdisk,Openbsd.Disklabel,Openbsd.Growfs,Openbsd.Pkg,Openbsd.Ports,Pkgadd.CheckUpdates,Doas.Configure,Syspatch.Syspatch,Openbsd.Cron,Rcctl.Rcctl,Openbsd.Adduser,Ln.Intro,Tmux.Config,Tmux.Share,Openbsd.XTerm,Openbsd.Backups,Openbsd.Dump,Openbsd.Restore,Openrsync.Usage,Rsync.Usage,Fdisk.Usage,Openbsd.Iplookup,Openbsd.Base64,Openbsd.Uim,Crontab.Edit,Ps.Usage,Kill.Usage,Vi.Intro,Openbsd.Vipw,Tar.Usage,Openbsd.Rcctl,Syslogd.Configure,Syslogd.Remote,Ksh.Bash,Ksh.Redirection,Ksh.Autocomplete,Shell.Limits,Shell.Cronjobs,Openbsd.Freeciv,Openbsd.Openttd,Olympics.Games,Chess.Reading,Chess.Chessgogi,Chess.Tournament,Chess.Limitsbot,Fics.Install,Math.Reading,Shelllabs.Intro,Shelllabs.Reading,Shelllabs.Quotes,Shelllabs.Manifesto,Camping.Gear,Openbsd.Minetest,Minetest.Addingarenas,Minetest.Serverlocations,Minetest.Texturestyle,Minetest.Updating,Minetest.Worldbackup,Texlive.Install,Texlive.Sinhala,Asterisk.Install,Sox.Concat,Openbsd.Ffmpeg,Parec.Record,Openbsd.Recordaudio,Ffmpeg.Recordscreen,Leafnode.Install,Webnews.Install,Gazette.Gazette,Openbsd.INN,Openbsd.Gopher,Openbsd.Gophernicus,Openbsd.Geomyidae,Bucky.Install,Prosody.Install,Biboumi.Install,Gomuks.Install,Akkoma.Install,Openbsd.Misc,ISCABBS.ISCABBS,Hosting.Hosting,Hosting.Providers,Openbsd.Security,Chroot.Intro,Password.Management,MITM.Intro,Openbsd.Phishing,Password.Hashes,Password.Schemes,Openbsd.Dos,Openbsd.Spam,Openbsd.0days,Openbsd.Rootkits,Pledge.Intro,Unveil.Intro,Openbsd.Databaseperms,Openbsd.Secureweb,Openbsd.Trust,Openbsd.Defaultdeny,Openbsd.Loginconf,Openbsd.Ids,Openbsd.Setuid,Openbsd.Sa,Openbsd.Quota,Openbsd.Shell,Police.Intro,Police.Fingerprints,Openbsd.FilePermissions,Openbsd.Oath-toolkit,Doxing.Defense,Team.Security,Sheriff.Intro,Openbsd.Xenodm,Xfce.Install,Fvwm.Configure,Xdefaults.Configure,Synclient.Configure,TigerVNC.Install,TigerVNC.SSH,Fdroid.Install,9.9,9.Shell,9.Install,9.Partdisk,9.Plan9ini,9.Links,9.Shocase,9.Rcpu,9.Drawterm,9.JSDrawterm,9.101,9.Bootcamp,9.9paste,9.Independent,9.Cheatsheet,9.Sysupdate,9.Packages,Rio.Customize,9.Chording,9.Ssh,9.Netcat,9.9gridchan,9.Ideas,Cloud9p.Roadmap,9.9pideas,9.Audio,9.Irc,9.Date,9.Reading,9.Acmemail,9.Splinternet,9.FNS,9.PKI,9.IP,9.Why9,9.Inter9,9.Ramfs,Debate.Linuxflaws,Linux.Reading,Unix.Intro,Unix.History,Unix.Exhibit,Unix.Reading,SIMH.Install,Ircnow.Womenstem,Openbsd.Dkimproxy,Openbsd.Opensmtpd,Opsofliberty.Bootcamp,Ircnow.Goals,Openbsd.Rbldns
-text=(:title Poor User's Almanack:)%0a%0aPoor User's illustrated, lessons for the young and old on industry, temperance, frugality, IRC & UNIX.%0a%0aTo administer a free and independent network run by the users themselves.%0a%0a!! IRC Chat Room%0a%0aHang out with us on our IRC training channel at [[ircs://irc.ircnow.org/#wheel|irc.ircnow.org/#wheel]].%0a%0a!! Mailing Lists%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Mailing Lists ||||||||||%0a|| [[lists/ircnow|IRCNow Mailing Lists]] ||||||||||%0a%0a!! Network News%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Training ||||||||||%0a|| [[minutemin/code|Code of Honor]] || [[minutemin/server|My Server]] || [[minutemin/duty|Call of Duty]] || [[minutemin/questions|Good Questions]] || ||%0a|| || [[Minutemin/Progress|Progress]] || [[medals/intro|Medals]] || || ||%0a|| [[team/welcome|Team]] || [[team/testing|Testing sysadmin]] || [[servers/rights|Servers' Rights]] || [[team/announce|Announce]] || ||%0a|| [[ircnow/dogfood|Dogfood]] || [[team/networks|IRC Networks]] || || || ||%0a|| [[congress/procedure|Congress Procedure]] || [[congress/documents|Historic Documents]] || [[ircnow/milestones|Milestones]] || || ||%0a|| [[ircnow/roadmap2021|IRCNow Roadmap 2021]] || [[ircnow/roadmap2022|IRCNow Roadmap 2022]] || [[ircnow/roadmap2023|IRCNow Roadmap 2023]] || || ||%0a|| [[ircnow/status2022|Status of the Union 2022]] || || || || ||%0a|| [[CodeForce/Deploy|Deployment Procedure]] || || || || ||%0a|| [[abuse/code|Abuse Code]] || || || || ||%0a|| [[ambassador/markets|Target Markets]] || [[ircnow/metrics|Metrics]] || [[ircnow/nsf|NSF]] || [[ircnow/newdeal|Digital New Deal]] || [[ircnow/daughtersofliberty|Daughters of Liberty]] ||%0a|| [[netizen/ellisisland|Ellis Island]] || || || || ||%0a%0a||! Civics ||||||||||%0a|| Netizenship || [[user/welcome|New User's Welcome]] || [[netizen/become|Become a Netizen]] || [[netizen/rights|Netizen Rights]] || ||%0a|| Independence || [[freedom/selfadmin|Self-Admin]] || [[Freedom/Independence|Declaration]] || [[freedom/fork|Freedom to Fork]] || [[ircnow/constitution|Constitution & Bill of Rights]] ||%0a|| Liberty || [[freedom/religion|Religious Liberty]] || [[freedom/firstamendment|No Central Censor]] || [[freedom/software|Software Freedom]] || [[freedom/privacy|Privacy]] ||%0a|| Opportunity || [[freedom/homestead|Free Homestead VPS]] || [[freedom/madeonirc|Made on IRC]] || [[freedom/unix|Unix Work Ethic]] ||  [[freedom/startupdream|The Startup Dream]] ||%0a|| Justice || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/dueprocess|Due Process]] || [[freedom/checks|Checks and Balances]] || [[freedom/rulebylaw|Rule by Law]] ||%0a|| Union || [[freedom/federation|Federation]] || [[freedom/union|United We Serve]] || [[freedom/universal|Universal Access]] || [[freedom/radio|Radio Freedom]] ||%0a|| Education || [[ircnow/education|Higher Education]] || || || ||%0a%0a||! OpenBSD ||||||||||%0a|| OpenBSD || [[openbsd/intro|Intro]] || || || ||%0a|| Virtual Machines || [[vmm/configure|Configure VMM]] || [[vmm/install|VMM Install Guide]] || [[vmctl/usage|VMM User Guide]] || [[vmm/linux|VMM Linux Guide]] ||%0a|| || [[vmm/DebianIso|Debian ISO]] || [[Vmm/DebianInstall|Debian Install]] || || ||%0a|| || [[vmm/debian|VMM Debian Guide]] || [[vmm/optimize|Optimize VMM]] || [[vmm/ubuntu|VMM Ubuntu]] || [[openbsd/buyvm|Buyvm Guide]]  ||%0a|| || [[vmm/DevuanIso|Devuan Iso]] || [[vmm/Devuan-ISO|Devuan install]] || || ||%0a|| || [[vmm/alpine|VMM Alpine Guide]] || [[vmm/arch|VMM Arch Guide]] || || ||%0a|| [[vmm/plan9|VMM Plan 9]] || || || || ||%0a|| [[vmm/router|vmm router]] || [[vmm/homerouter|VMM home router]] || || || ||%0a|| Bare Metal || Dell || Supermicro || [[openbsd/BBB|BeagleBone Black]] || [[openbsd/orangepi3lts|Orange Pi 3 LTS]] ||%0a|| Upgrade || [[openbsd/upgrade67|OpenBSD 6.7 Upgrade]] || [[openbsd/upgrade68|OpenBSD 6.8 Upgrade]] || [[openbsd/upgrade69|OpenBSD 6.9 Upgrade]] || [[openbsd/upgrade74|OpenBSD 7.4 Upgrade]] ||%0a|| Sysupgrade || [[openbsd/sysupgrade68|OpenBSD 6.8 Sysupgrade]] || [[openbsd/sysupgrade69|OpenBSD 6.9 Sysupgrade]] || [[openbsd/sysupgrade70|OpenBSD 7.0 Sysupgrade]] || [[openbsd/sysupgrade71|OpenBSD 7.1 Sysupgrade]] ||%0a|| || [[openbsd/sysupgrade72|OpenBSD 7.2 Sysupgrade]] || [[openbsd/sysupgrade73|OpenBSD 7.3 Sysupgrade]] || [[openbsd/sysupgrade74|OpenBSD 7.4 Sysupgrade]] || [[openbsd/sysupgrade75|OpenBSD 7.5 Sysupgrade]] ||%0a|| Install || [[openbsd/install67|OpenBSD 6.7 Install]] || [[openbsd/install68|OpenBSD 6.8 Install]] || [[openbsd/install69|OpenBSD 6.9 Install]] || [[openbsd/install70|OpenBSD 7.0 Install]] ||%0a|| || [[openbsd/install71|OpenBSD 7.1 Install]] || [[openbsd/install73|OpenBSD 7.3 Install]] || [[openbsd/install74|OpenBSD 7.4 Install]] || [[openbsd/bsdrd|OpenBSD Ramdisk Install]] ||%0a|| || [[OpenBSD/ResetPassword]] || [[Openbsd/Singleuser|Single User Mode]] || [[openbsd/books|OpenBSD Books]] || ||%0a%0a(:if false:)%0a|| Philosophy || [[license/publicdomain|License]] || [[gpl/flaws|GPL flaws]] || [[bsd/hope|BSD Hope]] || [[bsd/labor|BSD Labor]] || ||%0a|| || [[license/Discriminatory]] || || || ||%0a(:ifend:)%0a%0a%0a||! Networking ||||||||||%0a|| [[tcpip/overview|TCP/IP]] || [[IPv4/overview|IPv4]] || [[IPv6/overview|IPv6]] || [[tcpip/sockets|sockets]] || [[openbsd/netmask|Netmasks]] ||%0a|| [[tcpip/ports|TCP/IP ports]] || [[buyvm/ipv6|BuyVM IPv6]] || || || ||%0a|| || [[openbsd/anycast|Anycast Addresses]] || || || ||%0a|| Configure || [[hostnameif/static|Static Networking]] || [[hostnameif/static-v2|Static Networking v2]] || [[ifconfig/change|Change Static Network]] || [[IP/myaddress|My IP address]] ||%0a|| || [[ifconfig|ifconfig]] || [[route|route]] || [[route/usage]] || [[openbsd/wifi|wifi]] ||%0a|| || [[dhcpd/configure|dhcpd]] || [[openbsd/npppd|npppd]] || [[openbsd/pppoe|pppoe]] || [[ntpd/configure|ntpd]] ||%0a|| || [[dhclient/configure|dhclient]] || || || ||%0a||! Firewall ||||||||||%0a|| [[openbsd/pf|Packet Filter]] || [[pf/guide|PF Guide]] || [[openbsd/PFStable|PF for Stable]] || [[openbsd/PFTesting|PF for Testing]] || [[openbsd/pfbadhost|pfbadhost]] ||%0a|| [[pf/vpn|PF for VPN]] || || || ||%0a|| [[ddos/intro|DDoS Defense]] || [[openbsd/SSDP|SSDP attack]] || [[openbsd/ACKFlood|TCP ack flood]] || [[openbsd/RSTFlood|TCP reset flood]] || [[openbsd/SYNFlood|SYN Flood]] ||%0a|| || [[openbsd/HTTPFlood|HTTP Flood]] || [[openbsd/NTPAmplification|NTP Amplification]] || [[openbsd/UDPFlood|UDP Flood]] || [[openbsd/amplification|amplification attack]] ||%0a||! Troubleshooting ||||||||||%0a|| Network Layer || [[openbsd/ping|ping]] || [[openbsd/tcpdump|tcpdump]] || || ||%0a|| || [[netcat/usage|netcat]] || [[netcat/irc|netcat IRC]] || [[netcat/http|netcat HTTP]] || [[netcat/SMTP|send mail with netcat]] ||%0a|| Application || [[telnet/http|Telnet HTTP]] || [[openssl/http|OpenSSL HTTP]] || [[openssl/imap|OpenSSL IMAP]] || [[openssl/smtp|OpenSSL SMTP]] ||%0a|| || [[openssl/check|Check OpenSSL certs]] || [[openssl/encryptfile|openssl encrypt file]] || || ||%0a%0a||! Routing ||||||||||%0a|| [[bgpd/configure|bgpd configuration]] ||||||||||%0a%0a||! DNS ||||||||||%0a|| [[dns/overview|DNS Overview]] || [[dns/records|DNS Records]] || [[dns/FQDN|FQDN]]  || [[dns/registrars|Name Registrars]] || [[dns/vhost|vhost]] ||%0a|| || [[vhost/freedns|FreeDNS vhosts]] || [[vhost/ircnow|IRCNow vhosts]] || || ||%0a||! Authoritative ||||||||||%0a|| [[nsd/configure|nsd]] || [[nsd/masterslave|nsd master slave]] || [[nsd/troubleshoot|Troubleshoot Nsd]] || [[DNS/rDNS|rDNS]] || [[dns/zonefile|Zone File]] ||%0a|| || [[nsd/zone|NSD Zone file]] || [[dns/Troubleshooting|Troubleshooting DNS]] || || ||%0a|| [[openbsd/delphinusdnsd|delphinusdnsd]] || || || || ||%0a|| [[DNS/Mail|DNS for Mail]] || [[DNS/SPF|SPF Records]] || [[DNS/DKIM|DKIM Records]] || [[DNS/DMARC|DMARC Records]] || ||%0a|| [[DNS/ipv6rDNS|ipv6 rDNS]] || [[DNS/ipv4rDNS|ipv4 rDNS]] || || || ||%0a||! Caching ||||||||||%0a|| [[unbound/configure|unbound]] || [[host/usage|Using host]] || [[dig/usage|Using dig]] || [[openbsd/unboundadblock|unbound adblock]] || ||%0a|| [[unbound/blacklists|DNS Blacklists]] || [[rbldnsd/install|rbldns]] || [[dns/bind_resolver|BIND resolver]] || ||%0a|| [[unbound/DNSSEC|Unbound DNSSEC]] || || || || ||%0a%0a||! Cryptography ||||||||||%0a||! Signing ||||||||||%0a|| [[gpg/verify|Verify GPG signatures]] || netpgp || [[signify/verify|Verify signify]] || || ||%0a||! Encryption ||||||||||%0a|| [[duplicity/usage|duplicity]] || || || || ||%0a||! VPNs ||||||||||%0a|| IPSec || [[iked/configure|Configure iked]] || [[vpn/vpn|VPN clients]] || [[iked/newconfig|iked new config]] || [[vpn/myipaddress|My IP Address]] ||%0a||! Tor ||||||||||%0a|| Tor || [[tor/torsocks|torsocks]] || [[tor/hidden|Hidden Services]] || [[tor/irc|IRC with Tor]] || ||%0a||! TLS ||||||||||%0a|| [[tls/overview|TLS Overview]] || [[tls/intro|TLS Intro]] || [[tls/CA|Certificate Authorities]] || || ||%0a|| [[acme-client/configure|acme-client]] || [[acme-client/cron|Automating acme-client]] || [[relayd/acceleration|relayd TLS Acceleration]] || [[relayd/TLSMulti|relayd TLS Acceleration Multi]] || [[letsencrypt/expired|Let's Encrypt Expired Cert]] ||%0a|| [[acme-client/AutoRenew|acme-client Automation]] || [[Dehydrated/configure|Dehydrated Setup]] || [[Acmesh/configure|Acme.sh Setup]] ||%0a||! SSH ||||||||||%0a|| || [[sshd/configure|sshd]] || [[ssh/client|ssh]] || [[ssh/fingerprints|SSH keys]] || [[openbsd/sshbackdoor|SSH backdoor]] ||%0a|| [[sshd/disablepassword|Disable Password]] || [[OpenSSH/keygen|Creating ssh keys]] || [[openssh/skey|OpenSSH 2FA with S/key]] || || ||%0a|| [[openbsd/Two-FactorAuth]] || [[openbsd/drawtermssh|SSH Drawterm]] || || || ||%0a||! File Transfer ||||||||||%0a|| sftp || [[openbsd/sftp|chrooted sftp]] || || || ||%0a|| ftpd || [[ftpd/configure|FTP server]] || || || ||%0a|| torrent || [[torrent/configure|bittorrent server]] || || || ||%0a%0a||! Version Control ||||||||||%0a|| CVS || [[cvs/anoncvs|anoncvs]] || [[cvs/intro|CVS intro]] || [[cvs/cvsweb|cvsweb]] || ||%0a|| || [[cvs/repo|Create CVS Repos]] || [[cvs/guide|CVS Guide]] || || ||%0a|| pastebin || [[paster/install|Install paster]] || [[fiche/install|Install fiche]] || || ||%0a%0a||! [[openbsd/www|Web]] ||||||||||%0a|| [[openhttpd/configure|OpenHTTPd]] || [[openhttpd/hosting|OpenHTTPd Hosting]] || [[openbsd/httpopenproxy|HTTP open proxies]] || [[openhttpd/perl|Perl for OpenHTTPd]] || [[openbsd/php|php]] ||%0a|| [[openhttpd/tls|OpenHTTPd TLS]] || [[openhttpd/website|OpenHTTPd website]] || [[openhttpd/CGI|OpenHTTPd with C CGI]] || [[openhttpd/chroot|OpenHTTPd chroot]] || ||%0a||! Applications ||||||||||%0a|| PHP || [[pmwiki/install|pmwiki]] || [[pmwiki/simpleurl|simpleurl]] || [[pmwiki/replace|Replace Pmwiki]] || [[debate/wikistyle|Pmwiki Style Guide]] ||%0a|| || [[ikiwiki/install|Ikiwiki]] || [[openbsd/dokuwiki|dokuwiki]] || || ||%0a|| || [[squirrelmail/install|SquirrelMail]] || [[roundcube/install|Install RoundCube]] || [[wordpress/install|Wordpress]] || ||%0a|| || [[openbsd/oscommerce|OSCommerce]] || [[openbsd/cumulusclips|cumulus clips]] || [[openbsd/fluxbb|fluxbb]] || [[openbsd/question2answer|Question2Answer]] ||%0a|| || [[openbsd/h5ai|h5ai]] || [[openbsd/manna]] || [[openbsd/easyapp|EasyApp]] || ||%0a|| [[NodeJS/Install|NodeJS]] || || || || ||%0a|| C || [[openbsd/cgit|cgit]] || [[stagit/install|stagit]] || || ||%0a|| [[got/repo|Got repo]] || [[gotweb/install|gotweb]] || [[got/usage|Using Got]] || [[got/server|got server]] || [[got/mirror|Got mirror]] ||%0a||! Database ||||||||||%0a|| [[Mariadb/install|Mariadb]] ||||||||||%0a%0a||! IRC ||||||||||%0a||! IRC Guides ||||||||||%0a|| IRC || [[irc/guide|IRC101]] || [[irc/chanop|Channel Op Guide]] || [[ngircd/oper|Oper Guide]] || [[irc/services|Services Guide]] ||%0a|| || [[irc/clients|IRC Clients]] || [[irc/easy|IRC made easy]] || ||%0a|| [[HostServ/Rules|HostServ Rules]] || || || || ||%0a|| || [[unrealircd/install|unrealircd]] || || || ||%0a||! Bouncers  ||||||||||%0a|| [[Znc/Install|Install ZNC]]  || [[znc/chroot|Install ZNC (chroot)]] || [[ZNC/Admin|ZNC admin]] || [[ZNC/Support|ZNC Support]] || [[openbsd/ZNCModules|ZNC modules]] ||%0a|| [[Znc/Patch|ZNC Patch]] || [[znc/usage|Using ZNC]] || [[znc/relayd|ZNC webpanel (relayd)]] || || ||%0a|| || [[Znc/I18n|ZNC I18n]] || [[ZNC/Troubleshoot|Troubleshoot ZNC]] || || [[znc/debug|Debugging ZNC]] ||%0a|| [[debate/zncdefense|ZNC Defense]] || [[debate/zncflaws|ZNC Flaws]] || || || ||%0a|| [[Soju/Install|Install Soju (with and without chroot)]] ||%0a|| PsyBNC || [[psybnc/install|psybnc]]  || || || ||%0a|| BNCs || [[openbsd/ilines|old ilines]] || [[ambassador/ilines|new ilines]] || || ||%0a|| IRCv3 || [[Debate/Ircv3defense|IRCv3 Defense]] || || || ||%0a||! Ident ||||||||||%0a|| Ident || [[openbsd/identd|identd]] || [[oidentd/install|oidentd install]] || [[oidentd/ZNC|oidentd for znc]] || [[oidentd/changeident|Changing ident]] ||%0a||! Clients ||||||||||%0a|| [[openbsd/ii|ii]] || [[openbsd/sic|sic]] || || || ||%0a||! Servers ||||||||||%0a|| [[ngircd/install|ngircd install]] || [[ngircd/link|ngircd link]] || [[ngircd/ssl|ngircd ssl]] || [[ngircd/sins|ngircd sins]] || [[ngircd/loginconf|Ngircd Login.conf]] ||%0a|| [[hopm/install|hopm]] || [[openbsd/acopm|acopm]] || || [[hopm/telnet|Test hopm]] || ||%0a|| [[Openbsd/Hopm-NowWithInit|HOPM: Now With Init (Advanced-ish)]] || [[hunchentoot/install | Hunchentoot]] ||%0a||! Services ||||||||||%0a|| [[achurch/install|achurch]] || [[anope/install|anope]] || [[atheme/install|atheme]] || || ||%0a||! Relays ||||||||||%0a|| [[pylink/install|pylink]] || [[pylink/chroot|chroot pylink]] || [[bitlbee/install|bitlbee install]] || [[openbsd/matterbridge|matterbridge]] || ||%0a||! Bots ||||||||||%0a|| Eggdrop ||  [[eggdrop193/install|Install eggdrop 1.9.3]] || [[eggdrop191/install|Install eggdrop 1.9.1]] || [[openbsd/tcltls|tcltls]] || [[eggdrop184/install|Install eggdrop 1.8.4]] ||%0a|| || [[eggdrop/nickserv|Identify with NickServ]] || || || ||%0a|| Channel || [[wraith.chroot|chroot wraith]] || [[wraith.install/install wraith]] || || ||%0a|| Custom || [[openbsd/biblebot|biblebot]] || [[botnow/install|botnow]] || [[openbsd/ircrelayd|ircrelayd]] || ||%0a%0a||! Languages ||||||||||%0a|| [[Category/Perl|Perl]] || [[openbsd/CPAN|CPAN]] || || || ||%0a|| Korn || [[unix101/unix101|unix101]] || [[unix101/wechall|unix101 challenge]] || || ||%0a|| C || [[c101/c101|c101]] || [[debate/WhyNotC|Why Not C]] || [[C|intro]] || [[C/cprimer|c-primer]] ||%0a%0a||! Editors ||||||||||%0a|| [[emacs/emacs]] || [[openbsd/vi|vi]] || [[openbsd/mg|mg]] || || ||%0a%0a||! Mail ||||||||||%0a|| OpenSMTPd || [[opensmtpd/configure|opensmtpd]] || [[openbsd/opensmtpd-relay|opensmtpd relay]] || [[openbsd/opensmtpd-2|opensmtpd-2]] || [[openbsd/mailopenproxy|Mail Open Proxy]] ||%0a|| || [[opensmtpd/troubleshoot|Troubleshooting OpenSMTPd]] || [[opensmtpd/openrelay|Open Mail Relay]] || [[opensmtpd/test|Test opensmtpd]] || ||%0a|| [[DNS/Mail|DNS for Mail]] || [[DNS/SPF|SPF Records]] || [[DNS/DKIM|DKIM Records]] || [[DNS/DMARC|DMARC Records]] || ||%0a|| || [[rspamd/configure|spamd]] || || || ||%0a|| Mail || [[dovecot/install|dovecot]] || [[mlmmj/install|mlmmj]] || [[mlmmj-archivist/install|mlmmj-archivist]] || ||%0a|| Clients || || [[Mutt.Connect|mutt]] || [[openbsd/fdm|fdm]] || ||%0a%0a||! System Admin ||||||||||%0a|| Disks || [[openbsd/newdisk|Adding a New Disk]] || [[openbsd/fdisk|fdisk]] || [[openbsd/disklabel|disklabel]] || [[openbsd/growfs|Growfs partition]] ||%0a|| [[openbsd/pkg|pkg]] || pkglocatedb || [[openbsd/ports|ports]] || [[Pkgadd.CheckUpdates|pkg_add check update]] || ||%0a|| Utilities || [[doas/configure|sudo, doas]] || [[syspatch/syspatch|syspatch]] || [[openbsd/cron|cron]] || [[rcctl/rcctl|rcctl]] ||%0a|| || [[openbsd/adduser|adduser]] || || || ||%0a|| || [[ln/intro|symbolic links]] || [[tmux/config|tmux Config]] || [[tmux/share|tmux share]] || [[openbsd/XTerm|XTerm]] ||%0a|| [[openbsd/backups|Backups]] || [[openbsd/dump|dump]] || [[openbsd/restore|restore]] || [[openrsync/usage|openrsync]] || [[rsync/usage|rsync usage]] ||%0a|| [[fdisk/usage|fdisk]] || || || || ||%0a|| [[openbsd/iplookup|iplookup]] || || || [[openbsd/base64|base64]] || [[openbsd/uim|Chinese]] ||%0a|| [[crontab/edit|Editing crontab]] || [[ps/usage|ps process]] || [[kill/usage|Sending signals with kill]] || [[vi/intro|Intro to Vi]] || ||%0a|| [[openbsd/vipw|vipw]] || [[tar/usage|tar usage]] || [[openbsd/rcctl|rcctl]] || [[syslogd/configure|syslogd]] || [[syslogd/remote|Remote syslogd]] ||%0a%0a||! Shell ||||||||||%0a|| [[ksh/bash|ksh for bash users]] || [[ksh/redirection|Redirection with Pipes]] || [[ksh/autocomplete|autocomplete for ksh]] || [[shell/limits|Shell Limits]] || [[shell/cronjobs]] ||%0a%0a||! Games ||||||||||%0a|| Misc || [[openbsd/freeciv|FreeCiv]] || [[openbsd/openttd|OpenTTD]] || || ||%0a|| Olympics || [[olympics/games|IRCNow Olympics]] || || || ||%0a|| Chess || [[chess/reading|Chess Books]] || [[chess/chessgogi]] || [[chess/tournament]] || [[chess/limitsbot]] ||%0a|| || [[fics/install|Install FICS]] || || || ||%0a%0a||! Math ||||||||%0a|| [[math/reading]] || || || ||%0a%0a||! Science ||||||||%0a|| [[shelllabs/intro|Shell Labs]] || [[shelllabs/reading]] || [[shelllabs/quotes]] || [[shelllabs/manifesto]] ||%0a%0a||! Camping ||||||||||%0a|| [[Camping/Gear|Camping Gear]] || || || || ||%0a%0a||! Minetest ||||||||||%0a|| [[openbsd/minetest|Minetest]] || || || || ||%0a|| [[minetest/addingarenas|Adding Arenas]] || [[minetest/serverlocations|Server Locations]] || [[minetest/texturestyle|Texture Style Guide]] || [[minetest/updating|Updating the Game]] || [[minetest/worldbackup|World Backup]] ||%0a%0a||! Documents ||||||||||%0a|| LaTeX || [[texlive/install|TexLive]] || [[texlive/sinhala|Sinhala]] || || ||%0a%0a||! Audio/Video ||||||||||%0a|| SIP || [[asterisk/install|asterisk]] || || || ||%0a|| Media || ImageMagick || vorbis || sndiod || [[sox/concat|concat audio files]] ||%0a|| || [[openbsd/ffmpeg|ffmpeg]] || [[parec/record|record audio]] || [[openbsd/recordaudio|Record Audio]] || [[ffmpeg/recordscreen|record screen with ffmpeg]] ||%0a|| || icecast || || || ||%0a%0a%0a||! News ||||||||||%0a|| [[leafnode/install|leafnode]] || [[webnews/install|Web News Install]] || [[Gazette/Gazette|News clients]] || [[openbsd/INN|INN]] || ||%0a||! Gopher ||||||||||%0a|| [[openbsd/gopher|gopher]] || [[openbsd/gophernicus|gophernicus]] || [[openbsd/geomyidae|geomyidae]] || [[bucky/install|Bucky Install]] || ||%0a||! Alt Social Media ||||||||||%0a|| [[prosody/install|prosody]] || [[biboumi/install|biboumi]] || matrix || fediverse || [[gomuks/install|gomuks]] ||%0a|| [[akkoma/install|akkoma]] ||||||||||%0a||! [[openbsd/misc|Misc]] ||||||||||%0a|| [[ISCABBS]] ||  ||  ||  ||  ||%0a%0a||! [[hosting/hosting|Hosting]] ||||||||||%0a|| [[hosting/providers|Hosting Providers]] || [[openhttpd/hosting|OpenHTTPd Hosting]] || || || ||%0a%0a||! [[openbsd/security|Security]] ||||||||||%0a|| Hardening || [[chroot/intro|chroot]] || [[Password/Management|Password Mgmt]] \\%0a[[Password.hashes]] || [[MITM/intro|MITM: Man in the Middle]] || [[openbsd/phishing|Phishing]] ||%0a|| || [[Password/Schemes|Password Schemes]] || || || || ||%0a|| [[openbsd/dos|Denial of Service]] || [[openbsd/spam|Spam]] || [[openbsd/0days|0days]] || [[openbsd/rootkits|Rootkits]] || [[pledge/intro|pledge]] ||%0a|| [[unveil/intro|unveil]] || [[openbsd/databaseperms|Database Permissions]] || [[openbsd/secureweb|Secure web apps]] || [[openbsd/trust|Trust]] || [[openbsd/defaultdeny|Default Deny]] ||%0a|| [[openbsd/loginconf|login.conf]] || [[openbsd/ids|Intrusion detection system]] || [[openbsd/setuid|setuid binaries]] || [[openbsd/sa|system accounting]] || [[openbsd/quota|file quotas]] ||%0a|| [[openbsd/File Permissions]] || [[openbsd/shell|Shell Accounts]] || [[police/intro|Policing Guide]] || [[police/fingerprints|Police fingerprints]] ||%0a|| [[openbsd/oath-toolkit|oath-toolkit]] || [[doxing/defense|doxing defense]] || [[team/security|Team security]] ||%0a%0a||! Sheriff ||||||||||%0a|| [[sheriff/intro]] || || || || ||%0a%0a||! Desktop ||||||||||%0a|| X Windows || [[openbsd/Xenodm|Xenodm]] || || || ||%0a|| XFCE || [[xfce/install|Install XFCE]] || || || ||%0a|| FVWM || [[fvwm/configure|Configure FVWM]] || [[Xdefaults/Configure|Configure XDefaults]] || [[synclient/configure|Touchpad]] || ||%0a|| VNC || [[TigerVNC/install|Install TigerVNC]] || [[TigerVNC/SSH|TigerVNC with SSH]] || || ||%0a%0a||! Android ||||||||||%0a|| [[Fdroid/Install|Install F-Droid]] || || || || ||%0a%0a||! VMM ||%0a|| OpenBSD ||%0a|| Linux ||%0a|| Plan9front ||%0a|| NetBSD ||%0a|| DragonflyBSD ||%0a%0a||! Plan 9 ||||||||||%0a|| [[9/9|9 intro]] || [[9/Shell|Plan9 Shells]] || [[9/install|9 Install]] || [[9/partdisk|partdisk]] || [[9/Plan9ini|Plan 9 ini]] ||%0a|| [[9/Drawterm]] || [[9/JSDrawterm]] || [[9/Links|9 Links]] || [[9/shocase|9 Showcase]] || [[9/rcpu|rcpu]] ||%0a|| [[9/101|9 101]] || [[9/bootcamp|9 bootcamp]] || [[9/9paste|9paste]] || [[9/independent|9: Independent]] || [[9/cheatsheet|9 Cheatsheet]] ||%0a|| [[9/sysupdate|sysupdate]] || [[9/packages|3rd party packages]] || [[9/ssh]] || [[rio/customize|Customize rio]] || [[9/chording|mouse chording]]%0a|| [[9/netcat|netcat]] || [[9/9gridchan|9gridchan]] || [[9/ideas|9 Ideas]] || [[cloud9p/roadmap|cloud9p]] || [[9/9pideas|9p Ideas]] ||%0a|| [[9/audio|audio]] || [[9/irc|IRC clients]] || [[9/reading]] || [[9/date|Date and time]] || [[9/acmemail]] ||%0a|| [[9/splinternet]] || [[9/FNS]] || [[9/PKI]] || [[9/IP]] || [[9/Why9]] ||%0a|| [[9/inter9]] || [[9/ramfs]] || || || ||%0a%0a||! Linux ||||||||||%0a|| [[linux/reading]] || [[Debate/Linuxflaws|Linux Flaws]] || || || ||%0a%0a||! [[unix/intro|Unix]] ||||||||||||||%0a|| [[unix/history|History of UNIX]] || [[unix/exhibit|Exhibit]] || [[unix/reading]] || [[SIMH/install]] ||||%0a%0a|| Idea Brainstorm ||||||||||%0a|| [[netizen/ellisisland]] || [[ircnow/newdeal]] || [[ircnow/womenstem]] || || ||%0a%0a||! Historical Articles ||||||||||%0a|| [[openbsd/dkimproxy|dkimproxy]] || [[openbsd/opensmtpd|OpenSMTPd]] || [[openbsd/rbldns]] || [[opsofliberty/bootcamp|Ops Bootcamp]] || [[ircnow/goals|IRCNow goals]] ||%0a
-time=1700850747
+rev=505
+targets=Lists.Ircnow,Minutemin.Code,Minutemin.Server,Minutemin.Duty,Minutemin.Questions,Minutemin.Progress,Medals.Intro,Team.Welcome,Team.Testing,Servers.Rights,Team.Announce,Ircnow.Dogfood,Team.Networks,Congress.Procedure,Congress.Documents,Ircnow.Milestones,Ircnow.Roadmap2021,Ircnow.Roadmap2022,Ircnow.Roadmap2023,Ircnow.Status2022,CodeForce.Deploy,Abuse.Code,Ambassador.Markets,Ircnow.Metrics,Ircnow.Nsf,Ircnow.Newdeal,Ircnow.Daughtersofliberty,Netizen.Ellisisland,User.Welcome,Netizen.Become,Netizen.Rights,Freedom.Selfadmin,Freedom.Independence,Freedom.Fork,Ircnow.Constitution,Freedom.Religion,Freedom.Firstamendment,Freedom.Software,Freedom.Privacy,Freedom.Homestead,Freedom.Madeonirc,Freedom.Unix,Freedom.Startupdream,Freedom.Openforeveryone,Freedom.Dueprocess,Freedom.Checks,Freedom.Rulebylaw,Freedom.Federation,Freedom.Union,Freedom.Universal,Freedom.Radio,Ircnow.Education,Openbsd.Intro,Vmm.Configure,Vmm.Install,Vmctl.Usage,Vmm.Linux,Vmm.DebianIso,Vmm.DebianInstall,Vmm.Debian,Vmm.Optimize,Vmm.Ubuntu,Openbsd.Buyvm,Vmm.DevuanIso,Vmm.Devuan-ISO,Vmm.Alpine,Vmm.Arch,Vmm.Plan9,Vmm.Router,Vmm.Homerouter,Openbsd.BBB,Openbsd.Orangepi3lts,Openbsd.Upgrade67,Openbsd.Upgrade68,Openbsd.Upgrade69,Openbsd.Upgrade74,Openbsd.Sysupgrade68,Openbsd.Sysupgrade69,Openbsd.Sysupgrade70,Openbsd.Sysupgrade71,Openbsd.Sysupgrade72,Openbsd.Sysupgrade73,Openbsd.Sysupgrade74,Openbsd.Sysupgrade75,Openbsd.Install67,Openbsd.Install68,Openbsd.Install69,Openbsd.Install70,Openbsd.Install71,Openbsd.Install73,Openbsd.Install74,Openbsd.Bsdrd,Openbsd.Singleuser,Openbsd.Books,OpenBSD.ResetPassword,License.Publicdomain,Gpl.Flaws,Bsd.Hope,Bsd.Labor,License.Discriminatory,Tcpip.Overview,IPv4.Overview,IPv6.Overview,Tcpip.Sockets,Openbsd.Netmask,Tcpip.Ports,Buyvm.Ipv6,Openbsd.Anycast,Hostnameif.Static,Hostnameif.Static-v2,Ifconfig.Change,IP.Myaddress,Almanack.Ifconfig,Almanack.Route,Openbsd.Wifi,Route.Usage,Dhcpd.Configure,Openbsd.Npppd,Openbsd.Pppoe,Ntpd.Configure,Dhclient.Configure,Openbsd.Pf,Pf.Guide,Openbsd.PFStable,Openbsd.PFTesting,Openbsd.Pfbadhost,Pf.Vpn,Ddos.Intro,Openbsd.SSDP,Openbsd.ACKFlood,Openbsd.RSTFlood,Openbsd.SYNFlood,Openbsd.HTTPFlood,Openbsd.NTPAmplification,Openbsd.UDPFlood,Openbsd.Amplification,Openbsd.Ping,Openbsd.Tcpdump,Netcat.Usage,Netcat.Irc,Netcat.Http,Netcat.SMTP,Telnet.Http,Openssl.Http,Openssl.Imap,Openssl.Smtp,Openssl.Check,Openssl.Encryptfile,Bgpd.Configure,Dns.Overview,Dns.Records,Dns.FQDN,Dns.Registrars,Dns.Vhost,Vhost.Freedns,Vhost.Ircnow,Nsd.Configure,Nsd.Masterslave,Nsd.Troubleshoot,DNS.RDNS,Dns.Zonefile,Nsd.Zone,Dns.Troubleshooting,Openbsd.Delphinusdnsd,DNS.Mail,DNS.SPF,DNS.DKIM,DNS.DMARC,DNS.Ipv6rDNS,DNS.Ipv4rDNS,Unbound.Configure,Host.Usage,Dig.Usage,Openbsd.Unboundadblock,Unbound.Blacklists,Rbldnsd.Install,Dns.BindResolver,Unbound.DNSSEC,Gpg.Verify,Signify.Verify,Duplicity.Usage,Iked.Configure,Vpn.Vpn,Iked.Newconfig,Vpn.Myipaddress,Tor.Torsocks,Tor.Hidden,Tor.Irc,Tls.Overview,Tls.Intro,Tls.CA,Acme-client.Configure,Acme-client.Cron,Relayd.Acceleration,Relayd.TLSMulti,Letsencrypt.Expired,Acme-client.AutoRenew,Dehydrated.Configure,Acmesh.Configure,Sshd.Configure,Ssh.Client,Ssh.Fingerprints,Openbsd.Sshbackdoor,Sshd.Disablepassword,OpenSSH.Keygen,Openssh.Skey,Openbsd.Drawtermssh,Openbsd.Two-FactorAuth,Openbsd.Sftp,Ftpd.Configure,Torrent.Configure,Cvs.Anoncvs,Cvs.Intro,Cvs.Cvsweb,Cvs.Repo,Cvs.Guide,Paster.Install,Fiche.Install,Openbsd.Www,Openhttpd.Configure,Openhttpd.Hosting,Openbsd.Httpopenproxy,Openhttpd.Perl,Openbsd.Php,Openhttpd.Tls,Openhttpd.Website,Openhttpd.CGI,Openhttpd.Chroot,Pmwiki.Install,Pmwiki.Simpleurl,Pmwiki.Replace,Debate.Wikistyle,Ikiwiki.Install,Openbsd.Dokuwiki,Squirrelmail.Install,Roundcube.Install,Wordpress.Install,Openbsd.Oscommerce,Openbsd.Cumulusclips,Openbsd.Fluxbb,Openbsd.Question2answer,Openbsd.H5ai,Openbsd.Easyapp,Openbsd.Manna,NodeJS.Install,Openbsd.Cgit,Stagit.Install,Got.Repo,Gotweb.Install,Got.Usage,Got.Server,Got.Mirror,Mariadb.Install,Irc.Guide,Irc.Chanop,Ngircd.Oper,Irc.Services,Irc.Clients,Irc.Easy,HostServ.Rules,Unrealircd.Install,Znc.Install,Znc.Chroot,ZNC.Admin,ZNC.Support,Openbsd.ZNCModules,Znc.Patch,Znc.Usage,Znc.Relayd,Znc.I18n,ZNC.Troubleshoot,Znc.Debug,Debate.Zncdefense,Debate.Zncflaws,Soju.Install,Psybnc.Install,Openbsd.Ilines,Ambassador.Ilines,Debate.Ircv3defense,Openbsd.Identd,Oidentd.Install,Oidentd.ZNC,Oidentd.Changeident,Openbsd.Ii,Openbsd.Sic,Ngircd.Install,Ngircd.Link,Ngircd.Ssl,Ngircd.Sins,Ngircd.Loginconf,Hopm.Install,Openbsd.Acopm,Hopm.Telnet,Openbsd.Hopm-NowWithInit,Hunchentoot.Install,Achurch.Install,Anope.Install,Atheme.Install,Pylink.Install,Pylink.Chroot,Bitlbee.Install,Openbsd.Matterbridge,Eggdrop193.Install,Eggdrop191.Install,Openbsd.Tcltls,Eggdrop184.Install,Eggdrop.Nickserv,Wraith.Chroot,Openbsd.Wraith,Openbsd.Biblebot,Botnow.Install,Openbsd.Ircrelayd,Category.Perl,Openbsd.CPAN,Unix101.Unix101,Unix101.Wechall,C101.C101,Debate.WhyNotC,Almanack.C,C.Cprimer,Openbsd.Vi,Openbsd.Mg,Emacs.Emacs,Opensmtpd.Configure,Openbsd.Opensmtpd-relay,Openbsd.Opensmtpd-2,Openbsd.Mailopenproxy,Opensmtpd.Troubleshoot,Opensmtpd.Openrelay,Opensmtpd.Test,Rspamd.Configure,Dovecot.Install,Mlmmj.Install,Mlmmj-archivist.Install,Mutt.Connect,Openbsd.Fdm,Openbsd.Newdisk,Openbsd.Fdisk,Openbsd.Disklabel,Openbsd.Growfs,Openbsd.Pkg,Openbsd.Ports,Pkgadd.CheckUpdates,Doas.Configure,Syspatch.Syspatch,Openbsd.Cron,Rcctl.Rcctl,Openbsd.Adduser,Ln.Intro,Tmux.Config,Tmux.Share,Openbsd.XTerm,Openbsd.Backups,Openbsd.Dump,Openbsd.Restore,Openrsync.Usage,Rsync.Usage,Fdisk.Usage,Openbsd.Iplookup,Openbsd.Base64,Openbsd.Uim,Crontab.Edit,Ps.Usage,Kill.Usage,Vi.Intro,Openbsd.Vipw,Tar.Usage,Openbsd.Rcctl,Syslogd.Configure,Syslogd.Remote,Ksh.Bash,Ksh.Redirection,Ksh.Autocomplete,Shell.Limits,Shell.Cronjobs,Openbsd.Freeciv,Openbsd.Openttd,Olympics.Games,Chess.Reading,Chess.Chessgogi,Chess.Tournament,Chess.Limitsbot,Fics.Install,Math.Reading,Shelllabs.Intro,Shelllabs.Reading,Shelllabs.Quotes,Shelllabs.Manifesto,Camping.Gear,Openbsd.Minetest,Minetest.Addingarenas,Minetest.Serverlocations,Minetest.Texturestyle,Minetest.Updating,Minetest.Worldbackup,Texlive.Install,Texlive.Sinhala,Asterisk.Install,Sox.Concat,Openbsd.Ffmpeg,Parec.Record,Openbsd.Recordaudio,Ffmpeg.Recordscreen,Leafnode.Install,Webnews.Install,Gazette.Gazette,Openbsd.INN,Openbsd.Gopher,Openbsd.Gophernicus,Openbsd.Geomyidae,Bucky.Install,Prosody.Install,Biboumi.Install,Gomuks.Install,Akkoma.Install,Openbsd.Misc,ISCABBS.ISCABBS,Hosting.Hosting,Hosting.Providers,Openbsd.Security,Chroot.Intro,Password.Management,MITM.Intro,Openbsd.Phishing,Password.Hashes,Password.Schemes,Openbsd.Dos,Openbsd.Spam,Openbsd.0days,Openbsd.Rootkits,Pledge.Intro,Unveil.Intro,Openbsd.Databaseperms,Openbsd.Secureweb,Openbsd.Trust,Openbsd.Defaultdeny,Openbsd.Loginconf,Openbsd.Ids,Openbsd.Setuid,Openbsd.Sa,Openbsd.Quota,Openbsd.Shell,Police.Intro,Police.Fingerprints,Openbsd.FilePermissions,Openbsd.Oath-toolkit,Doxing.Defense,Team.Security,Sheriff.Intro,Openbsd.Xenodm,Xfce.Install,Fvwm.Configure,Xdefaults.Configure,Synclient.Configure,TigerVNC.Install,TigerVNC.SSH,Fdroid.Install,9.9,9.Shell,9.Install,9.Partdisk,9.Plan9ini,9.Links,9.Shocase,9.Rcpu,9.Drawterm,9.JSDrawterm,9.101,9.Bootcamp,9.9paste,9.Independent,9.Cheatsheet,9.Sysupdate,9.Packages,Rio.Customize,9.Chording,9.Ssh,9.Netcat,9.9gridchan,9.Ideas,Cloud9p.Roadmap,9.9pideas,9.Audio,9.Irc,9.Date,9.Reading,9.Acmemail,9.Splinternet,9.FNS,9.PKI,9.IP,9.Why9,9.Inter9,9.Ramfs,Debate.Linuxflaws,Linux.Reading,Unix.Intro,Unix.History,Unix.Exhibit,Unix.Reading,SIMH.Install,Ircnow.Womenstem,Openbsd.Dkimproxy,Openbsd.Opensmtpd,Opsofliberty.Bootcamp,Ircnow.Goals,Openbsd.Rbldns
+text=(:title Poor User's Almanack:)%0a%0aPoor User's illustrated, lessons for the young and old on industry, temperance, frugality, IRC & UNIX.%0a%0aTo administer a free and independent network run by the users themselves.%0a%0a!! IRC Chat Room%0a%0aHang out with us on our IRC training channel at [[ircs://irc.ircnow.org/#wheel|irc.ircnow.org/#wheel]].%0a%0a!! Mailing Lists%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Mailing Lists ||||||||||%0a|| [[lists/ircnow|IRCNow Mailing Lists]] ||||||||||%0a%0a!! Network News%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Training ||||||||||%0a|| [[minutemin/code|Code of Honor]] || [[minutemin/server|My Server]] || [[minutemin/duty|Call of Duty]] || [[minutemin/questions|Good Questions]] || ||%0a|| || [[Minutemin/Progress|Progress]] || [[medals/intro|Medals]] || || ||%0a|| [[team/welcome|Team]] || [[team/testing|Testing sysadmin]] || [[servers/rights|Servers' Rights]] || [[team/announce|Announce]] || ||%0a|| [[ircnow/dogfood|Dogfood]] || [[team/networks|IRC Networks]] || || || ||%0a|| [[congress/procedure|Congress Procedure]] || [[congress/documents|Historic Documents]] || [[ircnow/milestones|Milestones]] || || ||%0a|| [[ircnow/roadmap2021|IRCNow Roadmap 2021]] || [[ircnow/roadmap2022|IRCNow Roadmap 2022]] || [[ircnow/roadmap2023|IRCNow Roadmap 2023]] || || ||%0a|| [[ircnow/status2022|Status of the Union 2022]] || || || || ||%0a|| [[CodeForce/Deploy|Deployment Procedure]] || || || || ||%0a|| [[abuse/code|Abuse Code]] || || || || ||%0a|| [[ambassador/markets|Target Markets]] || [[ircnow/metrics|Metrics]] || [[ircnow/nsf|NSF]] || [[ircnow/newdeal|Digital New Deal]] || [[ircnow/daughtersofliberty|Daughters of Liberty]] ||%0a|| [[netizen/ellisisland|Ellis Island]] || || || || ||%0a%0a||! Civics ||||||||||%0a|| Netizenship || [[user/welcome|New User's Welcome]] || [[netizen/become|Become a Netizen]] || [[netizen/rights|Netizen Rights]] || ||%0a|| Independence || [[freedom/selfadmin|Self-Admin]] || [[Freedom/Independence|Declaration]] || [[freedom/fork|Freedom to Fork]] || [[ircnow/constitution|Constitution & Bill of Rights]] ||%0a|| Liberty || [[freedom/religion|Religious Liberty]] || [[freedom/firstamendment|No Central Censor]] || [[freedom/software|Software Freedom]] || [[freedom/privacy|Privacy]] ||%0a|| Opportunity || [[freedom/homestead|Free Homestead VPS]] || [[freedom/madeonirc|Made on IRC]] || [[freedom/unix|Unix Work Ethic]] ||  [[freedom/startupdream|The Startup Dream]] ||%0a|| Justice || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/dueprocess|Due Process]] || [[freedom/checks|Checks and Balances]] || [[freedom/rulebylaw|Rule by Law]] ||%0a|| Union || [[freedom/federation|Federation]] || [[freedom/union|United We Serve]] || [[freedom/universal|Universal Access]] || [[freedom/radio|Radio Freedom]] ||%0a|| Education || [[ircnow/education|Higher Education]] || || || ||%0a%0a||! OpenBSD ||||||||||%0a|| OpenBSD || [[openbsd/intro|Intro]] || || || ||%0a|| Virtual Machines || [[vmm/configure|Configure VMM]] || [[vmm/install|VMM Install Guide]] || [[vmctl/usage|VMM User Guide]] || [[vmm/linux|VMM Linux Guide]] ||%0a|| || [[vmm/DebianIso|Debian ISO]] || [[Vmm/DebianInstall|Debian Install]] || || ||%0a|| || [[vmm/debian|VMM Debian Guide]] || [[vmm/optimize|Optimize VMM]] || [[vmm/ubuntu|VMM Ubuntu]] || [[openbsd/buyvm|Buyvm Guide]]  ||%0a|| || [[vmm/DevuanIso|Devuan Iso]] || [[vmm/Devuan-ISO|Devuan install]] || || ||%0a|| || [[vmm/alpine|VMM Alpine Guide]] || [[vmm/arch|VMM Arch Guide]] || || ||%0a|| [[vmm/plan9|VMM Plan 9]] || || || || ||%0a|| [[vmm/router|vmm router]] || [[vmm/homerouter|VMM home router]] || || || ||%0a|| Bare Metal || Dell || Supermicro || [[openbsd/BBB|BeagleBone Black]] || [[openbsd/orangepi3lts|Orange Pi 3 LTS]] ||%0a|| Upgrade || [[openbsd/upgrade67|OpenBSD 6.7 Upgrade]] || [[openbsd/upgrade68|OpenBSD 6.8 Upgrade]] || [[openbsd/upgrade69|OpenBSD 6.9 Upgrade]] || [[openbsd/upgrade74|OpenBSD 7.4 Upgrade]] ||%0a|| Sysupgrade || [[openbsd/sysupgrade68|OpenBSD 6.8 Sysupgrade]] || [[openbsd/sysupgrade69|OpenBSD 6.9 Sysupgrade]] || [[openbsd/sysupgrade70|OpenBSD 7.0 Sysupgrade]] || [[openbsd/sysupgrade71|OpenBSD 7.1 Sysupgrade]] ||%0a|| || [[openbsd/sysupgrade72|OpenBSD 7.2 Sysupgrade]] || [[openbsd/sysupgrade73|OpenBSD 7.3 Sysupgrade]] || [[openbsd/sysupgrade74|OpenBSD 7.4 Sysupgrade]] || [[openbsd/sysupgrade75|OpenBSD 7.5 Sysupgrade]] ||%0a|| Install || [[openbsd/install67|OpenBSD 6.7 Install]] || [[openbsd/install68|OpenBSD 6.8 Install]] || [[openbsd/install69|OpenBSD 6.9 Install]] || [[openbsd/install70|OpenBSD 7.0 Install]] ||%0a|| || [[openbsd/install71|OpenBSD 7.1 Install]] || [[openbsd/install73|OpenBSD 7.3 Install]] || [[openbsd/install74|OpenBSD 7.4 Install]] || [[openbsd/bsdrd|OpenBSD Ramdisk Install]] ||%0a|| || [[OpenBSD/ResetPassword]] || [[Openbsd/Singleuser|Single User Mode]] || [[openbsd/books|OpenBSD Books]] || ||%0a%0a(:if false:)%0a|| Philosophy || [[license/publicdomain|License]] || [[gpl/flaws|GPL flaws]] || [[bsd/hope|BSD Hope]] || [[bsd/labor|BSD Labor]] || ||%0a|| || [[license/Discriminatory]] || || || ||%0a(:ifend:)%0a%0a%0a||! Networking ||||||||||%0a|| [[tcpip/overview|TCP/IP]] || [[IPv4/overview|IPv4]] || [[IPv6/overview|IPv6]] || [[tcpip/sockets|sockets]] || [[openbsd/netmask|Netmasks]] ||%0a|| [[tcpip/ports|TCP/IP ports]] || [[buyvm/ipv6|BuyVM IPv6]] || || || ||%0a|| || [[openbsd/anycast|Anycast Addresses]] || || || ||%0a|| Configure || [[hostnameif/static|Static Networking]] || [[hostnameif/static-v2|Static Networking v2]] || [[ifconfig/change|Change Static Network]] || [[IP/myaddress|My IP address]] ||%0a|| || [[ifconfig|ifconfig]] || [[route|route]] || [[route/usage]] || [[openbsd/wifi|wifi]] ||%0a|| || [[dhcpd/configure|dhcpd]] || [[openbsd/npppd|npppd]] || [[openbsd/pppoe|pppoe]] || [[ntpd/configure|ntpd]] ||%0a|| || [[dhclient/configure|dhclient]] || || || ||%0a||! Firewall ||||||||||%0a|| [[openbsd/pf|Packet Filter]] || [[pf/guide|PF Guide]] || [[openbsd/PFStable|PF for Stable]] || [[openbsd/PFTesting|PF for Testing]] || [[openbsd/pfbadhost|pfbadhost]] ||%0a|| [[pf/vpn|PF for VPN]] || || || ||%0a|| [[ddos/intro|DDoS Defense]] || [[openbsd/SSDP|SSDP attack]] || [[openbsd/ACKFlood|TCP ack flood]] || [[openbsd/RSTFlood|TCP reset flood]] || [[openbsd/SYNFlood|SYN Flood]] ||%0a|| || [[openbsd/HTTPFlood|HTTP Flood]] || [[openbsd/NTPAmplification|NTP Amplification]] || [[openbsd/UDPFlood|UDP Flood]] || [[openbsd/amplification|amplification attack]] ||%0a||! Troubleshooting ||||||||||%0a|| Network Layer || [[openbsd/ping|ping]] || [[openbsd/tcpdump|tcpdump]] || || ||%0a|| || [[netcat/usage|netcat]] || [[netcat/irc|netcat IRC]] || [[netcat/http|netcat HTTP]] || [[netcat/SMTP|send mail with netcat]] ||%0a|| Application || [[telnet/http|Telnet HTTP]] || [[openssl/http|OpenSSL HTTP]] || [[openssl/imap|OpenSSL IMAP]] || [[openssl/smtp|OpenSSL SMTP]] ||%0a|| || [[openssl/check|Check OpenSSL certs]] || [[openssl/encryptfile|openssl encrypt file]] || || ||%0a%0a||! Routing ||||||||||%0a|| [[bgpd/configure|bgpd configuration]] ||||||||||%0a%0a||! DNS ||||||||||%0a|| [[dns/overview|DNS Overview]] || [[dns/records|DNS Records]] || [[dns/FQDN|FQDN]]  || [[dns/registrars|Name Registrars]] || [[dns/vhost|vhost]] ||%0a|| || [[vhost/freedns|FreeDNS vhosts]] || [[vhost/ircnow|IRCNow vhosts]] || || ||%0a||! Authoritative ||||||||||%0a|| [[nsd/configure|nsd]] || [[nsd/masterslave|nsd master slave]] || [[nsd/troubleshoot|Troubleshoot Nsd]] || [[DNS/rDNS|rDNS]] || [[dns/zonefile|Zone File]] ||%0a|| || [[nsd/zone|NSD Zone file]] || [[dns/Troubleshooting|Troubleshooting DNS]] || || ||%0a|| [[openbsd/delphinusdnsd|delphinusdnsd]] || || || || ||%0a|| [[DNS/Mail|DNS for Mail]] || [[DNS/SPF|SPF Records]] || [[DNS/DKIM|DKIM Records]] || [[DNS/DMARC|DMARC Records]] || ||%0a|| [[DNS/ipv6rDNS|ipv6 rDNS]] || [[DNS/ipv4rDNS|ipv4 rDNS]] || || || ||%0a||! Caching ||||||||||%0a|| [[unbound/configure|unbound]] || [[host/usage|Using host]] || [[dig/usage|Using dig]] || [[openbsd/unboundadblock|unbound adblock]] || ||%0a|| [[unbound/blacklists|DNS Blacklists]] || [[rbldnsd/install|rbldns]] || [[dns/bind_resolver|BIND resolver]] || ||%0a|| [[unbound/DNSSEC|Unbound DNSSEC]] || || || || ||%0a%0a||! Cryptography ||||||||||%0a||! Signing ||||||||||%0a|| [[gpg/verify|Verify GPG signatures]] || netpgp || [[signify/verify|Verify signify]] || || ||%0a||! Encryption ||||||||||%0a|| [[duplicity/usage|duplicity]] || || || || ||%0a||! VPNs ||||||||||%0a|| IPSec || [[iked/configure|Configure iked]] || [[vpn/vpn|VPN clients]] || [[iked/newconfig|iked new config]] || [[vpn/myipaddress|My IP Address]] ||%0a||! Tor ||||||||||%0a|| Tor || [[tor/torsocks|torsocks]] || [[tor/hidden|Hidden Services]] || [[tor/irc|IRC with Tor]] || ||%0a||! TLS ||||||||||%0a|| [[tls/overview|TLS Overview]] || [[tls/intro|TLS Intro]] || [[tls/CA|Certificate Authorities]] || || ||%0a|| [[acme-client/configure|acme-client]] || [[acme-client/cron|Automating acme-client]] || [[relayd/acceleration|relayd TLS Acceleration]] || [[relayd/TLSMulti|relayd TLS Acceleration Multi]] || [[letsencrypt/expired|Let's Encrypt Expired Cert]] ||%0a|| [[acme-client/AutoRenew|acme-client Automation]] || [[Dehydrated/configure|Dehydrated Setup]] || [[Acmesh/configure|Acme.sh Setup]] ||%0a||! SSH ||||||||||%0a|| || [[sshd/configure|sshd]] || [[ssh/client|ssh]] || [[ssh/fingerprints|SSH keys]] || [[openbsd/sshbackdoor|SSH backdoor]] ||%0a|| [[sshd/disablepassword|Disable Password]] || [[OpenSSH/keygen|Creating ssh keys]] || [[openssh/skey|OpenSSH 2FA with S/key]] || || ||%0a|| [[openbsd/Two-FactorAuth]] || [[openbsd/drawtermssh|SSH Drawterm]] || || || ||%0a||! File Transfer ||||||||||%0a|| sftp || [[openbsd/sftp|chrooted sftp]] || || || ||%0a|| ftpd || [[ftpd/configure|FTP server]] || || || ||%0a|| torrent || [[torrent/configure|bittorrent server]] || || || ||%0a%0a||! Version Control ||||||||||%0a|| CVS || [[cvs/anoncvs|anoncvs]] || [[cvs/intro|CVS intro]] || [[cvs/cvsweb|cvsweb]] || ||%0a|| || [[cvs/repo|Create CVS Repos]] || [[cvs/guide|CVS Guide]] || || ||%0a|| pastebin || [[paster/install|Install paster]] || [[fiche/install|Install fiche]] || || ||%0a%0a||! [[openbsd/www|Web]] ||||||||||%0a|| [[openhttpd/configure|OpenHTTPd]] || [[openhttpd/hosting|OpenHTTPd Hosting]] || [[openbsd/httpopenproxy|HTTP open proxies]] || [[openhttpd/perl|Perl for OpenHTTPd]] || [[openbsd/php|php]] ||%0a|| [[openhttpd/tls|OpenHTTPd TLS]] || [[openhttpd/website|OpenHTTPd website]] || [[openhttpd/CGI|OpenHTTPd with C CGI]] || [[openhttpd/chroot|OpenHTTPd chroot]] || ||%0a||! Applications ||||||||||%0a|| PHP || [[pmwiki/install|pmwiki]] || [[pmwiki/simpleurl|simpleurl]] || [[pmwiki/replace|Replace Pmwiki]] || [[debate/wikistyle|Pmwiki Style Guide]] ||%0a|| || [[ikiwiki/install|Ikiwiki]] || [[openbsd/dokuwiki|dokuwiki]] || || ||%0a|| || [[squirrelmail/install|SquirrelMail]] || [[roundcube/install|Install RoundCube]] || [[wordpress/install|Wordpress]] || ||%0a|| || [[openbsd/oscommerce|OSCommerce]] || [[openbsd/cumulusclips|cumulus clips]] || [[openbsd/fluxbb|fluxbb]] || [[openbsd/question2answer|Question2Answer]] ||%0a|| || [[openbsd/h5ai|h5ai]] || [[openbsd/manna]] || [[openbsd/easyapp|EasyApp]] || ||%0a|| [[NodeJS/Install|NodeJS]] || || || || ||%0a|| C || [[openbsd/cgit|cgit]] || [[stagit/install|stagit]] || || ||%0a|| [[got/repo|Got repo]] || [[gotweb/install|gotweb]] || [[got/usage|Using Got]] || [[got/server|got server]] || [[got/mirror|Got mirror]] ||%0a||! Database ||||||||||%0a|| [[Mariadb/install|Mariadb]] ||||||||||%0a%0a||! IRC ||||||||||%0a||! IRC Guides ||||||||||%0a|| IRC || [[irc/guide|IRC101]] || [[irc/chanop|Channel Op Guide]] || [[ngircd/oper|Oper Guide]] || [[irc/services|Services Guide]] ||%0a|| || [[irc/clients|IRC Clients]] || [[irc/easy|IRC made easy]] || ||%0a|| [[HostServ/Rules|HostServ Rules]] || || || || ||%0a|| || [[unrealircd/install|unrealircd]] || || || ||%0a||! Bouncers  ||||||||||%0a|| [[Znc/Install|Install ZNC]]  || [[znc/chroot|Install ZNC (chroot)]] || [[ZNC/Admin|ZNC admin]] || [[ZNC/Support|ZNC Support]] || [[openbsd/ZNCModules|ZNC modules]] ||%0a|| [[Znc/Patch|ZNC Patch]] || [[znc/usage|Using ZNC]] || [[znc/relayd|ZNC webpanel (relayd)]] || || ||%0a|| || [[Znc/I18n|ZNC I18n]] || [[ZNC/Troubleshoot|Troubleshoot ZNC]] || || [[znc/debug|Debugging ZNC]] ||%0a|| [[debate/zncdefense|ZNC Defense]] || [[debate/zncflaws|ZNC Flaws]] || || || ||%0a|| [[Soju/Install|Install Soju (with and without chroot)]] ||%0a|| PsyBNC || [[psybnc/install|psybnc]]  || || || ||%0a|| BNCs || [[openbsd/ilines|old ilines]] || [[ambassador/ilines|new ilines]] || || ||%0a|| IRCv3 || [[Debate/Ircv3defense|IRCv3 Defense]] || || || ||%0a||! Ident ||||||||||%0a|| Ident || [[openbsd/identd|identd]] || [[oidentd/install|oidentd install]] || [[oidentd/ZNC|oidentd for znc]] || [[oidentd/changeident|Changing ident]] ||%0a||! Clients ||||||||||%0a|| [[openbsd/ii|ii]] || [[openbsd/sic|sic]] || || || ||%0a||! Servers ||||||||||%0a|| [[ngircd/install|ngircd install]] || [[ngircd/link|ngircd link]] || [[ngircd/ssl|ngircd ssl]] || [[ngircd/sins|ngircd sins]] || [[ngircd/loginconf|Ngircd Login.conf]] ||%0a|| [[hopm/install|hopm]] || [[openbsd/acopm|acopm]] || || [[hopm/telnet|Test hopm]] || ||%0a|| [[Openbsd/Hopm-NowWithInit|HOPM: Now With Init (Advanced-ish)]] || [[hunchentoot/install | Hunchentoot]] ||%0a||! Services ||||||||||%0a|| [[achurch/install|achurch]] || [[anope/install|anope]] || [[atheme/install|atheme]] || || ||%0a||! Relays ||||||||||%0a|| [[pylink/install|pylink]] || [[pylink/chroot|chroot pylink]] || [[bitlbee/install|bitlbee install]] || [[openbsd/matterbridge|matterbridge]] || ||%0a||! Bots ||||||||||%0a|| Eggdrop ||  [[eggdrop193/install|Install eggdrop 1.9.3]] || [[eggdrop191/install|Install eggdrop 1.9.1]] || [[openbsd/tcltls|tcltls]] || [[eggdrop184/install|Install eggdrop 1.8.4]] ||%0a|| || [[eggdrop/nickserv|Identify with NickServ]] || || || ||%0a|| Channel || [[wraith.chroot|chroot wraith]] || [[openbsd/wraith|install wraith]] || || ||%0a|| Custom || [[openbsd/biblebot|biblebot]] || [[botnow/install|botnow]] || [[openbsd/ircrelayd|ircrelayd]] || ||%0a%0a||! Languages ||||||||||%0a|| [[Category/Perl|Perl]] || [[openbsd/CPAN|CPAN]] || || || ||%0a|| Korn || [[unix101/unix101|unix101]] || [[unix101/wechall|unix101 challenge]] || || ||%0a|| C || [[c101/c101|c101]] || [[debate/WhyNotC|Why Not C]] || [[C|intro]] || [[C/cprimer|c-primer]] ||%0a%0a||! Editors ||||||||||%0a|| [[emacs/emacs]] || [[openbsd/vi|vi]] || [[openbsd/mg|mg]] || || ||%0a%0a||! Mail ||||||||||%0a|| OpenSMTPd || [[opensmtpd/configure|opensmtpd]] || [[openbsd/opensmtpd-relay|opensmtpd relay]] || [[openbsd/opensmtpd-2|opensmtpd-2]] || [[openbsd/mailopenproxy|Mail Open Proxy]] ||%0a|| || [[opensmtpd/troubleshoot|Troubleshooting OpenSMTPd]] || [[opensmtpd/openrelay|Open Mail Relay]] || [[opensmtpd/test|Test opensmtpd]] || ||%0a|| [[DNS/Mail|DNS for Mail]] || [[DNS/SPF|SPF Records]] || [[DNS/DKIM|DKIM Records]] || [[DNS/DMARC|DMARC Records]] || ||%0a|| || [[rspamd/configure|spamd]] || || || ||%0a|| Mail || [[dovecot/install|dovecot]] || [[mlmmj/install|mlmmj]] || [[mlmmj-archivist/install|mlmmj-archivist]] || ||%0a|| Clients || || [[Mutt.Connect|mutt]] || [[openbsd/fdm|fdm]] || ||%0a%0a||! System Admin ||||||||||%0a|| Disks || [[openbsd/newdisk|Adding a New Disk]] || [[openbsd/fdisk|fdisk]] || [[openbsd/disklabel|disklabel]] || [[openbsd/growfs|Growfs partition]] ||%0a|| [[openbsd/pkg|pkg]] || pkglocatedb || [[openbsd/ports|ports]] || [[Pkgadd.CheckUpdates|pkg_add check update]] || ||%0a|| Utilities || [[doas/configure|sudo, doas]] || [[syspatch/syspatch|syspatch]] || [[openbsd/cron|cron]] || [[rcctl/rcctl|rcctl]] ||%0a|| || [[openbsd/adduser|adduser]] || || || ||%0a|| || [[ln/intro|symbolic links]] || [[tmux/config|tmux Config]] || [[tmux/share|tmux share]] || [[openbsd/XTerm|XTerm]] ||%0a|| [[openbsd/backups|Backups]] || [[openbsd/dump|dump]] || [[openbsd/restore|restore]] || [[openrsync/usage|openrsync]] || [[rsync/usage|rsync usage]] ||%0a|| [[fdisk/usage|fdisk]] || || || || ||%0a|| [[openbsd/iplookup|iplookup]] || || || [[openbsd/base64|base64]] || [[openbsd/uim|Chinese]] ||%0a|| [[crontab/edit|Editing crontab]] || [[ps/usage|ps process]] || [[kill/usage|Sending signals with kill]] || [[vi/intro|Intro to Vi]] || ||%0a|| [[openbsd/vipw|vipw]] || [[tar/usage|tar usage]] || [[openbsd/rcctl|rcctl]] || [[syslogd/configure|syslogd]] || [[syslogd/remote|Remote syslogd]] ||%0a%0a||! Shell ||||||||||%0a|| [[ksh/bash|ksh for bash users]] || [[ksh/redirection|Redirection with Pipes]] || [[ksh/autocomplete|autocomplete for ksh]] || [[shell/limits|Shell Limits]] || [[shell/cronjobs]] ||%0a%0a||! Games ||||||||||%0a|| Misc || [[openbsd/freeciv|FreeCiv]] || [[openbsd/openttd|OpenTTD]] || || ||%0a|| Olympics || [[olympics/games|IRCNow Olympics]] || || || ||%0a|| Chess || [[chess/reading|Chess Books]] || [[chess/chessgogi]] || [[chess/tournament]] || [[chess/limitsbot]] ||%0a|| || [[fics/install|Install FICS]] || || || ||%0a%0a||! Math ||||||||%0a|| [[math/reading]] || || || ||%0a%0a||! Science ||||||||%0a|| [[shelllabs/intro|Shell Labs]] || [[shelllabs/reading]] || [[shelllabs/quotes]] || [[shelllabs/manifesto]] ||%0a%0a||! Camping ||||||||||%0a|| [[Camping/Gear|Camping Gear]] || || || || ||%0a%0a||! Minetest ||||||||||%0a|| [[openbsd/minetest|Minetest]] || || || || ||%0a|| [[minetest/addingarenas|Adding Arenas]] || [[minetest/serverlocations|Server Locations]] || [[minetest/texturestyle|Texture Style Guide]] || [[minetest/updating|Updating the Game]] || [[minetest/worldbackup|World Backup]] ||%0a%0a||! Documents ||||||||||%0a|| LaTeX || [[texlive/install|TexLive]] || [[texlive/sinhala|Sinhala]] || || ||%0a%0a||! Audio/Video ||||||||||%0a|| SIP || [[asterisk/install|asterisk]] || || || ||%0a|| Media || ImageMagick || vorbis || sndiod || [[sox/concat|concat audio files]] ||%0a|| || [[openbsd/ffmpeg|ffmpeg]] || [[parec/record|record audio]] || [[openbsd/recordaudio|Record Audio]] || [[ffmpeg/recordscreen|record screen with ffmpeg]] ||%0a|| || icecast || || || ||%0a%0a%0a||! News ||||||||||%0a|| [[leafnode/install|leafnode]] || [[webnews/install|Web News Install]] || [[Gazette/Gazette|News clients]] || [[openbsd/INN|INN]] || ||%0a||! Gopher ||||||||||%0a|| [[openbsd/gopher|gopher]] || [[openbsd/gophernicus|gophernicus]] || [[openbsd/geomyidae|geomyidae]] || [[bucky/install|Bucky Install]] || ||%0a||! Alt Social Media ||||||||||%0a|| [[prosody/install|prosody]] || [[biboumi/install|biboumi]] || matrix || fediverse || [[gomuks/install|gomuks]] ||%0a|| [[akkoma/install|akkoma]] ||||||||||%0a||! [[openbsd/misc|Misc]] ||||||||||%0a|| [[ISCABBS]] ||  ||  ||  ||  ||%0a%0a||! [[hosting/hosting|Hosting]] ||||||||||%0a|| [[hosting/providers|Hosting Providers]] || [[openhttpd/hosting|OpenHTTPd Hosting]] || || || ||%0a%0a||! [[openbsd/security|Security]] ||||||||||%0a|| Hardening || [[chroot/intro|chroot]] || [[Password/Management|Password Mgmt]] \\%0a[[Password.hashes]] || [[MITM/intro|MITM: Man in the Middle]] || [[openbsd/phishing|Phishing]] ||%0a|| || [[Password/Schemes|Password Schemes]] || || || || ||%0a|| [[openbsd/dos|Denial of Service]] || [[openbsd/spam|Spam]] || [[openbsd/0days|0days]] || [[openbsd/rootkits|Rootkits]] || [[pledge/intro|pledge]] ||%0a|| [[unveil/intro|unveil]] || [[openbsd/databaseperms|Database Permissions]] || [[openbsd/secureweb|Secure web apps]] || [[openbsd/trust|Trust]] || [[openbsd/defaultdeny|Default Deny]] ||%0a|| [[openbsd/loginconf|login.conf]] || [[openbsd/ids|Intrusion detection system]] || [[openbsd/setuid|setuid binaries]] || [[openbsd/sa|system accounting]] || [[openbsd/quota|file quotas]] ||%0a|| [[openbsd/File Permissions]] || [[openbsd/shell|Shell Accounts]] || [[police/intro|Policing Guide]] || [[police/fingerprints|Police fingerprints]] ||%0a|| [[openbsd/oath-toolkit|oath-toolkit]] || [[doxing/defense|doxing defense]] || [[team/security|Team security]] ||%0a%0a||! Sheriff ||||||||||%0a|| [[sheriff/intro]] || || || || ||%0a%0a||! Desktop ||||||||||%0a|| X Windows || [[openbsd/Xenodm|Xenodm]] || || || ||%0a|| XFCE || [[xfce/install|Install XFCE]] || || || ||%0a|| FVWM || [[fvwm/configure|Configure FVWM]] || [[Xdefaults/Configure|Configure XDefaults]] || [[synclient/configure|Touchpad]] || ||%0a|| VNC || [[TigerVNC/install|Install TigerVNC]] || [[TigerVNC/SSH|TigerVNC with SSH]] || || ||%0a%0a||! Android ||||||||||%0a|| [[Fdroid/Install|Install F-Droid]] || || || || ||%0a%0a||! VMM ||%0a|| OpenBSD ||%0a|| Linux ||%0a|| Plan9front ||%0a|| NetBSD ||%0a|| DragonflyBSD ||%0a%0a||! Plan 9 ||||||||||%0a|| [[9/9|9 intro]] || [[9/Shell|Plan9 Shells]] || [[9/install|9 Install]] || [[9/partdisk|partdisk]] || [[9/Plan9ini|Plan 9 ini]] ||%0a|| [[9/Drawterm]] || [[9/JSDrawterm]] || [[9/Links|9 Links]] || [[9/shocase|9 Showcase]] || [[9/rcpu|rcpu]] ||%0a|| [[9/101|9 101]] || [[9/bootcamp|9 bootcamp]] || [[9/9paste|9paste]] || [[9/independent|9: Independent]] || [[9/cheatsheet|9 Cheatsheet]] ||%0a|| [[9/sysupdate|sysupdate]] || [[9/packages|3rd party packages]] || [[9/ssh]] || [[rio/customize|Customize rio]] || [[9/chording|mouse chording]]%0a|| [[9/netcat|netcat]] || [[9/9gridchan|9gridchan]] || [[9/ideas|9 Ideas]] || [[cloud9p/roadmap|cloud9p]] || [[9/9pideas|9p Ideas]] ||%0a|| [[9/audio|audio]] || [[9/irc|IRC clients]] || [[9/reading]] || [[9/date|Date and time]] || [[9/acmemail]] ||%0a|| [[9/splinternet]] || [[9/FNS]] || [[9/PKI]] || [[9/IP]] || [[9/Why9]] ||%0a|| [[9/inter9]] || [[9/ramfs]] || || || ||%0a%0a||! Linux ||||||||||%0a|| [[linux/reading]] || [[Debate/Linuxflaws|Linux Flaws]] || || || ||%0a%0a||! [[unix/intro|Unix]] ||||||||||||||%0a|| [[unix/history|History of UNIX]] || [[unix/exhibit|Exhibit]] || [[unix/reading]] || [[SIMH/install]] ||||%0a%0a|| Idea Brainstorm ||||||||||%0a|| [[netizen/ellisisland]] || [[ircnow/newdeal]] || [[ircnow/womenstem]] || || ||%0a%0a||! Historical Articles ||||||||||%0a|| [[openbsd/dkimproxy|dkimproxy]] || [[openbsd/opensmtpd|OpenSMTPd]] || [[openbsd/rbldns]] || [[opsofliberty/bootcamp|Ops Bootcamp]] || [[ircnow/goals|IRCNow goals]] ||%0a
+time=1700938277
 title=Poor User's Almanack
+author:1700938277=jrmu
+diff:1700938277:1700938261:=173c173%0a%3c || Channel || [[wraith.chroot|chroot wraith]] || [[openbsd/wraith|install wraith]] || || ||%0a---%0a> || Channel || [[wraith.chroot|chroot wraith]] || [[openbsd/wraith/install wraith]] || || ||%0a
+host:1700938277=38.87.162.8
+author:1700938261=jrmu
+diff:1700938261:1700850747:=173c173%0a%3c || Channel || [[wraith.chroot|chroot wraith]] || [[openbsd/wraith/install wraith]] || || ||%0a---%0a> || Channel || [[wraith.chroot|chroot wraith]] || [[wraith.install/install wraith]] || || ||%0a
+host:1700938261=38.87.162.8
 author:1700850747=Posterdati
 diff:1700850747:1700285459:=165c165%0a%3c || [[Openbsd/Hopm-NowWithInit|HOPM: Now With Init (Advanced-ish)]] || [[hunchentoot/install | Hunchentoot]] ||%0a---%0a> || [[Openbsd/Hopm-NowWithInit|HOPM: Now With Init (Advanced-ish)]] ||%0a
 host:1700850747=93.45.233.109
blob - 6eacb5aaa00aedbf882a0f52d9dd1f403b887125
blob + 1bfb89fff8934dd4e90cdd07ad501a253eee204a
--- wiki.d/Almanack.RecentChanges
+++ wiki.d/Almanack.RecentChanges
@@ -1,9 +1,9 @@
 version=pmwiki-2.3.20 ordered=1 urlencoded=1
-agent=Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0
+agent=w3m/0.5.3+git20230121
 charset=UTF-8
 ctime=1614490687
-host=93.45.233.109
+host=38.87.162.8
 name=Almanack.RecentChanges
-rev=513
-text=* [[Almanack/Almanack]]  . . . @2023-11-24T18:32:27Z by [[~Posterdati]]: [==]%0a* [[Almanack/Route]]  . . . April 20, 2022, at 06:23 AM by [[~jrmu]]: [==]%0a* [[Almanack/Rewrite]]  . . . October 31, 2021, at 10:30 PM by [[~hydragyrum]]: [==]%0a* [[Almanack/Alt]]  . . . August 02, 2021, at 07:52 AM by [[~jrmu]]: [==]%0a
-time=1700850747
+rev=515
+text=* [[Almanack/Almanack]]  . . . @2023-11-25T18:51:17Z by [[~jrmu]]: [==]%0a* [[Almanack/Route]]  . . . April 20, 2022, at 06:23 AM by [[~jrmu]]: [==]%0a* [[Almanack/Rewrite]]  . . . October 31, 2021, at 10:30 PM by [[~hydragyrum]]: [==]%0a* [[Almanack/Alt]]  . . . August 02, 2021, at 07:52 AM by [[~jrmu]]: [==]%0a
+time=1700938277
blob - /dev/null
blob + 5f5dad243b6f121d88950eaf89f632339b415430 (mode 644)
--- /dev/null
+++ wiki.d/Hunchentoot.Install
@@ -0,0 +1,76 @@
+version=pmwiki-2.3.20 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0
+author=Posterdati
+charset=UTF-8
+csum=
+ctime=1700843694
+host=93.45.233.109
+name=Hunchentoot.Install
+rev=21
+targets=
+text=----%0a%0a!'''Common Lisp on OpenBSD'''%0a%0a!!'''With a simple Hunchentoot example'''%0a%0a|| border=1 width=50%25 class="sortable simpletable"%0a||!Revision||!Description||!Name                                        ||%0a||0.0.1    ||This table  ||Angelo Rossi %3cangelo.rossi.homelab@gmail.com>||%0a||         ||            ||                                             ||%0a%0a%0a!!!'''Preface to this Edition'''%0a%0aThis is a lone work by Angelo Rossi %3cangelo.rossi.homelab@gmail.com>%0a%0a!!!'''License Information'''%0a%0a[@%0aCopyright (C) 2023 Angelo Rossi %3cangelo.rossi.homelab@gmail.com>%0a%0a%0aRedistribution and use in source and binary forms, with or without%0amodification, are permitted provided that the following conditions%0aare met:%0a%0a%0a1. Redistributions of source code must retain the above copyright%0a   notice, this list of conditions and the following disclaimer.%0a2. Redistributions in binary form must reproduce the above copyright%0a   notice, this list of conditions and the following disclaimer in the%0a   documentation and/or other materials provided with the distribution.%0a3. Neither the name of the University nor the names of its contributors%0a   may be used to endorse or promote products derived from this software%0a   without specific prior written permission.%0a%0a%0aTHIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND%0aANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE%0aIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE%0aARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE%0aFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL%0aDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS%0aOR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)%0aHOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT%0aLIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY%0aOUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF%0aSUCH DAMAGE.%0a@]%0a%0a----%0a%0a!'''Introduction'''%0a%0aThis document explain how to install and configure sbcl on OpenBSD system.%0aAssuming you already installed this OS on your machine with basic tools and%0adesktop environment or, at least, you are able to use emacs as text editor.%0aFirst of all OpenBSD is a free 4.4BSD-based Unix-like operating system. It has%0agot these unique features:%0a%0a* portability;%0a* standardization;%0a* correctness;%0a* proactive security;%0a* integrated cryptography.%0a%0aFor all of these you could be interested in run a webserver on it. So let's see%0ahow to achieve that and look at a simple way to program a dynamic webserver%0aapplication which in turn use the Common Lisp language to create html pages on%0athe fly.%0a%0a!!'''Foreword'''%0a%0aWhy Common Lisp? One of the question that arises most of the times speaking%0awith people involved in computer science as professionals or reasearches. Most%0aof them look at Lisp (and Common Lisp as a reflex) not only the language%0adeveloped for AI fifty years ago, but something strange and esotheric,%0asomething not really useful and related to a distant past made of punched cards%0aand gigantic magnetic tape reader the size of a fridge.  No one take Lisp as%0athe language of the following innovations:%0a%0a* a regular and most simple syntax among high level programming language;%0a* the first high level language used to program an OS (Genera);%0a* used to program one of the first graphic user interface for an OS;%0a* an advanced macro system to generate Lisp code and extend the language (DSL);%0a* A garbage collector;%0a* derived from the mathematics idea of lambda calculus by Alonzo Church;%0a* a major dialect with a standard: ANSI INCITS 226-1994 (S20018).%0a%0a!!'''Who is this guide for?'''%0a%0aThe purpose of this guide is to let the reader discovers one of the most%0aadvanced and complete language in the history of computer science.  The usage%0aof Lisp is quite simple since it is based on very basic ideas about%0aprogramming.  Since OpenBSD is a modern UNIX OS with excels in some areas like%0asecurity and correctness, this guide could be of some use to people that want%0ato experimenting and deploy secure applications for everyday usage.  A basic%0aknowledge of OpenBSD, shell and Common Lisp will boost the process to build%0aand better understand the concept.  For those who don't know Common Lisp we%0asuggest to read those books: [BARSKI2010]_ and [SEIBEL2005]_.%0a%0a!!'''Other resources'''%0a%0aOnline official documentation and info sources from:%0a%0a* FAQ manual `%3chttps://www.openbsd.org/faq/index.html>`_%0a* man pages: `%3chttps://man.openbsd.org>`_%0a* Mailing list `%3chttps://www.openbsd.org/mail.html>`_%0a* #OpenBSD IRC channel on Libera Chat `%3circ.libera.chat>`_%0a* #lisp IRC channel on Libera Chat `%3circ.libera.chat>`_%0a* #lisp IRC channel on IRC Now `%3circ.bsdforall.org>`_%0a%0a!!'''Legally speaking...'''%0a%0aWe referenced to the BSD 3 clauses license for this work and the related code.%0a%0a!'''Getting Started'''%0a%0a!!'''The installation process'''%0a%0aWe refer to a running and functional installation of OpenBSD 7.4 for amd64%0aplatform even if the majority of the ideas can be used on othe platform too%0aas sparc64 and arm64. First of all we open a terminal window: OpenBSD uses%0acsh as standard shell interpreter, int this guide we prefer the bash shell%0aso, as root, we can give the command:%0a%0a%0a[@%0a$ doas pkg_add -v bash%0a@]%0a%0a%0aAfter the installation we can add to the system the Stell Bank Common Lisp%0ainterpreter/compiler - sbcl with:%0a%0a%0a[@%0a$ doas pkg_add -v sbcl%0a@]%0a%0a%0a!!'''Configuration for sbcl'''%0a%0aAs installed, sbcl is already working with its default configuration which are%0aspecified in its \*features\* global variable, for example, let's run sbcl:%0a%0a[@%0a$ sbcl%0a@]%0a%0athe system responds with:%0a%0a[@%0aThis is SBCL 2.3.8.openbsd.sbcl-2.3.8, an implementation of ANSI Common Lisp.%0aMore information about SBCL is available at %3chttp://www.sbcl.org/>.%0aSBCL is free software, provided as is, with absolutely no warranty.%0aIt is mostly in the public domain; some portions are provided under%0aBSD-style licenses.  See the CREDITS and COPYING files in the%0adistribution for more information.%0a*%0a@]%0a%0aOr with a very similar message, informing us that the interpreter is ready and%0ait is waiting for a command to be entered at the REPL prompt "*".%0a%0aREPL stands for Read, Eval and Print Loop: a way to interact with a user.%0aAt first the informations entered after the prompt are read, then evaluated%0aby the sbcl interpreter and a result is always printed/returned back to the%0auser. The cycle continues with the interpreter waiting for the user to enter%0ainformations again.  At this point we would like to see some configurations/characteristics%0aof this particular version of the interpreter, so we enter:%0a%0a[@%0a* *features*%0a(:ARENA-ALLOCATOR :X86-64 :GENCGC :64-BIT :ANSI-CL :BSD :COMMON-LISP :ELF%0a :IEEE-FLOATING-POINT :LITTLE-ENDIAN :OPENBSD :PACKAGE-LOCAL-NICKNAMES%0a :SB-CORE-COMPRESSION :SB-LDB :SB-PACKAGE-LOCKS :SB-THREAD :SB-UNICODE :SBCL%0a :UNIX)%0a@]%0a%0a!!'''Installing quicklisp'''%0a%0aLet's quit the interpreter and continue installing other software that we will%0ause to make a Common Lisp development environment, the editor. We choose emacs%0awhich is, among other things, programmed largely in Lisp, it has inside it a%0aCommon Lisp interpreter which is used to perform operation on text as well as%0aconfigurations:%0a%0a[@%0a$ doas pkg_add -v emacs%0a@]%0a%0aAt this point the installer can ask us to choose among different version of%0aemacs. Choose the one is best with your desktop environment or, if you like%0ainstall the version with no desktop support at all, you can still use it from%0athe console or terminal with no great difference from the desktop version.%0aAlso emacs has got is own configuration which is accessible with the program%0ainterface or modifying a file in the home directory.  We will see how to%0aachieve that in the following paragraph, by now let's install the quicklisp%0acommon lisp library system.  This is a completely written in Common Lisp%0apiece of software, which make the user capable of handling projects related%0ato Common Lisp itself, we will use it to let our software use already written%0alibraries.  To install quicklisp we have to download the quicklisp installer%0afrom the site [[https://beta.quicklisp.org]].  We use curl to do that, so:%0a%0a[@%0a$ doas pkg_add -v curl%0a@]%0a%0aproceed to retrieve the quicklisp library:%0a%0a[@%0a$ curl -O https://beta.quicklisp.org/quicklisp.lisp%0a@]%0a%0aand the library file signature to check its authenticity:%0a%0a[@%0a$ curl -O https://beta.quicklisp.org/quicklisp.lisp.asc%0a@]%0a%0athen we check the signature of the downloaded file:%0a%0a[@%0a$ gpg --verify quicklisp.lisp.asc quicklisp.lisp%0agpg: Signature made Sat Feb  1 09:25:28 2014 EST using RSA key ID 028B5FF7%0agpg: Good signature from "Quicklisp Release Signing Key "%0a@]%0a%0aThe downloaded file is then usable to install the quicklisp library manager. At%0aThis point we face two main choices: we can install the library manager only%0afor the user or system-wide.  We assume for now that the installation is%0alimited to one user, so we can proceed as follows:%0a%0a[@%0a%0a$ sbcl --load quicklisp.lisp%0aThis is SBCL 2.3.8.openbsd.sbcl-2.3.8, an implementation of ANSI Common Lisp.%0aMore information about SBCL is available at %3chttp://www.sbcl.org/>.%0a%0aSBCL is free software, provided as is, with absolutely no warranty.%0aIt is mostly in the public domain; some portions are provided under%0aBSD-style licenses.  See the CREDITS and COPYING files in the%0adistribution for more information.%0a%0a==== quicklisp quickstart 2015-01-28 loaded ====%0a%0a  To continue with installation, evaluate: (quicklisp-quickstart:install)%0a%0a  For installation options, evaluate: (quicklisp-quickstart:help)%0a%0a*%0a@]%0a%0aAt this point we can proceed to install the library:%0a%0a[@%0a* (quicklisp-quickstart:install)%0a...%0a==== quicklisp installed ====%0a%0a  To load a system, use: (ql:quickload "system-name")%0a%0a  To find systems, use: (ql:system-apropos "term")%0a%0a  To load Quicklisp every time you start Lisp, use: (ql:add-to-init-file)%0a%0a  For more information, see http://www.quicklisp.org/beta/%0a%0aT%0a*%0a@]%0a%0aTo use the library with the sbcl REPL we must instruct sbcl itself to load a%0aconfiguration batch file called .sbclrc which resides in the user home.%0aQuicklisp can do that for us as stated in the message above, in fact let's%0aissue the form in the REPL:%0a%0a[@%0a* (ql:add-to-init-file)%0aI will append the following lines to #P"/home/user/.sbclrc":%0a%0a;;; The following lines added by ql:add-to-init-file:%0a#-quicklisp%0a(let ((quicklisp-init #P"/home/user/quicklisp/setup.lisp"))%0a  (when (probe-file quicklisp-init)%0a    (load quicklisp-init)))%0a%0aPress Enter to continue.%0a%0a#P"/home/user/.sbclrc"%0a* (quit)%0a$%0a@]%0a%0aTo return to the shell prompt, we can check that the following code is then%0awritten in the .sbclrc file:%0a%0a[@%0a$ cat ~/.sbclrc%0a;;; The following lines added by ql:add-to-init-file:%0a#-quicklisp%0a(let ((quicklisp-init #P"/home/user/quicklisp/setup.lisp"))%0a  (when (probe-file quicklisp-init)%0a    (load quicklisp-init)))%0a@]%0a%0a.sbclrc is the file which is read and evaluated from sbcl before entering the%0aREPL, we can place configuration code for sbcl in there.  For example we want%0asbcl and quicklisp to include our personal Common Lisp projects repository%0awhich is, for example, in ~/Development/lisp directory.  So we add the%0afollowing code at the end of .sbclrc:%0a%0a[@%0a(defun setup-registry (directory-path)%0a  (format t "; adding components under ~A to asdf registry~%25" directory-path)%0a  (mapc (lambda (asd-pathname)%0a          (pushnew (make-pathname :name nil%0a	                          :type nil%0a	        		  :version nil%0a			          :defaults asd-pathname)%0a                   asdf:*central-registry*%0a	           :test #'equal))%0a	  (directory (merge-pathnames #p"**/*.asd" directory-path))))%0a%0a(setup-registry (merge-pathnames #p"Development/lisp/" (user-homedir-pathname)))%0a@]%0a%0aLet's see what happens when we launch sbcl:%0a%0a[@%0a$ sbcl%0aThis is SBCL 2.3.8.openbsd.sbcl-2.3.8, an implementation of ANSI Common Lisp.%0aMore information about SBCL is available at %3chttp://www.sbcl.org/>.%0a%0aSBCL is free software, provided as is, with absolutely no warranty.%0aIt is mostly in the public domain; some portions are provided under%0aBSD-style licenses.  See the CREDITS and COPYING files in the%0adistribution for more information.%0a; adding components under /home/angel/Development/lisp/ to asdf registry%0a*%0a@]%0a%0aNow let's check what happened to the \*features\*:%0a%0a[@%0a* *features*%0a(:QUICKLISP :ASDF3.3 :ASDF3.2 :ASDF3.1 :ASDF3 :ASDF2 :ASDF :OS-UNIX%0a :NON-BASE-CHARS-EXIST-P :ASDF-UNICODE :ARENA-ALLOCATOR :X86-64 :GENCGC :64-BIT%0a :ANSI-CL :BSD :COMMON-LISP :ELF :IEEE-FLOATING-POINT :LITTLE-ENDIAN :OPENBSD%0a :PACKAGE-LOCAL-NICKNAMES :SB-CORE-COMPRESSION :SB-LDB :SB-PACKAGE-LOCKS%0a :SB-THREAD :SB-UNICODE :SBCL :UNIX)%0a*%0a@]%0a%0a!!'''Configuration for emacs'''%0a%0aQuicklisp library added more features to the basic sbcl behaviour especially%0arelated to ASDF.  Now let's configure emacs to allow us to have a REPL inside%0aa window:%0a%0a[@%0a$ sbcl%0a...%0a* (ql:quickload :quicklisp-slime-helper)%0a  To load "quicklisp-slime-helper":%0a    Load 1 ASDF system:%0a    quicklisp-slime-helper%0a; Loading "quicklisp-slime-helper"%0a[package swank-loader]............................%0a[package quicklisp-slime-helper]%0aslime-helper.el installed in "/home/user/quicklisp/slime-helper.el"%0a%0aTo use, add this to your ~/.emacs:%0a%0a (load (expand-file-name "/home/user/quicklisp/slime-helper.el"))%0a ;; Replace "sbcl" with the path to your implementation%0a (setq inferior-lisp-program "sbcl")%0a%0a%0a(:QUICKLISP-SLIME-HELPER)%0a*%0a@]%0a%0aTo add the code showed by the message before we shall open ~/.emacs which is%0ain turn the configuration file for emacs and add the lines:%0a%0a[@%0a(load (expand-file-name "/home/user/quicklisp/slime-helper.el"))%0a;; Replace "sbcl" with the path to your implementation%0a(setq inferior-lisp-program "sbcl")%0a@]%0a%0aonce the .emacs file is edited we can launch emacs and we have the window:%0a%0aAttach:emacs-001.png%0a%0awe start SLIME by pressing the key Alt and x on the keyboard, emacs will let us%0aenter a command:%0a%0aAttach:emacs-002.png%0a%0awe enter the command "slime" at the "M-x" prompt:%0a%0aAttach:emacs-003.png%0a%0aand press the enter key on the keyboard.  The SLIME REPL appears:%0a%0aAttach:emacs-004.png%0a%0aLet's see what are the \*features\* now using the SLIME REPL:%0a%0aAttach:emacs-005.png%0a%0aWe can try to load a package "antik", and then:%0a%0a[@%0aCL-USER> (ql:quickload :antik)%0a...%0a(:ANTIK)%0aCL-USER>%0a@]%0a%0aantik provides some useful constants and standard quantities handling in%0ascientific calculations such as:%0a%0a[@%0aCL-USER> antik:+days-per-month+%0a30%0aCL-USER>%0a@]%0a%0a----%0a%0a!'''Hunchentoot basic application'''%0a%0a!!'''Hunchentoot installation'''%0a%0aUsing SLIME the Superior Lisp Interaction Mode for Emacs%0a([[https://slime.common-lisp.dev]]), we enter the form:%0a%0a[@%0aCL-USER> (ql:quickload :hunchentoot)%0aTo load "hunchentoot":%0aLoad 1 ASDF system:%0a  hunchentoot%0a; Loading "hunchentoot"%0a.%0a(:HUNCHENTOOT)%0aCL-USER>%0a@]%0a%0aDocumentation for the hunchentoot server is at%0a[[https://edicl.github.io/hunchentoot]].  In this example we used the SSL%0alibrary to deploy an SSL enabled webserver, thus we have to create a self%0asigned certificate to run the server.  Following these hints let you create%0awhat needed for the server.  First of all let's install the openssl library and%0atools:%0a%0a[@%0a$ doas pkg_add -v openssl%0a@]%0a%0awe choose 1: openssl-3.1.3, after the installation we issue the command%0a%0a[@%0a $ openssl version%0aLibreSSL 3.8.2%0a$%0a@]%0a%0athis means the library is correctly installed and ready to be used to create%0aour certificate and key:%0a%0a[@%0a$ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ~/selfsigned.key -out ~/selfsigned.crt%0a........................................................%0a.........................................................................................................................................%0awriting new private key to '/home/angel/selfsigned.key'%0a-----%0aYou are about to be asked to enter information that will be incorporated%0ainto your certificate request.%0aWhat you are about to enter is what is called a Distinguished Name or a DN.%0aThere are quite a few fields but you can leave some blank%0aFor some fields there will be a default value,%0aIf you enter '.', the field will be left blank.%0a-----%0aCountry Name (2 letter code) []:IT%0aState or Province Name (full name) []:Italy%0aLocality Name (eg, city) []:Rome%0aOrganization Name (eg, company) []:Antani S.r.l.%0aOrganizational Unit Name (eg, section) []:R&D%0aCommon Name (eg, fully qualified host name) []:antani.it%0aEmail Address []:antani@antani.it%0a$%0a@]%0a%0aLet's create .pem files to use in clients transactions with the server:%0a%0a[@%0a$ openssl x509 -in ~/selfsigned.crt -out ~/selfsigned-crt.pem -outform PEM%0a$ openssl rsa -in selfsigned.key -text > selfsigned-key.pem%0awriting RSA key%0a$%0a@]%0a%0aso we finally have:%0a%0a[@%0a$ ls ~/selfsigned*%0a/home/user/selfsigned-crt.pem   /home/user/selfsigned-key.pem   /home/user/selfsigned.crt       /home/user/selfsigned.key%0a$%0a@]%0a%0awe can directly use the .pem files to run our test SSL-based webserver.  Those%0afiles have to be moved inside our Common Lisp project directory, which at this%0atime is non-existent.%0a%0a!!'''Project creation and configuration'''%0a%0aTo create an empty project skeleton we have to use%0aanother useful quicklisp library: quickproject, so let's return to the SLIME%0aREPL prompt on emacs and enter the form.\\%0a%0aA form is something enclosed in "(" and ")" pair, it is the way the Common%0aLisp interpreter understand the commands and data entered via the REPL.%0aIn the same way, Common Lisp programs are composed by forms which may%0acontains other forms as well.  There are other objects that can be entered%0ain the REPL and evaluated, they are: numbers, symbols, keywords, strings,%0acharacters, t and nil.  Those objects it said that evaluate to themselves.%0a%0a[@%0aCL-USER> (ql:quickload :quickproject)%0aTo load "quickproject":%0aLoad 1 ASDF system:%0a  quickproject%0a; Loading "quickproject"%0a[package html-template]...........................%0a[package quickproject].%0a(:QUICKPROJECT)%0aCL-USER>%0a@]%0a%0aWe are ready to create a skeleton project and hack it to perform the required%0atask.  Just enter:%0a%0a[@%0aCL-USER> (quickproject:make-project #p"/home/user/Development/lisp/test-hunchentoot"%0a                                    :depends-on '(#:cl-fad%0a		                                  #:cl-who%0a			                          #:cl+ssl%0a						  #:ironclad%0a						  #:lass%0a						  #:parenscript%0a						  #:hunchentoot%0a						  #:bordeaux-threads%0a						  #:simple-date-time)%0a				     :author "antani %3cantani@antani.it>"%0a				     :license "BSD")%0aWARNING:%0a   Coercing #p"/home/user/Development/lisp/test-hunchentoot" to directory%0a"test-hunchentoot"%0aCL-USER>%0a@]%0a%0aThe project is then created following the path%0a/home/user/Development/lisp/test-hunchentoot.  We can check that issuing from%0athe shell:%0a%0a[@%0a$ ls ~/Development/lisp%0atest-hunchentoot%0a@]%0a%0aand then:%0a%0a[@%0a$ ls ~/Development/lisp/test-hunchentoot%0aREADME.md                 package.lisp              test-hunchentoot.asd      test-hunchentoot.lisp%0a$%0a@]%0a%0aFor a small project we can leave this layout as it is, but since we do not know%0athe future development of the project, one can follow this example or feel free%0ato reshape the project layout as it fits the purpose:%0a%0a[@%0a$ cd ~/Development/lisp/test-hunchentoot%0a$ mkdir sources scripts docs%0a$ mv *.lisp sources/%0a$ ls%0aREADME.md                 docs                      scripts                   sources                   test-hunchentoot.asd%0a$%0a@]%0a%0aSo we leave .lisp files inside the sources/ directory and the system files on%0athe project root directory.  Now let's see what is inside the files created%0aby quickproject, just pick test-hunchentoot.asd using emacs menu "File", then%0a"Open File..." and choose the correct file navigating the user home directory:%0a%0a[@%0a;;;; test-hunchentoot.asd%0a%0a(asdf:defsystem #:testina-hunchentoot%0a  :description "Describe test-hunchentoot here"%0a  :author "antani %3cantani@antani.it>"%0a  :license  "BSD"%0a  :version "0.0.1"%0a  :serial t%0a  :depends-on (#:cl-fad #:cl-who #:cl+ssl #:ironclad #:lass #:parenscript #:hunchentoot #:bordeaux-threads #:simple-date-time)%0a  :components ((:file "package")%0a               (:file "testina-hunchentoot")))%0a@]%0a%0aWe created a PEM certificate and a key, we can move them inside the project directory with:%0a%0a[@%0a$ mv ~/selfsigned-crt.pem ~/Development/lisp/test-hunchentoot/scripts/%0a$ mv ~/selfsigned-key.pem ~/Development/lisp/test-hunchentoot/scripts/%0a$%0a@]%0a%0aSo we can reference them starting from the hunchentoot server document root%0adirectory.  Before entering the application programming phase, we want to%0aadd legal notices (license) to the project files.  We follow this convention:%0aevery file containing code related to system definitions and packaging will be%0amarked with a license text, here an example test-hunchentoot.asd file in which%0athe test-hunchentoot system is defined:%0a%0a[@%0a;;;;***************************************************************************%0a;;;; test-hunchentoot.asd%0a;;;;%0a;;;; Copyright 2023 Antani %3cantani@antani.it>%0a;;;;%0a;;;; Redistribution and use in source and binary forms, with or without%0a;;;; modification, are permitted provided that the following conditions are met:%0a;;;;%0a;;;;     1. Redistributions of source code must retain the above copyright notice,%0a;;;;        this list of conditions and the following disclaimer.%0a;;;;%0a;;;;     2. Redistributions in binary form must reproduce the above copyright%0a;;;;        notice, this list of conditions and the following disclaimer in the%0a;;;;        documentation and/or other materials provided with the distribution.%0a;;;;%0a;;;;     3. Neither the name of the copyright holder nor the names of its%0a;;;;        contributors may be used to endorse or promote products derived from%0a;;;;        this software without specific prior written permission.%0a;;;;%0a;;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND%0a;;;; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED%0a;;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE%0a;;;; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE%0a;;;; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL%0a;;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR%0a;;;; SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER%0a;;;; CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,%0a;;;; OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE%0a;;;; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.%0a;;;;***************************************************************************%0a%0a(asdf:defsystem #:test-hunchentoot%0a  :description "Test hunchentoot server (SSL version)."%0a  :author "Antani %3cantani@antani.it>"%0a  :license "BSD"%0a  :depends-on (#:cl-fad%0a               #:cl-who%0a	       #:cl+ssl%0a	       #:ironclad%0a	       #:lass%0a	       #:parenscript%0a	       #:hunchentoot%0a	       #:bordeaux-threads%0a	       #:simple-date-time)%0a  :serial t%0a  :components ((:file "sources/package")%0a               (:file "sources/parameters")%0a	       (:file "sources/system")%0a	       (:file "sources/test-hunchentoot")))%0a%0a;; End of file test-hunchentoot.asd%0a@]%0a%0aTo automate the process of inserting this license text, we can create a text%0afile and insert it in the source file we want to modify, for example let's call%0ait LICENSE:%0a%0a[@%0a;;;; Copyright 2023 Antani %3cantani@antani.it>%0a;;;;%0a;;;; Redistribution and use in source and binary forms, with or without%0a;;;; modification, are permitted provided that the following conditions are met:%0a;;;;%0a;;;;     1. Redistributions of source code must retain the above copyright notice,%0a;;;;        this list of conditions and the following disclaimer.%0a;;;;%0a;;;;     2. Redistributions in binary form must reproduce the above copyright%0a;;;;        notice, this list of conditions and the following disclaimer in the%0a;;;;        documentation and/or other materials provided with the distribution.%0a;;;;%0a;;;;     3. Neither the name of the copyright holder nor the names of its%0a;;;;        contributors may be used to endorse or promote products derived from%0a;;;;        this software without specific prior written permission.%0a;;;;%0a;;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND%0a;;;; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED%0a;;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE%0a;;;; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE%0a;;;; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL%0a;;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR%0a;;;; SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER%0a;;;; CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,%0a;;;; OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE%0a;;;; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.%0a;;;;***************************************************************************%0a@]%0a%0aso a source code file related to packaging and system definitions will have%0athis shape:%0a%0a* a comment containing emacs configurations and mode for the file;%0a* a separator;%0a* the name of the file itself;%0a* a separator;%0a* the licensing information;%0a* a separator;%0a* source code;%0a* an end of file comment.%0a%0aOther source code files, instead will have this shape:%0a%0a* a comment containing emacs configurations and mode for the file;%0a* a separator;%0a* the file name;%0a* a description of the file contents;%0a* a separator;%0a* source code;%0a* an end of file comment.%0a%0aWe remind you that in Common Lisp comments always begin with ";" until the end%0aof the line.  There are some conventions on the use of ";" itself.  The%0afollowing rules are taken from "Google Common Lisp Style Guide" at%0a[[https://google.github.io/styleguide/lispguide.xml]]%0a%0a* File headers and important comments that apply to large sections of code in a source file should begin with four semicolons.%0a* You should use three semicolons to begin comments that apply to just one top-level form or small group of top-level forms.%0a* Inside a top-level form, you should use two semicolons to begin a comment if it appears between lines.%0a* You should use one semicolon if it is a parenthetical remark and occurs at the end of a line. You should use spaces to separate the comment from the code it refers to so the comment stands out. You should try to vertically align consecutive related end-of-line comments.%0a%0aThe complete project would appear as follows:%0a%0a[@%0a$ tree%0a.%0a|-- LICENCE%0a|-- README%0a|-- scripts%0a|   |-- run-webserver.sh%0a|   |-- selfsigned-crt.pem%0a|   `-- selfsigned-key.pem%0a|-- sources%0a|   |-- package.lisp%0a|   |-- parameters.lisp%0a|   |-- system.lisp%0a|   `-- test-hunchentoot.lisp%0a`-- test-hunchentoot.asd%0a%0a2 directories, 10 files%0a$%0a@]%0a%0aFile are listed as follows.  For the package.lisp file in sources/:%0a%0a[@%0a;;;; -*- mode: common-lisp-mode; electric-indent-mode: t; coding: utf-8 -*-%0a;;;;***************************************************************************%0a;;;; package.lisp%0a;;;;***************************************************************************%0a;;;; Copyright 2023 Antani %3cantani@antani.it>%0a;;;;%0a;;;; Redistribution and use in source and binary forms, with or without%0a;;;; modification, are permitted provided that the following conditions are met:%0a;;;;%0a;;;;     1. Redistributions of source code must retain the above copyright notice,%0a;;;;        this list of conditions and the following disclaimer.%0a;;;;%0a;;;;     2. Redistributions in binary form must reproduce the above copyright%0a;;;;        notice, this list of conditions and the following disclaimer in the%0a;;;;        documentation and/or other materials provided with the distribution.%0a;;;;%0a;;;;     3. Neither the name of the copyright holder nor the names of its%0a;;;;        contributors may be used to endorse or promote products derived from%0a;;;;        this software without specific prior written permission.%0a;;;;%0a;;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND%0a;;;; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED%0a;;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE%0a;;;; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE%0a;;;; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL%0a;;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR%0a;;;; SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER%0a;;;; CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,%0a;;;; OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE%0a;;;; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.%0a;;;;***************************************************************************%0a%0a(defpackage #:test-hunchentoot%0a  (:use #:cl)%0a  (:export #:start-web-server%0a           #:stop-web-server))%0a%0a;;;; End of file package.lisp%0a@]%0a%0aFor the parameters.lisp file in sources/:%0a%0a[@%0a;;;; -*- mode: common-lisp-mode; electric-indent-mode: t; coding: utf-8 -*-%0a;;;;***************************************************************************%0a;;;; parameters.lisp%0a;;;;***************************************************************************%0a;;;; Parameters and variables definitions for the project test-hunchentoot.%0a;;;;***************************************************************************%0a%0a(in-package #:test-hunchentoot)%0a%0a;;;; Parameters.%0a(defparameter *ssl-acceptor* nil)%0a(defparameter *default-document-root-directory-pathname* (cl-fad:merge-pathnames-as-directory (user-homedir-pathname) #p"Development/lisp/test-hunchentoot/"))%0a(defparameter *default-ssl-private-key-file-pathname* (cl-fad:merge-pathnames-as-file (user-homedir-pathname) #p"Development/lisp/test-hunchentoot/scripts/selfsigned-key.pem"))%0a(defparameter *default-ssl-certificate-file-pathname* (cl-fad:merge-pathnames-as-file (user-homedir-pathname) #p"Development/lisp/test-hunchentoot/scripts/selfsigned-crt.pem"))%0a(defparameter *default-port* 4242)%0a(defparameter *default-ssl-port* 9443)%0a(defparameter *port* 4242)%0a(defparameter *ssl-port* 9443)%0a(defparameter *default-start-page-reload-timeout* 0)%0a(defparameter *default-info-email* "antani@antani.it")%0a(defparameter *fruits* '(apple pear banana orange avocado pineapple peach plum))%0a%0a;;;; End of file parameters.lisp%0a@]%0a%0aFor the system.lisp file in sources/:%0a%0a[@%0a;;;; -*- mode: common-lisp-mode; electric-indent-mode: t; coding: utf-8 -*-%0a;;;;***************************************************************************%0a;;;; system.lisp%0a;;;;***************************************************************************%0a;;;; Provide data structures and classes definitions for the project%0a;;;; test-hunchentoot.%0a;;;;***************************************************************************%0a%0a(in-package #:test-hunchentoot)%0a%0a;; System class.%0a(defclass system-class ()%0a  ((acceptor :initarg :acceptor :accessor acceptor :initform nil)%0a   (ssl-acceptor :initarg :ssl-acceptor :accessor ssl-acceptor :initform nil)%0a   (lock-object :initarg :lock-object :accessor lock-object :initform nil)%0a   (condition-object :initarg :condition-object :accessor condition-object :initform nil)))%0a%0a;; functions.%0a%0a(defun make-system (&rest parameters &key (acceptor nil acceptor-p) (ssl-acceptor nil ssl-acceptor-p) (lock-object nil lock-object-p) (condition-object nil condition-object-p))%0a  "Create an instance of the system-class."%0a  (declare (ignorable parameters%0a                      acceptor%0a                      ssl-acceptor%0a		      lock-object%0a		      condition-object))%0a  (make-instance 'system-class%0a                 :acceptor acceptor%0a                 :ssl-acceptor ssl-acceptor%0a		 :lock-object lock-object%0a	         :condition-object condition-object))%0a%0a;;;; End of file system.lisp%0a@]%0a%0aFor the test-hunchentoot.lisp file in sources/:%0a%0a[@%0a;;;; -*- mode: common-lisp-mode; electric-indent-mode: t; coding: utf-8 -*-%0a;;;;***************************************************************************%0a;;;; test-hunchentoot.lisp%0a;;;;***************************************************************************%0a;;;; This file contains all the functions for the test-hunchentoot project.%0a;;;;***************************************************************************%0a;;;;%0a%0a(in-package #:test-hunchentoot)%0a%0a;; "test-hunchentoot" goes here. Hacks and glory await!%0a;; Initial setup for javascript environment%0a(eval-when (:compile-toplevel :execute)%0a  (setq cl-who:*attribute-quote-char* #\"%0a        ps:*js-string-delimiter* #\"))%0a%0a;; Methods.%0a(defmethod hunchentoot:acceptor-dispatch-request ((vhost system-class) request)%0a  (mapc (lambda (dispatcher)%0a          (let ((handler (funcall dispatcher request)))%0a            (when handler%0a              (return-from hunchentoot:acceptor-dispatch-request (funcall handler)))))%0a        (dispatch-table vhost))%0a  (call-next-method))%0a%0a(defmethod start-web-server ((object system-class) &rest parameters &key %0a                                                                      (document-root-directory-pathname *default-document-root-directory-pathname* document-root-directory-pathname-p)%0a	                                                              (ssl-private-key-file-pathname *default-ssl-private-key-file-pathname* ssl-private-key-file-pathname-p)%0a	                                                              (ssl-certificate-file-pathname *default-ssl-certificate-file-pathname* ssl-certificate-file-pathname-p)%0a	                                                              (address "localhost" address-p)%0a                                                                      (port *default-port* port-p)%0a	                                                              (ssl-port *default-ssl-port* ssl-port-p)%0a                                                                      (page-reload-timeout *default-start-page-reload-timeout* page-reload-timeout-p)%0a                                                                      (verbose nil))%0a  "Configure and start the hunchentoot webserver."%0a  (declare (ignorable parameters%0a                      document-root-directory-pathname%0a	              ssl-private-key-file-pathname%0a		      ssl-certificate-file-pathname%0a		      address%0a		      port%0a		      ssl-port%0a	              page-reload-timeout%0a		      verbose))%0a  (when document-root-directory-pathname-p%0a    (check-type document-root-directory-pathname pathname)%0a    (assert (cl-fad:directory-exists-p document-root-directory-pathname)))%0a  (when ssl-private-key-file-pathname-p%0a    (check-type ssl-private-key-file-pathname pathname)%0a    (assert (cl-fad:file-exists-p ssl-private-key-file-pathname)))%0a  (when ssl-certificate-file-pathname-p%0a    (check-type ssl-certificate-file-pathname pathname)%0a    (assert (cl-fad:file-exists-p ssl-certificate-file-pathname)))%0a  (when address-p%0a    (check-type address string))%0a  (when port-p%0a    (check-type port (unsigned-byte 16)))%0a  (when ssl-port-p%0a    (check-type ssl-port (unsigned-byte 16)))%0a  (when (and port-p ssl-port-p)%0a    (assert (/= port ssl-port)))%0a  (when page-reload-timeout-p%0a    (check-type page-reload-timeout (unsigned-byte 16)))%0a  ;;%0a  (setq *random-state* (make-random-state t))%0a  (unwind-protect%0a      (let* ((hunchentoot:*log-lisp-errors-p* t)%0a             (hunchentoot:*log-lisp-warnings-p* t)%0a	     (hunchentoot:*catch-errors-p* nil)%0a             (stdin (sb-sys:make-fd-stream 0%0a		                           :input t%0a					   :buffering :full%0a					   :element-type '(unsigned-byte 8)))%0a	     (cl+ssl:make-ssl-client-stream (cl+ssl:stream-fd stdin)))%0a        (setf (lock-object object) (bt:make-lock (symbol-name (gensym "webserver-lock-"))))%0a	(setf (condition-object object) (bt:make-condition-variable :name (symbol-name (gensym "webserver-condition-"))))%0a	;; Server setup and start%0a	(setf (ssl-acceptor object) (make-instance 'hunchentoot:easy-ssl-acceptor%0a	                                           :name 'ssl-acceptor%0a				                   :ssl-privatekey-file ssl-private-key-file-pathname%0a						   :ssl-certificate-file ssl-certificate-file-pathname%0a						   :address address%0a						   :port ssl-port%0a						   :document-root document-root-directory-pathname))%0a        (hunchentoot:start (ssl-acceptor object))%0a	(setq *ssl-acceptor* (ssl-acceptor object))%0a	(when verbose%0a	  (format *standard-output*%0a	          "~%25;; Starting SSL Web Server on port ~a.~%25~%25" ssl-port)%0a	  (format *standard-output*%0a	          ";; Certificate pathname ~s.~%25" ssl-certificate-file-pathname)%0a	  (format *standard-output*%0a	          ";; Private key pathname ~s.~%25~%25" ssl-private-key-file-pathname)%0a	  (finish-output *standard-output*))%0a	(setq hunchentoot:*dispatch-table* (list 'hunchentoot:dispatch-easy-handlers))%0a	(loop%0a	    named wait-loop%0a	    do%0a	      (handler-case%0a	          (progn%0a		    (bt:with-lock-held ((lock-object object))%0a		      (bt:condition-wait (condition-object object)%0a		                         (lock-object object)))%0a		    (return-from wait-loop))%0a		(hunchentoot:hunchentoot-error (he)%0a		  (format *standard-output* "~s~%25" he)%0a		  (finish-output *standard-output*))%0a		(error (e)%0a		  (format *standard-output* "~s~%25" e)%0a		  (finish-output *standard-output*)%0a		  (return-from wait-loop))%0a		(warning (w)%0a		  (format *standard-output* "~s~%25" w)%0a		  (finish-output *standard-output*)))))%0a    ;; unwind-protect cleanup form.%0a    (progn%0a      (when verbose%0a        (format *standard-output* ";; Shutting down webserver.~%25")%0a	(finish-output *standard-output*))%0a      (stop-web-server object :verbose t))))%0a%0a(defmethod stop-web-server ((object system-class) &rest parameters &key (verbose nil))%0a  "Stop the hunchentoot webserver."%0a  (declare (ignorable parameters verbose))%0a  (when (ssl-acceptor object)%0a    (hunchentoot:stop (ssl-acceptor object))%0a    (setq *ssl-acceptor* nil)%0a    (when verbose%0a      (format *standard-output*%0a              "~%25;; Stopping SSL Web Server.~%25~%25")%0a      (finish-output *standard-output*)))%0a  (bt:condition-notify (condition-object object)))%0a%0a;; Functions.%0a(defun remove-nth (index object)%0a  "remove the nth element from the list."%0a   (remove-if (constantly t)%0a              object%0a	      :start index%0a	      :count 1))%0a%0a;; Hunchentoot html stuffs.%0a(hunchentoot:define-easy-handler (main-page :uri "/") ()%0a  "The main page handler for http request."%0a  (hunchentoot:redirect "/index"))%0a%0a(hunchentoot:define-easy-handler (index-page :uri "/index") ()%0a  "The /index page handler for http request."%0a  (let ((temporary-fruits *fruits*)%0a        (i nil))%0a    (cl-who:with-html-output-to-string (s)%0a      (cl-who:htm%0a        (:html%0a	  (:h1 "This is an example of dynamic list:")%0a	  (:br)%0a	  (:ul%0a	    (loop%0a	        while (> (length temporary-fruits) 0)%0a		do%0a		  (setq i (random (length temporary-fruits)))%0a		  (cl-who:htm%0a		    (:li (cl-who:str (nth i temporary-fruits))))%0a		  (setq temporary-fruits (remove-nth i temporary-fruits)))))))))%0a%0a;; Start at quickload.%0a(start-web-server (make-system)%0a                  :ssl-port *default-ssl-port*%0a                  :verbose t)%0a%0a;;;; End of file test-hunchentoot.lisp%0a@]%0a%0a%0aThe file run-webserver.sh is a bash script to launch the webserver without use %0aemacs SLIME or sbcl from the console, for clarity it is listed below:%0a%0a[@%0a#!/bin/bash%0a%0ainterpreter="ecl"%0aecl_program=`which ecl`%0asbcl_program=`which sbcl`%0alisp_form="(ql:quickload :test-hunchentoot)"%0a%0acase $interpreter in%0a    "ecl") if [ -x $ecl_program ]; then%0a	       nohup $ecl_program --eval "$lisp_form" > output.txt 2>&1 &%0a	   fi%0a	   ;;%0a    "sbcl") if [ -x $sbcl_program ]; then%0a		nohup $sbcl_program --eval "$lisp_form"  > output.txt 2>&1 &%0a	    fi%0a	    ;;%0aesac%0a@]%0a%0aTo test our SSL server we can connect to it using a browser on a machine connected%0aon the same LAN.  For example as in the image below:%0a%0aAttach:firefox-001.png
+time=1700855441
+author:1700855441=Posterdati
+diff:1700855441:1700855370:=1066c1066%0a%3c lisp_form="(ql:quickload :test-hunchentoot)"%0a---%0a> lisp_form="(ql:quickload :ssl-smt-webserver)"%0a
+host:1700855441=93.45.233.109
+author:1700855370=Posterdati
+diff:1700855370:1700855112:=1054,1077d1053%0a%3c @]%0a%3c %0a%3c %0a%3c The file run-webserver.sh is a bash script to launch the webserver without use %0a%3c emacs SLIME or sbcl from the console, for clarity it is listed below:%0a%3c %0a%3c [@%0a%3c #!/bin/bash%0a%3c %0a%3c interpreter="ecl"%0a%3c ecl_program=`which ecl`%0a%3c sbcl_program=`which sbcl`%0a%3c lisp_form="(ql:quickload :ssl-smt-webserver)"%0a%3c %0a%3c case $interpreter in%0a%3c     "ecl") if [ -x $ecl_program ]; then%0a%3c 	       nohup $ecl_program --eval "$lisp_form" > output.txt 2>&1 &%0a%3c 	   fi%0a%3c 	   ;;%0a%3c     "sbcl") if [ -x $sbcl_program ]; then%0a%3c 		nohup $sbcl_program --eval "$lisp_form"  > output.txt 2>&1 &%0a%3c 	    fi%0a%3c 	    ;;%0a%3c esac%0a
+host:1700855370=93.45.233.109
+author:1700855112=Posterdati
+diff:1700855112:1700855037:=20,48c20,48%0a%3c Copyright (C) 2023 Angelo Rossi %3cangelo.rossi.homelab@gmail.com>%0a%3c %0a%3c %0a%3c Redistribution and use in source and binary forms, with or without%0a%3c modification, are permitted provided that the following conditions%0a%3c are met:%0a%3c %0a%3c %0a%3c 1. Redistributions of source code must retain the above copyright%0a%3c    notice, this list of conditions and the following disclaimer.%0a%3c 2. Redistributions in binary form must reproduce the above copyright%0a%3c    notice, this list of conditions and the following disclaimer in the%0a%3c    documentation and/or other materials provided with the distribution.%0a%3c 3. Neither the name of the University nor the names of its contributors%0a%3c    may be used to endorse or promote products derived from this software%0a%3c    without specific prior written permission.%0a%3c %0a%3c %0a%3c THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND%0a%3c ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE%0a%3c IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE%0a%3c ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE%0a%3c FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL%0a%3c DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS%0a%3c OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)%0a%3c HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT%0a%3c LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY%0a%3c OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF%0a%3c SUCH DAMAGE.%0a---%0a> Copyright (C) 2023 Angelo Rossi %3cangelo.rossi.homelab@gmail.com>\\%0a> %0a> %0a> Redistribution and use in source and binary forms, with or without\\%0a> modification, are permitted provided that the following conditions\\%0a> are met:\\%0a> %0a> %0a> 1. Redistributions of source code must retain the above copyright\\%0a>    notice, this list of conditions and the following disclaimer.\\%0a> 2. Redistributions in binary form must reproduce the above copyright\\%0a>    notice, this list of conditions and the following disclaimer in the\\%0a>    documentation and/or other materials provided with the distribution.\\%0a> 3. Neither the name of the University nor the names of its contributors\\%0a>    may be used to endorse or promote products derived from this software\\%0a>    without specific prior written permission.\\%0a> %0a> %0a> THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND\\%0a> ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\\%0a> IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\\%0a> ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE\\%0a> FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\\%0a> DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\\%0a> OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\\%0a> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\\%0a> LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\\%0a> OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\\%0a> SUCH DAMAGE.\\%0a
+host:1700855112=93.45.233.109
+author:1700855037=Posterdati
+diff:1700855037:1700854665:=19d18%0a%3c [@%0a49d47%0a%3c @]%0a
+host:1700855037=93.45.233.109
+author:1700854665=Posterdati
+diff:1700854665:1700854589:=1,2d0%0a%3c ----%0a%3c %0a
+host:1700854665=93.45.233.109
+author:1700854589=Posterdati
+diff:1700854589:1700854505:=47,48d46%0a%3c ----%0a%3c %0a428,429d425%0a%3c %0a%3c ----%0a
+host:1700854589=93.45.233.109
+author:1700854505=Posterdati
+diff:1700854505:1700854464:=
+host:1700854505=93.45.233.109
+author:1700854464=Posterdati
+diff:1700854464:1700849830:=1046,1051c1046%0a%3c @]%0a%3c %0a%3c To test our SSL server we can connect to it using a browser on a machine connected%0a%3c on the same LAN.  For example as in the image below:%0a%3c %0a%3c Attach:firefox-001.png%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a
+host:1700854464=93.45.233.109
+author:1700849830=Posterdati
+csum:1700849830=OpenBSD, Common Lisp, Hunchentoot, emacs, SLIME, sbcl
+diff:1700849830:1700849780:=
+host:1700849830=93.45.233.109
+author:1700849780=Posterdati
+diff:1700849780:1700849749:=
+host:1700849780=93.45.233.109
+author:1700849749=Posterdati
+diff:1700849749:1700849198:=390,391c390,393%0a%3c Attach:emacs-001.png%0a%3c %0a---%0a> %0a> .. image:: ./images/emacs-001.png%0a> %0a> %0a395,396c397,400%0a%3c Attach:emacs-002.png%0a%3c %0a---%0a> %0a> .. image:: ./images/emacs-002.png%0a> %0a> %0a399,400c403,406%0a%3c Attach:emacs-003.png%0a%3c %0a---%0a> %0a> .. image:: ./images/emacs-003.png%0a> %0a> %0a403,404c409,412%0a%3c Attach:emacs-004.png%0a%3c %0a---%0a> %0a> .. image:: ./images/emacs-004.png%0a> %0a> %0a407,408c415,418%0a%3c Attach:emacs-005.png%0a%3c %0a---%0a> %0a> .. image:: ./images/emacs-005.png%0a> %0a> %0a886d895%0a%3c ;; "test-hunchentoot" goes here. Hacks and glory await!%0a891c900%0a%3c %0a---%0a> ;; "test-hunchentoot" goes here. Hacks and glory await!%0a900c909%0a%3c %0a---%0a> ;;%0a
+host:1700849749=93.45.233.109
+author:1700849198=Posterdati
+diff:1700849198:1700847574:=437,1055d436%0a%3c !'''Hunchentoot basic application'''%0a%3c %0a%3c !!'''Hunchentoot installation'''%0a%3c %0a%3c Using SLIME the Superior Lisp Interaction Mode for Emacs%0a%3c ([[https://slime.common-lisp.dev]]), we enter the form:%0a%3c %0a%3c [@%0a%3c CL-USER> (ql:quickload :hunchentoot)%0a%3c To load "hunchentoot":%0a%3c Load 1 ASDF system:%0a%3c   hunchentoot%0a%3c ; Loading "hunchentoot"%0a%3c .%0a%3c (:HUNCHENTOOT)%0a%3c CL-USER>%0a%3c @]%0a%3c %0a%3c Documentation for the hunchentoot server is at%0a%3c [[https://edicl.github.io/hunchentoot]].  In this example we used the SSL%0a%3c library to deploy an SSL enabled webserver, thus we have to create a self%0a%3c signed certificate to run the server.  Following these hints let you create%0a%3c what needed for the server.  First of all let's install the openssl library and%0a%3c tools:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add -v openssl%0a%3c @]%0a%3c %0a%3c we choose 1: openssl-3.1.3, after the installation we issue the command%0a%3c %0a%3c [@%0a%3c  $ openssl version%0a%3c LibreSSL 3.8.2%0a%3c $%0a%3c @]%0a%3c %0a%3c this means the library is correctly installed and ready to be used to create%0a%3c our certificate and key:%0a%3c %0a%3c [@%0a%3c $ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ~/selfsigned.key -out ~/selfsigned.crt%0a%3c ........................................................%0a%3c .........................................................................................................................................%0a%3c writing new private key to '/home/angel/selfsigned.key'%0a%3c -----%0a%3c You are about to be asked to enter information that will be incorporated%0a%3c into your certificate request.%0a%3c What you are about to enter is what is called a Distinguished Name or a DN.%0a%3c There are quite a few fields but you can leave some blank%0a%3c For some fields there will be a default value,%0a%3c If you enter '.', the field will be left blank.%0a%3c -----%0a%3c Country Name (2 letter code) []:IT%0a%3c State or Province Name (full name) []:Italy%0a%3c Locality Name (eg, city) []:Rome%0a%3c Organization Name (eg, company) []:Antani S.r.l.%0a%3c Organizational Unit Name (eg, section) []:R&D%0a%3c Common Name (eg, fully qualified host name) []:antani.it%0a%3c Email Address []:antani@antani.it%0a%3c $%0a%3c @]%0a%3c %0a%3c Let's create .pem files to use in clients transactions with the server:%0a%3c %0a%3c [@%0a%3c $ openssl x509 -in ~/selfsigned.crt -out ~/selfsigned-crt.pem -outform PEM%0a%3c $ openssl rsa -in selfsigned.key -text > selfsigned-key.pem%0a%3c writing RSA key%0a%3c $%0a%3c @]%0a%3c %0a%3c so we finally have:%0a%3c %0a%3c [@%0a%3c $ ls ~/selfsigned*%0a%3c /home/user/selfsigned-crt.pem   /home/user/selfsigned-key.pem   /home/user/selfsigned.crt       /home/user/selfsigned.key%0a%3c $%0a%3c @]%0a%3c %0a%3c we can directly use the .pem files to run our test SSL-based webserver.  Those%0a%3c files have to be moved inside our Common Lisp project directory, which at this%0a%3c time is non-existent.%0a%3c %0a%3c !!'''Project creation and configuration'''%0a%3c %0a%3c To create an empty project skeleton we have to use%0a%3c another useful quicklisp library: quickproject, so let's return to the SLIME%0a%3c REPL prompt on emacs and enter the form.\\%0a%3c %0a%3c A form is something enclosed in "(" and ")" pair, it is the way the Common%0a%3c Lisp interpreter understand the commands and data entered via the REPL.%0a%3c In the same way, Common Lisp programs are composed by forms which may%0a%3c contains other forms as well.  There are other objects that can be entered%0a%3c in the REPL and evaluated, they are: numbers, symbols, keywords, strings,%0a%3c characters, t and nil.  Those objects it said that evaluate to themselves.%0a%3c %0a%3c [@%0a%3c CL-USER> (ql:quickload :quickproject)%0a%3c To load "quickproject":%0a%3c Load 1 ASDF system:%0a%3c   quickproject%0a%3c ; Loading "quickproject"%0a%3c [package html-template]...........................%0a%3c [package quickproject].%0a%3c (:QUICKPROJECT)%0a%3c CL-USER>%0a%3c @]%0a%3c %0a%3c We are ready to create a skeleton project and hack it to perform the required%0a%3c task.  Just enter:%0a%3c %0a%3c [@%0a%3c CL-USER> (quickproject:make-project #p"/home/user/Development/lisp/test-hunchentoot"%0a%3c                                     :depends-on '(#:cl-fad%0a%3c 		                                  #:cl-who%0a%3c 			                          #:cl+ssl%0a%3c 						  #:ironclad%0a%3c 						  #:lass%0a%3c 						  #:parenscript%0a%3c 						  #:hunchentoot%0a%3c 						  #:bordeaux-threads%0a%3c 						  #:simple-date-time)%0a%3c 				     :author "antani %3cantani@antani.it>"%0a%3c 				     :license "BSD")%0a%3c WARNING:%0a%3c    Coercing #p"/home/user/Development/lisp/test-hunchentoot" to directory%0a%3c "test-hunchentoot"%0a%3c CL-USER>%0a%3c @]%0a%3c %0a%3c The project is then created following the path%0a%3c /home/user/Development/lisp/test-hunchentoot.  We can check that issuing from%0a%3c the shell:%0a%3c %0a%3c [@%0a%3c $ ls ~/Development/lisp%0a%3c test-hunchentoot%0a%3c @]%0a%3c %0a%3c and then:%0a%3c %0a%3c [@%0a%3c $ ls ~/Development/lisp/test-hunchentoot%0a%3c README.md                 package.lisp              test-hunchentoot.asd      test-hunchentoot.lisp%0a%3c $%0a%3c @]%0a%3c %0a%3c For a small project we can leave this layout as it is, but since we do not know%0a%3c the future development of the project, one can follow this example or feel free%0a%3c to reshape the project layout as it fits the purpose:%0a%3c %0a%3c [@%0a%3c $ cd ~/Development/lisp/test-hunchentoot%0a%3c $ mkdir sources scripts docs%0a%3c $ mv *.lisp sources/%0a%3c $ ls%0a%3c README.md                 docs                      scripts                   sources                   test-hunchentoot.asd%0a%3c $%0a%3c @]%0a%3c %0a%3c So we leave .lisp files inside the sources/ directory and the system files on%0a%3c the project root directory.  Now let's see what is inside the files created%0a%3c by quickproject, just pick test-hunchentoot.asd using emacs menu "File", then%0a%3c "Open File..." and choose the correct file navigating the user home directory:%0a%3c %0a%3c [@%0a%3c ;;;; test-hunchentoot.asd%0a%3c %0a%3c (asdf:defsystem #:testina-hunchentoot%0a%3c   :description "Describe test-hunchentoot here"%0a%3c   :author "antani %3cantani@antani.it>"%0a%3c   :license  "BSD"%0a%3c   :version "0.0.1"%0a%3c   :serial t%0a%3c   :depends-on (#:cl-fad #:cl-who #:cl+ssl #:ironclad #:lass #:parenscript #:hunchentoot #:bordeaux-threads #:simple-date-time)%0a%3c   :components ((:file "package")%0a%3c                (:file "testina-hunchentoot")))%0a%3c @]%0a%3c %0a%3c We created a PEM certificate and a key, we can move them inside the project directory with:%0a%3c %0a%3c [@%0a%3c $ mv ~/selfsigned-crt.pem ~/Development/lisp/test-hunchentoot/scripts/%0a%3c $ mv ~/selfsigned-key.pem ~/Development/lisp/test-hunchentoot/scripts/%0a%3c $%0a%3c @]%0a%3c %0a%3c So we can reference them starting from the hunchentoot server document root%0a%3c directory.  Before entering the application programming phase, we want to%0a%3c add legal notices (license) to the project files.  We follow this convention:%0a%3c every file containing code related to system definitions and packaging will be%0a%3c marked with a license text, here an example test-hunchentoot.asd file in which%0a%3c the test-hunchentoot system is defined:%0a%3c %0a%3c [@%0a%3c ;;;;***************************************************************************%0a%3c ;;;; test-hunchentoot.asd%0a%3c ;;;;%0a%3c ;;;; Copyright 2023 Antani %3cantani@antani.it>%0a%3c ;;;;%0a%3c ;;;; Redistribution and use in source and binary forms, with or without%0a%3c ;;;; modification, are permitted provided that the following conditions are met:%0a%3c ;;;;%0a%3c ;;;;     1. Redistributions of source code must retain the above copyright notice,%0a%3c ;;;;        this list of conditions and the following disclaimer.%0a%3c ;;;;%0a%3c ;;;;     2. Redistributions in binary form must reproduce the above copyright%0a%3c ;;;;        notice, this list of conditions and the following disclaimer in the%0a%3c ;;;;        documentation and/or other materials provided with the distribution.%0a%3c ;;;;%0a%3c ;;;;     3. Neither the name of the copyright holder nor the names of its%0a%3c ;;;;        contributors may be used to endorse or promote products derived from%0a%3c ;;;;        this software without specific prior written permission.%0a%3c ;;;;%0a%3c ;;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND%0a%3c ;;;; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED%0a%3c ;;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE%0a%3c ;;;; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE%0a%3c ;;;; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL%0a%3c ;;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR%0a%3c ;;;; SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER%0a%3c ;;;; CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,%0a%3c ;;;; OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE%0a%3c ;;;; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.%0a%3c ;;;;***************************************************************************%0a%3c %0a%3c (asdf:defsystem #:test-hunchentoot%0a%3c   :description "Test hunchentoot server (SSL version)."%0a%3c   :author "Antani %3cantani@antani.it>"%0a%3c   :license "BSD"%0a%3c   :depends-on (#:cl-fad%0a%3c                #:cl-who%0a%3c 	       #:cl+ssl%0a%3c 	       #:ironclad%0a%3c 	       #:lass%0a%3c 	       #:parenscript%0a%3c 	       #:hunchentoot%0a%3c 	       #:bordeaux-threads%0a%3c 	       #:simple-date-time)%0a%3c   :serial t%0a%3c   :components ((:file "sources/package")%0a%3c                (:file "sources/parameters")%0a%3c 	       (:file "sources/system")%0a%3c 	       (:file "sources/test-hunchentoot")))%0a%3c %0a%3c ;; End of file test-hunchentoot.asd%0a%3c @]%0a%3c %0a%3c To automate the process of inserting this license text, we can create a text%0a%3c file and insert it in the source file we want to modify, for example let's call%0a%3c it LICENSE:%0a%3c %0a%3c [@%0a%3c ;;;; Copyright 2023 Antani %3cantani@antani.it>%0a%3c ;;;;%0a%3c ;;;; Redistribution and use in source and binary forms, with or without%0a%3c ;;;; modification, are permitted provided that the following conditions are met:%0a%3c ;;;;%0a%3c ;;;;     1. Redistributions of source code must retain the above copyright notice,%0a%3c ;;;;        this list of conditions and the following disclaimer.%0a%3c ;;;;%0a%3c ;;;;     2. Redistributions in binary form must reproduce the above copyright%0a%3c ;;;;        notice, this list of conditions and the following disclaimer in the%0a%3c ;;;;        documentation and/or other materials provided with the distribution.%0a%3c ;;;;%0a%3c ;;;;     3. Neither the name of the copyright holder nor the names of its%0a%3c ;;;;        contributors may be used to endorse or promote products derived from%0a%3c ;;;;        this software without specific prior written permission.%0a%3c ;;;;%0a%3c ;;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND%0a%3c ;;;; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED%0a%3c ;;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE%0a%3c ;;;; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE%0a%3c ;;;; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL%0a%3c ;;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR%0a%3c ;;;; SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER%0a%3c ;;;; CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,%0a%3c ;;;; OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE%0a%3c ;;;; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.%0a%3c ;;;;***************************************************************************%0a%3c @]%0a%3c %0a%3c so a source code file related to packaging and system definitions will have%0a%3c this shape:%0a%3c %0a%3c * a comment containing emacs configurations and mode for the file;%0a%3c * a separator;%0a%3c * the name of the file itself;%0a%3c * a separator;%0a%3c * the licensing information;%0a%3c * a separator;%0a%3c * source code;%0a%3c * an end of file comment.%0a%3c %0a%3c Other source code files, instead will have this shape:%0a%3c %0a%3c * a comment containing emacs configurations and mode for the file;%0a%3c * a separator;%0a%3c * the file name;%0a%3c * a description of the file contents;%0a%3c * a separator;%0a%3c * source code;%0a%3c * an end of file comment.%0a%3c %0a%3c We remind you that in Common Lisp comments always begin with ";" until the end%0a%3c of the line.  There are some conventions on the use of ";" itself.  The%0a%3c following rules are taken from "Google Common Lisp Style Guide" at%0a%3c [[https://google.github.io/styleguide/lispguide.xml]]%0a%3c %0a%3c * File headers and important comments that apply to large sections of code in a source file should begin with four semicolons.%0a%3c * You should use three semicolons to begin comments that apply to just one top-level form or small group of top-level forms.%0a%3c * Inside a top-level form, you should use two semicolons to begin a comment if it appears between lines.%0a%3c * You should use one semicolon if it is a parenthetical remark and occurs at the end of a line. You should use spaces to separate the comment from the code it refers to so the comment stands out. You should try to vertically align consecutive related end-of-line comments.%0a%3c %0a%3c The complete project would appear as follows:%0a%3c %0a%3c [@%0a%3c $ tree%0a%3c .%0a%3c |-- LICENCE%0a%3c |-- README%0a%3c |-- scripts%0a%3c |   |-- run-webserver.sh%0a%3c |   |-- selfsigned-crt.pem%0a%3c |   `-- selfsigned-key.pem%0a%3c |-- sources%0a%3c |   |-- package.lisp%0a%3c |   |-- parameters.lisp%0a%3c |   |-- system.lisp%0a%3c |   `-- test-hunchentoot.lisp%0a%3c `-- test-hunchentoot.asd%0a%3c %0a%3c 2 directories, 10 files%0a%3c $%0a%3c @]%0a%3c %0a%3c File are listed as follows.  For the package.lisp file in sources/:%0a%3c %0a%3c [@%0a%3c ;;;; -*- mode: common-lisp-mode; electric-indent-mode: t; coding: utf-8 -*-%0a%3c ;;;;***************************************************************************%0a%3c ;;;; package.lisp%0a%3c ;;;;***************************************************************************%0a%3c ;;;; Copyright 2023 Antani %3cantani@antani.it>%0a%3c ;;;;%0a%3c ;;;; Redistribution and use in source and binary forms, with or without%0a%3c ;;;; modification, are permitted provided that the following conditions are met:%0a%3c ;;;;%0a%3c ;;;;     1. Redistributions of source code must retain the above copyright notice,%0a%3c ;;;;        this list of conditions and the following disclaimer.%0a%3c ;;;;%0a%3c ;;;;     2. Redistributions in binary form must reproduce the above copyright%0a%3c ;;;;        notice, this list of conditions and the following disclaimer in the%0a%3c ;;;;        documentation and/or other materials provided with the distribution.%0a%3c ;;;;%0a%3c ;;;;     3. Neither the name of the copyright holder nor the names of its%0a%3c ;;;;        contributors may be used to endorse or promote products derived from%0a%3c ;;;;        this software without specific prior written permission.%0a%3c ;;;;%0a%3c ;;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND%0a%3c ;;;; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED%0a%3c ;;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE%0a%3c ;;;; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE%0a%3c ;;;; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL%0a%3c ;;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR%0a%3c ;;;; SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER%0a%3c ;;;; CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,%0a%3c ;;;; OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE%0a%3c ;;;; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.%0a%3c ;;;;***************************************************************************%0a%3c %0a%3c (defpackage #:test-hunchentoot%0a%3c   (:use #:cl)%0a%3c   (:export #:start-web-server%0a%3c            #:stop-web-server))%0a%3c %0a%3c ;;;; End of file package.lisp%0a%3c @]%0a%3c %0a%3c For the parameters.lisp file in sources/:%0a%3c %0a%3c [@%0a%3c ;;;; -*- mode: common-lisp-mode; electric-indent-mode: t; coding: utf-8 -*-%0a%3c ;;;;***************************************************************************%0a%3c ;;;; parameters.lisp%0a%3c ;;;;***************************************************************************%0a%3c ;;;; Parameters and variables definitions for the project test-hunchentoot.%0a%3c ;;;;***************************************************************************%0a%3c %0a%3c (in-package #:test-hunchentoot)%0a%3c %0a%3c ;;;; Parameters.%0a%3c (defparameter *ssl-acceptor* nil)%0a%3c (defparameter *default-document-root-directory-pathname* (cl-fad:merge-pathnames-as-directory (user-homedir-pathname) #p"Development/lisp/test-hunchentoot/"))%0a%3c (defparameter *default-ssl-private-key-file-pathname* (cl-fad:merge-pathnames-as-file (user-homedir-pathname) #p"Development/lisp/test-hunchentoot/scripts/selfsigned-key.pem"))%0a%3c (defparameter *default-ssl-certificate-file-pathname* (cl-fad:merge-pathnames-as-file (user-homedir-pathname) #p"Development/lisp/test-hunchentoot/scripts/selfsigned-crt.pem"))%0a%3c (defparameter *default-port* 4242)%0a%3c (defparameter *default-ssl-port* 9443)%0a%3c (defparameter *port* 4242)%0a%3c (defparameter *ssl-port* 9443)%0a%3c (defparameter *default-start-page-reload-timeout* 0)%0a%3c (defparameter *default-info-email* "antani@antani.it")%0a%3c (defparameter *fruits* '(apple pear banana orange avocado pineapple peach plum))%0a%3c %0a%3c ;;;; End of file parameters.lisp%0a%3c @]%0a%3c %0a%3c For the system.lisp file in sources/:%0a%3c %0a%3c [@%0a%3c ;;;; -*- mode: common-lisp-mode; electric-indent-mode: t; coding: utf-8 -*-%0a%3c ;;;;***************************************************************************%0a%3c ;;;; system.lisp%0a%3c ;;;;***************************************************************************%0a%3c ;;;; Provide data structures and classes definitions for the project%0a%3c ;;;; test-hunchentoot.%0a%3c ;;;;***************************************************************************%0a%3c %0a%3c (in-package #:test-hunchentoot)%0a%3c %0a%3c ;; System class.%0a%3c (defclass system-class ()%0a%3c   ((acceptor :initarg :acceptor :accessor acceptor :initform nil)%0a%3c    (ssl-acceptor :initarg :ssl-acceptor :accessor ssl-acceptor :initform nil)%0a%3c    (lock-object :initarg :lock-object :accessor lock-object :initform nil)%0a%3c    (condition-object :initarg :condition-object :accessor condition-object :initform nil)))%0a%3c %0a%3c ;; functions.%0a%3c %0a%3c (defun make-system (&rest parameters &key (acceptor nil acceptor-p) (ssl-acceptor nil ssl-acceptor-p) (lock-object nil lock-object-p) (condition-object nil condition-object-p))%0a%3c   "Create an instance of the system-class."%0a%3c   (declare (ignorable parameters%0a%3c                       acceptor%0a%3c                       ssl-acceptor%0a%3c 		      lock-object%0a%3c 		      condition-object))%0a%3c   (make-instance 'system-class%0a%3c                  :acceptor acceptor%0a%3c                  :ssl-acceptor ssl-acceptor%0a%3c 		 :lock-object lock-object%0a%3c 	         :condition-object condition-object))%0a%3c %0a%3c ;;;; End of file system.lisp%0a%3c @]%0a%3c %0a%3c For the test-hunchentoot.lisp file in sources/:%0a%3c %0a%3c [@%0a%3c ;;;; -*- mode: common-lisp-mode; electric-indent-mode: t; coding: utf-8 -*-%0a%3c ;;;;***************************************************************************%0a%3c ;;;; test-hunchentoot.lisp%0a%3c ;;;;***************************************************************************%0a%3c ;;;; This file contains all the functions for the test-hunchentoot project.%0a%3c ;;;;***************************************************************************%0a%3c ;;;;%0a%3c %0a%3c (in-package #:test-hunchentoot)%0a%3c %0a%3c ;; Initial setup for javascript environment%0a%3c (eval-when (:compile-toplevel :execute)%0a%3c   (setq cl-who:*attribute-quote-char* #\"%0a%3c         ps:*js-string-delimiter* #\"))%0a%3c ;; "test-hunchentoot" goes here. Hacks and glory await!%0a%3c ;; Methods.%0a%3c (defmethod hunchentoot:acceptor-dispatch-request ((vhost system-class) request)%0a%3c   (mapc (lambda (dispatcher)%0a%3c           (let ((handler (funcall dispatcher request)))%0a%3c             (when handler%0a%3c               (return-from hunchentoot:acceptor-dispatch-request (funcall handler)))))%0a%3c         (dispatch-table vhost))%0a%3c   (call-next-method))%0a%3c ;;%0a%3c (defmethod start-web-server ((object system-class) &rest parameters &key %0a%3c                                                                       (document-root-directory-pathname *default-document-root-directory-pathname* document-root-directory-pathname-p)%0a%3c 	                                                              (ssl-private-key-file-pathname *default-ssl-private-key-file-pathname* ssl-private-key-file-pathname-p)%0a%3c 	                                                              (ssl-certificate-file-pathname *default-ssl-certificate-file-pathname* ssl-certificate-file-pathname-p)%0a%3c 	                                                              (address "localhost" address-p)%0a%3c                                                                       (port *default-port* port-p)%0a%3c 	                                                              (ssl-port *default-ssl-port* ssl-port-p)%0a%3c                                                                       (page-reload-timeout *default-start-page-reload-timeout* page-reload-timeout-p)%0a%3c                                                                       (verbose nil))%0a%3c   "Configure and start the hunchentoot webserver."%0a%3c   (declare (ignorable parameters%0a%3c                       document-root-directory-pathname%0a%3c 	              ssl-private-key-file-pathname%0a%3c 		      ssl-certificate-file-pathname%0a%3c 		      address%0a%3c 		      port%0a%3c 		      ssl-port%0a%3c 	              page-reload-timeout%0a%3c 		      verbose))%0a%3c   (when document-root-directory-pathname-p%0a%3c     (check-type document-root-directory-pathname pathname)%0a%3c     (assert (cl-fad:directory-exists-p document-root-directory-pathname)))%0a%3c   (when ssl-private-key-file-pathname-p%0a%3c     (check-type ssl-private-key-file-pathname pathname)%0a%3c     (assert (cl-fad:file-exists-p ssl-private-key-file-pathname)))%0a%3c   (when ssl-certificate-file-pathname-p%0a%3c     (check-type ssl-certificate-file-pathname pathname)%0a%3c     (assert (cl-fad:file-exists-p ssl-certificate-file-pathname)))%0a%3c   (when address-p%0a%3c     (check-type address string))%0a%3c   (when port-p%0a%3c     (check-type port (unsigned-byte 16)))%0a%3c   (when ssl-port-p%0a%3c     (check-type ssl-port (unsigned-byte 16)))%0a%3c   (when (and port-p ssl-port-p)%0a%3c     (assert (/= port ssl-port)))%0a%3c   (when page-reload-timeout-p%0a%3c     (check-type page-reload-timeout (unsigned-byte 16)))%0a%3c   ;;%0a%3c   (setq *random-state* (make-random-state t))%0a%3c   (unwind-protect%0a%3c       (let* ((hunchentoot:*log-lisp-errors-p* t)%0a%3c              (hunchentoot:*log-lisp-warnings-p* t)%0a%3c 	     (hunchentoot:*catch-errors-p* nil)%0a%3c              (stdin (sb-sys:make-fd-stream 0%0a%3c 		                           :input t%0a%3c 					   :buffering :full%0a%3c 					   :element-type '(unsigned-byte 8)))%0a%3c 	     (cl+ssl:make-ssl-client-stream (cl+ssl:stream-fd stdin)))%0a%3c         (setf (lock-object object) (bt:make-lock (symbol-name (gensym "webserver-lock-"))))%0a%3c 	(setf (condition-object object) (bt:make-condition-variable :name (symbol-name (gensym "webserver-condition-"))))%0a%3c 	;; Server setup and start%0a%3c 	(setf (ssl-acceptor object) (make-instance 'hunchentoot:easy-ssl-acceptor%0a%3c 	                                           :name 'ssl-acceptor%0a%3c 				                   :ssl-privatekey-file ssl-private-key-file-pathname%0a%3c 						   :ssl-certificate-file ssl-certificate-file-pathname%0a%3c 						   :address address%0a%3c 						   :port ssl-port%0a%3c 						   :document-root document-root-directory-pathname))%0a%3c         (hunchentoot:start (ssl-acceptor object))%0a%3c 	(setq *ssl-acceptor* (ssl-acceptor object))%0a%3c 	(when verbose%0a%3c 	  (format *standard-output*%0a%3c 	          "~%25;; Starting SSL Web Server on port ~a.~%25~%25" ssl-port)%0a%3c 	  (format *standard-output*%0a%3c 	          ";; Certificate pathname ~s.~%25" ssl-certificate-file-pathname)%0a%3c 	  (format *standard-output*%0a%3c 	          ";; Private key pathname ~s.~%25~%25" ssl-private-key-file-pathname)%0a%3c 	  (finish-output *standard-output*))%0a%3c 	(setq hunchentoot:*dispatch-table* (list 'hunchentoot:dispatch-easy-handlers))%0a%3c 	(loop%0a%3c 	    named wait-loop%0a%3c 	    do%0a%3c 	      (handler-case%0a%3c 	          (progn%0a%3c 		    (bt:with-lock-held ((lock-object object))%0a%3c 		      (bt:condition-wait (condition-object object)%0a%3c 		                         (lock-object object)))%0a%3c 		    (return-from wait-loop))%0a%3c 		(hunchentoot:hunchentoot-error (he)%0a%3c 		  (format *standard-output* "~s~%25" he)%0a%3c 		  (finish-output *standard-output*))%0a%3c 		(error (e)%0a%3c 		  (format *standard-output* "~s~%25" e)%0a%3c 		  (finish-output *standard-output*)%0a%3c 		  (return-from wait-loop))%0a%3c 		(warning (w)%0a%3c 		  (format *standard-output* "~s~%25" w)%0a%3c 		  (finish-output *standard-output*)))))%0a%3c     ;; unwind-protect cleanup form.%0a%3c     (progn%0a%3c       (when verbose%0a%3c         (format *standard-output* ";; Shutting down webserver.~%25")%0a%3c 	(finish-output *standard-output*))%0a%3c       (stop-web-server object :verbose t))))%0a%3c %0a%3c (defmethod stop-web-server ((object system-class) &rest parameters &key (verbose nil))%0a%3c   "Stop the hunchentoot webserver."%0a%3c   (declare (ignorable parameters verbose))%0a%3c   (when (ssl-acceptor object)%0a%3c     (hunchentoot:stop (ssl-acceptor object))%0a%3c     (setq *ssl-acceptor* nil)%0a%3c     (when verbose%0a%3c       (format *standard-output*%0a%3c               "~%25;; Stopping SSL Web Server.~%25~%25")%0a%3c       (finish-output *standard-output*)))%0a%3c   (bt:condition-notify (condition-object object)))%0a%3c %0a%3c ;; Functions.%0a%3c (defun remove-nth (index object)%0a%3c   "remove the nth element from the list."%0a%3c    (remove-if (constantly t)%0a%3c               object%0a%3c 	      :start index%0a%3c 	      :count 1))%0a%3c %0a%3c ;; Hunchentoot html stuffs.%0a%3c (hunchentoot:define-easy-handler (main-page :uri "/") ()%0a%3c   "The main page handler for http request."%0a%3c   (hunchentoot:redirect "/index"))%0a%3c %0a%3c (hunchentoot:define-easy-handler (index-page :uri "/index") ()%0a%3c   "The /index page handler for http request."%0a%3c   (let ((temporary-fruits *fruits*)%0a%3c         (i nil))%0a%3c     (cl-who:with-html-output-to-string (s)%0a%3c       (cl-who:htm%0a%3c         (:html%0a%3c 	  (:h1 "This is an example of dynamic list:")%0a%3c 	  (:br)%0a%3c 	  (:ul%0a%3c 	    (loop%0a%3c 	        while (> (length temporary-fruits) 0)%0a%3c 		do%0a%3c 		  (setq i (random (length temporary-fruits)))%0a%3c 		  (cl-who:htm%0a%3c 		    (:li (cl-who:str (nth i temporary-fruits))))%0a%3c 		  (setq temporary-fruits (remove-nth i temporary-fruits)))))))))%0a%3c %0a%3c ;; Start at quickload.%0a%3c (start-web-server (make-system)%0a%3c                   :ssl-port *default-ssl-port*%0a%3c                   :verbose t)%0a%3c %0a%3c ;;;; End of file test-hunchentoot.lisp%0a%3c @]%0a\ No newline at end of file%0a
+host:1700849198=93.45.233.109
+author:1700847574=Posterdati
+diff:1700847574:1700847312:=356,378c356,379%0a%3c [@%0a%3c $ sbcl%0a%3c ...%0a%3c * (ql:quickload :quicklisp-slime-helper)%0a%3c   To load "quicklisp-slime-helper":%0a%3c     Load 1 ASDF system:%0a%3c     quicklisp-slime-helper%0a%3c ; Loading "quicklisp-slime-helper"%0a%3c [package swank-loader]............................%0a%3c [package quicklisp-slime-helper]%0a%3c slime-helper.el installed in "/home/user/quicklisp/slime-helper.el"%0a%3c %0a%3c To use, add this to your ~/.emacs:%0a%3c %0a%3c  (load (expand-file-name "/home/user/quicklisp/slime-helper.el"))%0a%3c  ;; Replace "sbcl" with the path to your implementation%0a%3c  (setq inferior-lisp-program "sbcl")%0a%3c %0a%3c %0a%3c (:QUICKLISP-SLIME-HELPER)%0a%3c *%0a%3c @]%0a%3c %0a---%0a> .. code::%0a> %0a>    $ sbcl%0a>    ...%0a>    * (ql:quickload :quicklisp-slime-helper)%0a>      To load "quicklisp-slime-helper":%0a>        Load 1 ASDF system:%0a>          quicklisp-slime-helper%0a>    ; Loading "quicklisp-slime-helper"%0a>    [package swank-loader]............................%0a>    [package quicklisp-slime-helper]%0a>    slime-helper.el installed in "/home/user/quicklisp/slime-helper.el"%0a> %0a>    To use, add this to your ~/.emacs:%0a> %0a>     (load (expand-file-name "/home/user/quicklisp/slime-helper.el"))%0a>     ;; Replace "sbcl" with the path to your implementation%0a>     (setq inferior-lisp-program "sbcl")%0a> %0a> %0a>    (:QUICKLISP-SLIME-HELPER)%0a>    *%0a> %0a> %0a382,387c383,390%0a%3c [@%0a%3c (load (expand-file-name "/home/user/quicklisp/slime-helper.el"))%0a%3c ;; Replace "sbcl" with the path to your implementation%0a%3c (setq inferior-lisp-program "sbcl")%0a%3c @]%0a%3c %0a---%0a> %0a> .. code:: common-lisp%0a> %0a> 	  (load (expand-file-name "/home/user/quicklisp/slime-helper.el"))%0a> 	  ;; Replace "sbcl" with the path to your implementation%0a> 	  (setq inferior-lisp-program "sbcl")%0a> %0a> %0a421,427c424,432%0a%3c [@%0a%3c CL-USER> (ql:quickload :antik)%0a%3c ...%0a%3c (:ANTIK)%0a%3c CL-USER>%0a%3c @]%0a%3c %0a---%0a> %0a> .. code:: common-lisp%0a> %0a> 	  CL-USER> (ql:quickload :antik)%0a> 	  ...%0a> 	  (:ANTIK)%0a> 	  CL-USER>%0a> %0a> %0a431,436c436,454%0a%3c [@%0a%3c CL-USER> antik:+days-per-month+%0a%3c 30%0a%3c CL-USER>%0a%3c @]%0a%3c %0a---%0a> %0a> .. code:: common-lisp%0a> %0a> 	  CL-USER> antik:+days-per-month+%0a> 	  30%0a> 	  CL-USER>%0a> %0a> %0a> .. raw:: pdf%0a> %0a>    PageBreak%0a> %0a> %0a> .. raw:: pdf%0a> %0a>    OddPageBreak%0a> %0a> %0a> .. comment: End of file.%0a
+host:1700847574=93.45.233.109
+author:1700847312=Posterdati
+diff:1700847312:1700846904:=273,289c273,289%0a%3c [@%0a%3c * (ql:add-to-init-file)%0a%3c I will append the following lines to #P"/home/user/.sbclrc":%0a%3c %0a%3c ;;; The following lines added by ql:add-to-init-file:%0a%3c #-quicklisp%0a%3c (let ((quicklisp-init #P"/home/user/quicklisp/setup.lisp"))%0a%3c   (when (probe-file quicklisp-init)%0a%3c     (load quicklisp-init)))%0a%3c %0a%3c Press Enter to continue.%0a%3c %0a%3c #P"/home/user/.sbclrc"%0a%3c * (quit)%0a%3c $%0a%3c @]%0a%3c %0a---%0a> %0a> .. code::%0a> %0a>    * (ql:add-to-init-file)%0a>    I will append the following lines to #P"/home/user/.sbclrc":%0a> %0a>    ;;; The following lines added by ql:add-to-init-file:%0a>    #-quicklisp%0a>    (let ((quicklisp-init #P"/home/user/quicklisp/setup.lisp"))%0a>      (when (probe-file quicklisp-init)%0a>        (load quicklisp-init)))%0a> %0a>    Press Enter to continue.%0a> %0a>    #P"/home/user/.sbclrc"%0a>    * (quit)%0a> %0a293,301c293,307%0a%3c [@%0a%3c $ cat ~/.sbclrc%0a%3c ;;; The following lines added by ql:add-to-init-file:%0a%3c #-quicklisp%0a%3c (let ((quicklisp-init #P"/home/user/quicklisp/setup.lisp"))%0a%3c   (when (probe-file quicklisp-init)%0a%3c     (load quicklisp-init)))%0a%3c @]%0a%3c %0a---%0a> .. code::%0a> %0a> 	  $ cat ~/.sbclrc%0a> 	  ;;; The following lines added by ql:add-to-init-file:%0a> 	  #-quicklisp%0a> 	  (let ((quicklisp-init #P"/home/user/quicklisp/setup.lisp"))%0a> 	    (when (probe-file quicklisp-init)%0a> 	      (load quicklisp-init)))%0a> %0a> %0a> .. raw:: pdf%0a> %0a>    PageBreak%0a> %0a> %0a303c309%0a%3c REPL, we can place configuration code for sbcl in there.  For example we want%0a---%0a> REPL, we can place configuration for sbcl code in there, for example we want%0a308,322c314,330%0a%3c [@%0a%3c (defun setup-registry (directory-path)%0a%3c   (format t "; adding components under ~A to asdf registry~%25" directory-path)%0a%3c   (mapc (lambda (asd-pathname)%0a%3c           (pushnew (make-pathname :name nil%0a%3c 	                          :type nil%0a%3c 	        		  :version nil%0a%3c 			          :defaults asd-pathname)%0a%3c                    asdf:*central-registry*%0a%3c 	           :test #'equal))%0a%3c 	  (directory (merge-pathnames #p"**/*.asd" directory-path))))%0a%3c %0a%3c (setup-registry (merge-pathnames #p"Development/lisp/" (user-homedir-pathname)))%0a%3c @]%0a%3c %0a---%0a> %0a> .. code:: common-lisp%0a> %0a> 	  (defun setup-registry (directory-path)%0a> 	    (format t "; adding components under ~A to asdf registry~%25" directory-path)%0a> 	    (mapc (lambda (asd-pathname)%0a>                     (pushnew (make-pathname :name nil%0a> 		                            :type nil%0a> 					    :version nil%0a> 					    :defaults asd-pathname)%0a> 		             asdf:*central-registry*%0a> 			     :test #'equal))%0a> 		  (directory (merge-pathnames #p"**/*.asd" directory-path))))%0a> %0a> 	  (setup-registry (merge-pathnames #p"Development/lisp/" (user-homedir-pathname)))%0a> %0a> %0a325,337c333,346%0a%3c [@%0a%3c $ sbcl%0a%3c This is SBCL 2.3.8.openbsd.sbcl-2.3.8, an implementation of ANSI Common Lisp.%0a%3c More information about SBCL is available at %3chttp://www.sbcl.org/>.%0a%3c %0a%3c SBCL is free software, provided as is, with absolutely no warranty.%0a%3c It is mostly in the public domain; some portions are provided under%0a%3c BSD-style licenses.  See the CREDITS and COPYING files in the%0a%3c distribution for more information.%0a%3c ; adding components under /home/angel/Development/lisp/ to asdf registry%0a%3c *%0a%3c @]%0a%3c %0a---%0a> .. code:: shell%0a> %0a> 	  $ sbcl%0a> 	  This is SBCL 2.3.8.openbsd.sbcl-2.3.8, an implementation of ANSI Common Lisp.%0a> 	  More information about SBCL is available at %3chttp://www.sbcl.org/>.%0a> %0a> 	  SBCL is free software, provided as is, with absolutely no warranty.%0a> 	  It is mostly in the public domain; some portions are provided under%0a> 	  BSD-style licenses.  See the CREDITS and COPYING files in the%0a> 	  distribution for more information.%0a> 	  ; adding components under /home/angel/Development/lisp/ to asdf registry%0a> 	  *%0a> %0a> %0a340,350c349,366%0a%3c [@%0a%3c * *features*%0a%3c (:QUICKLISP :ASDF3.3 :ASDF3.2 :ASDF3.1 :ASDF3 :ASDF2 :ASDF :OS-UNIX%0a%3c  :NON-BASE-CHARS-EXIST-P :ASDF-UNICODE :ARENA-ALLOCATOR :X86-64 :GENCGC :64-BIT%0a%3c  :ANSI-CL :BSD :COMMON-LISP :ELF :IEEE-FLOATING-POINT :LITTLE-ENDIAN :OPENBSD%0a%3c  :PACKAGE-LOCAL-NICKNAMES :SB-CORE-COMPRESSION :SB-LDB :SB-PACKAGE-LOCKS%0a%3c  :SB-THREAD :SB-UNICODE :SBCL :UNIX)%0a%3c *%0a%3c @]%0a%3c %0a%3c !!'''Configuration for emacs'''%0a---%0a> .. code:: common-lisp%0a> %0a> 	  * *features*%0a> 	  (:QUICKLISP :ASDF3.3 :ASDF3.2 :ASDF3.1 :ASDF3 :ASDF2 :ASDF :OS-UNIX%0a> 	   :NON-BASE-CHARS-EXIST-P :ASDF-UNICODE :ARENA-ALLOCATOR :X86-64 :GENCGC :64-BIT%0a> 	   :ANSI-CL :BSD :COMMON-LISP :ELF :IEEE-FLOATING-POINT :LITTLE-ENDIAN :OPENBSD%0a> 	   :PACKAGE-LOCAL-NICKNAMES :SB-CORE-COMPRESSION :SB-LDB :SB-PACKAGE-LOCKS%0a> 	   :SB-THREAD :SB-UNICODE :SBCL :UNIX)%0a> 	  *%0a> %0a> %0a> .. raw:: pdf%0a> %0a>    PageBreak%0a> %0a> %0a> Configuration for emacs%0a> -----------------------%0a
+host:1700847312=93.45.233.109
+author:1700846904=Posterdati
+diff:1700846904:1700846567:=122,126c122,124%0a%3c [@%0a%3c $ doas pkg_add -v bash%0a%3c @]%0a%3c %0a%3c %0a---%0a> @@$ doas pkg_add -v bash@@%0a> %0a> %0a131,135c129,131%0a%3c [@%0a%3c $ doas pkg_add -v sbcl%0a%3c @]%0a%3c %0a%3c %0a---%0a> @@$ doas pkg_add -v sbcl@@%0a> %0a> %0a141,144c137,138%0a%3c [@%0a%3c $ sbcl%0a%3c @]%0a%3c %0a---%0a> @@$ sbcl@@%0a> %0a147,156c141,150%0a%3c [@%0a%3c This is SBCL 2.3.8.openbsd.sbcl-2.3.8, an implementation of ANSI Common Lisp.%0a%3c More information about SBCL is available at %3chttp://www.sbcl.org/>.%0a%3c SBCL is free software, provided as is, with absolutely no warranty.%0a%3c It is mostly in the public domain; some portions are provided under%0a%3c BSD-style licenses.  See the CREDITS and COPYING files in the%0a%3c distribution for more information.%0a%3c *%0a%3c @]%0a%3c %0a---%0a> ----%0a> @@This is SBCL 2.3.8.openbsd.sbcl-2.3.8, an implementation of ANSI Common Lisp.@@\\%0a> @@More information about SBCL is available at %3chttp://www.sbcl.org/>.@@\\%0a> @@SBCL is free software, provided as is, with absolutely no warranty.@@\\%0a> @@It is mostly in the public domain; some portions are provided under@@\\%0a> @@BSD-style licenses.  See the CREDITS and COPYING files in the@@\\%0a> @@distribution for more information.@@\\%0a> @@*@@%0a> ----%0a> %0a166a161%0a> ----%0a174c169,170%0a%3c %0a---%0a> ----%0a> %0a183,186c179,182%0a%3c [@%0a%3c $ doas pkg_add -v emacs%0a%3c @]%0a%3c %0a---%0a> ----%0a> @@$ doas pkg_add -v emacs@@%0a> ----%0a> %0a198,203c194,199%0a%3c from the site [[https://beta.quicklisp.org]].  We use curl to do that, so:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add -v curl%0a%3c @]%0a%3c %0a---%0a> from the site `%3chttps://beta.quicklisp.org>`_ .  We use curl to do that, so:%0a> %0a> ----%0a> @@$ doas pkg_add -v curl@@%0a> ----%0a> %0a206,209c202,205%0a%3c [@%0a%3c $ curl -O https://beta.quicklisp.org/quicklisp.lisp%0a%3c @]%0a%3c %0a---%0a> ----%0a> @@$ curl -O https://beta.quicklisp.org/quicklisp.lisp@@%0a> ----%0a> %0a212,215c208,211%0a%3c [@%0a%3c $ curl -O https://beta.quicklisp.org/quicklisp.lisp.asc%0a%3c @]%0a%3c %0a---%0a> ----%0a> @@$ curl -O https://beta.quicklisp.org/quicklisp.lisp.asc@@%0a> ----%0a> %0a218,223c214,219%0a%3c [@%0a%3c $ gpg --verify quicklisp.lisp.asc quicklisp.lisp%0a%3c gpg: Signature made Sat Feb  1 09:25:28 2014 EST using RSA key ID 028B5FF7%0a%3c gpg: Good signature from "Quicklisp Release Signing Key "%0a%3c @]%0a%3c %0a---%0a> ----%0a> @@$ gpg --verify quicklisp.lisp.asc quicklisp.lisp@@\\%0a> @@gpg: Signature made Sat Feb  1 09:25:28 2014 EST using RSA key ID 028B5FF7@@\\%0a> @@gpg: Good signature from "Quicklisp Release Signing Key "@@\\%0a> ----%0a> %0a229,248c225,249%0a%3c [@%0a%3c %0a%3c $ sbcl --load quicklisp.lisp%0a%3c This is SBCL 2.3.8.openbsd.sbcl-2.3.8, an implementation of ANSI Common Lisp.%0a%3c More information about SBCL is available at %3chttp://www.sbcl.org/>.%0a%3c %0a%3c SBCL is free software, provided as is, with absolutely no warranty.%0a%3c It is mostly in the public domain; some portions are provided under%0a%3c BSD-style licenses.  See the CREDITS and COPYING files in the%0a%3c distribution for more information.%0a%3c %0a%3c ==== quicklisp quickstart 2015-01-28 loaded ====%0a%3c %0a%3c   To continue with installation, evaluate: (quicklisp-quickstart:install)%0a%3c %0a%3c   For installation options, evaluate: (quicklisp-quickstart:help)%0a%3c %0a%3c *%0a%3c @]%0a%3c %0a---%0a> %0a> .. code::%0a> %0a> 	  $ sbcl --load quicklisp.lisp%0a> 	  This is SBCL 2.3.8.openbsd.sbcl-2.3.8, an implementation of ANSI Common Lisp.%0a> 	  More information about SBCL is available at %3chttp://www.sbcl.org/>.%0a> %0a> 	  SBCL is free software, provided as is, with absolutely no warranty.%0a> 	  It is mostly in the public domain; some portions are provided under%0a> 	  BSD-style licenses.  See the CREDITS and COPYING files in the%0a> 	  distribution for more information.%0a> %0a> 	  ==== quicklisp quickstart 2015-01-28 loaded ====%0a> %0a> 	  To continue with installation, evaluate: (quicklisp-quickstart:install)%0a> %0a> 	  For installation options, evaluate: (quicklisp-quickstart:help)%0a> %0a> 	  *%0a> %0a> .. raw:: pdf%0a> %0a>    PageBreak%0a> %0a> %0a251,266c252,268%0a%3c [@%0a%3c * (quicklisp-quickstart:install)%0a%3c ...%0a%3c ==== quicklisp installed ====%0a%3c %0a%3c   To load a system, use: (ql:quickload "system-name")%0a%3c %0a%3c   To find systems, use: (ql:system-apropos "term")%0a%3c %0a%3c   To load Quicklisp every time you start Lisp, use: (ql:add-to-init-file)%0a%3c %0a%3c   For more information, see http://www.quicklisp.org/beta/%0a%3c %0a%3c T%0a%3c *%0a%3c @]%0a---%0a> .. code::%0a> %0a>    * (quicklisp-quickstart:install)%0a>    ...%0a>    ==== quicklisp installed ====%0a> %0a>      To load a system, use: (ql:quickload "system-name")%0a> %0a>      To find systems, use: (ql:system-apropos "term")%0a> %0a>      To load Quicklisp every time you start Lisp, use: (ql:add-to-init-file)%0a> %0a>      For more information, see http://www.quicklisp.org/beta/%0a> %0a>    T%0a>    *%0a> %0a
+host:1700846904=93.45.233.109
+author:1700846567=Posterdati
+diff:1700846567:1700845680:=152,153c152,153%0a%3c it is waiting for a command to be entered at the REPL prompt "*".%0a%3c %0a---%0a> it is waiting for a command to be entered at the REPL prompt \*.\\%0a> %0a162,168c162,167%0a%3c [@%0a%3c * *features*%0a%3c (:ARENA-ALLOCATOR :X86-64 :GENCGC :64-BIT :ANSI-CL :BSD :COMMON-LISP :ELF%0a%3c  :IEEE-FLOATING-POINT :LITTLE-ENDIAN :OPENBSD :PACKAGE-LOCAL-NICKNAMES%0a%3c  :SB-CORE-COMPRESSION :SB-LDB :SB-PACKAGE-LOCKS :SB-THREAD :SB-UNICODE :SBCL%0a%3c  :UNIX)%0a%3c @]%0a---%0a> @@* *features*@@\\%0a> @@(:ARENA-ALLOCATOR :X86-64 :GENCGC :64-BIT :ANSI-CL :BSD :COMMON-LISP :ELF@@\\%0a> @@ :IEEE-FLOATING-POINT :LITTLE-ENDIAN :OPENBSD :PACKAGE-LOCAL-NICKNAMES@\\%0a> @@ :SB-CORE-COMPRESSION :SB-LDB :SB-PACKAGE-LOCKS :SB-THREAD :SB-UNICODE :SBCL@\\%0a> @@ :UNIX)@@\\%0a> @@*@@%0a
+host:1700846567=93.45.233.109
+author:1700845680=Posterdati
+diff:1700845680:1700845532:=170,171c170,172%0a%3c !!'''Installing quicklisp'''%0a%3c %0a---%0a> Installing quicklisp%0a> --------------------%0a> %0a178,181c179,183%0a%3c ----%0a%3c @@$ doas pkg_add -v emacs@@%0a%3c ----%0a%3c %0a---%0a> .. code:: shell%0a> %0a> 	  $ doas pkg_add -v emacs%0a> %0a> %0a195,198c197,202%0a%3c ----%0a%3c @@$ doas pkg_add -v curl@@%0a%3c ----%0a%3c %0a---%0a> %0a> .. code:: shell%0a> %0a> 	  $ doas pkg_add -v curl%0a> %0a> %0a201,204c205,209%0a%3c ----%0a%3c @@$ curl -O https://beta.quicklisp.org/quicklisp.lisp@@%0a%3c ----%0a%3c %0a---%0a> .. code:: shell%0a> %0a> 	  curl -O https://beta.quicklisp.org/quicklisp.lisp%0a> %0a> %0a207,210c212,217%0a%3c ----%0a%3c @@$ curl -O https://beta.quicklisp.org/quicklisp.lisp.asc@@%0a%3c ----%0a%3c %0a---%0a> %0a> .. code:: shell%0a> %0a> 	  $ curl -O https://beta.quicklisp.org/quicklisp.lisp.asc%0a> %0a> %0a213,217c220,226%0a%3c ----%0a%3c @@$ gpg --verify quicklisp.lisp.asc quicklisp.lisp@@\\%0a%3c @@gpg: Signature made Sat Feb  1 09:25:28 2014 EST using RSA key ID 028B5FF7@@\\%0a%3c @@gpg: Good signature from "Quicklisp Release Signing Key "@@\\%0a%3c ----%0a---%0a> %0a> .. code:: shell%0a> %0a> 	  $ gpg --verify quicklisp.lisp.asc quicklisp.lisp%0a> 	  gpg: Signature made Sat Feb  1 09:25:28 2014 EST using RSA key ID 028B5FF7%0a> 	  gpg: Good signature from "Quicklisp Release Signing Key "%0a> %0a
+host:1700845680=93.45.233.109
+author:1700845532=Posterdati
+diff:1700845532:1700845404:=15c15%0a%3c !!!'''License Information'''%0a---%0a> !!!'''License Information''''%0a
+host:1700845532=93.45.233.109
+author:1700845404=Posterdati
+diff:1700845404:1700844753:=3,4c3,6%0a%3c !!'''With a simple Hunchentoot example'''%0a%3c %0a---%0a> ---------------------------------%0a> !! With a simple Hunchentoot example%0a> ---------------------------------%0a> %0a11,12c13,14%0a%3c !!!'''Preface to this Edition'''%0a%3c %0a---%0a> !!!Preface to this Edition%0a> %0a15,16c17,18%0a%3c !!!'''License Information''''%0a%3c %0a---%0a> !!!License Information%0a> %0a47,48c49,50%0a%3c !'''Introduction'''%0a%3c %0a---%0a> !Introduction%0a> %0a66,67c68,69%0a%3c !!'''Foreword'''%0a%3c %0a---%0a> !!Foreword%0a> %0a84,85c86,87%0a%3c !!'''Who is this guide for?'''%0a%3c %0a---%0a> !!Who is this guide for?%0a> %0a96,97c98,99%0a%3c !!'''Other resources'''%0a%3c %0a---%0a> !!Other resources%0a> %0a107,108c109,110%0a%3c !!'''Legally speaking...'''%0a%3c %0a---%0a> !!Legally speaking...%0a> %0a111,114c113,119%0a%3c !'''Getting Started'''%0a%3c %0a%3c !!'''The installation process'''%0a%3c %0a---%0a> .. comment: -*- mode: rst-mode; coding: utf-8; electric-indent-mode: t; -*-%0a> %0a> %0a> !Getting Started%0a> %0a> !!The installation process%0a> %0a132,133c137,138%0a%3c !!'''Configuration for sbcl'''%0a%3c %0a---%0a> !!Configuration for sbcl%0a> %0a141d145%0a%3c ----%0a148,150c152,153%0a%3c @@*@@%0a%3c ----%0a%3c %0a---%0a> @@*@@\\%0a> %0a152,168c155,176%0a%3c it is waiting for a command to be entered at the REPL prompt \*.\\%0a%3c %0a%3c REPL stands for Read, Eval and Print Loop: a way to interact with a user.%0a%3c At first the informations entered after the prompt are read, then evaluated%0a%3c by the sbcl interpreter and a result is always printed/returned back to the%0a%3c user. The cycle continues with the interpreter waiting for the user to enter%0a%3c informations again.  At this point we would like to see some configurations/characteristics%0a%3c of this particular version of the interpreter, so we enter:%0a%3c %0a%3c ----%0a%3c @@* *features*@@\\%0a%3c @@(:ARENA-ALLOCATOR :X86-64 :GENCGC :64-BIT :ANSI-CL :BSD :COMMON-LISP :ELF@@\\%0a%3c @@ :IEEE-FLOATING-POINT :LITTLE-ENDIAN :OPENBSD :PACKAGE-LOCAL-NICKNAMES@\\%0a%3c @@ :SB-CORE-COMPRESSION :SB-LDB :SB-PACKAGE-LOCKS :SB-THREAD :SB-UNICODE :SBCL@\\%0a%3c @@ :UNIX)@@\\%0a%3c @@*@@%0a%3c ----%0a---%0a> it is waiting for a command to be entered at the REPL [#]_ prompt \*. At this point%0a> we would like to see some configurations/characteristics of this particular%0a> version of the interpreter, so we enter:%0a> %0a> .. [#]%0a> %0a>    REPL stands for Read, Eval and Print Loop: a way to interact with a user.%0a>    At first the informations entered after the prompt are read, then evaluated%0a>    by the sbcl interpreter and a result is always printed/returned back to the%0a>    user. The cycle continues with the interpreter waiting for the user to enter%0a>    informations again.%0a> %0a> %0a> .. code::%0a> %0a> 	  * *features*%0a> 	    (:ARENA-ALLOCATOR :X86-64 :GENCGC :64-BIT :ANSI-CL :BSD :COMMON-LISP :ELF%0a> 	     :IEEE-FLOATING-POINT :LITTLE-ENDIAN :OPENBSD :PACKAGE-LOCAL-NICKNAMES%0a> 	     :SB-CORE-COMPRESSION :SB-LDB :SB-PACKAGE-LOCKS :SB-THREAD :SB-UNICODE :SBCL%0a> 	     :UNIX)%0a> 	  *%0a> %0a
+host:1700845404=93.45.233.109
+author:1700844753=Posterdati
+diff:1700844753:1700843694:=1,2c1,2%0a%3c !'''Common Lisp on OpenBSD'''%0a%3c %0a---%0a> !Common Lisp on OpenBSD%0a> %0a19,488c19,45%0a%3c Copyright (C) 2023 Angelo Rossi %3cangelo.rossi.homelab@gmail.com>\\%0a%3c %0a%3c %0a%3c Redistribution and use in source and binary forms, with or without\\%0a%3c modification, are permitted provided that the following conditions\\%0a%3c are met:\\%0a%3c %0a%3c %0a%3c 1. Redistributions of source code must retain the above copyright\\%0a%3c    notice, this list of conditions and the following disclaimer.\\%0a%3c 2. Redistributions in binary form must reproduce the above copyright\\%0a%3c    notice, this list of conditions and the following disclaimer in the\\%0a%3c    documentation and/or other materials provided with the distribution.\\%0a%3c 3. Neither the name of the University nor the names of its contributors\\%0a%3c    may be used to endorse or promote products derived from this software\\%0a%3c    without specific prior written permission.\\%0a%3c %0a%3c %0a%3c THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND\\%0a%3c ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\\%0a%3c IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\\%0a%3c ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE\\%0a%3c FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\\%0a%3c DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\\%0a%3c OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\\%0a%3c HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\\%0a%3c LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\\%0a%3c OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\\%0a%3c SUCH DAMAGE.\\%0a%3c %0a%3c !Introduction%0a%3c %0a%3c This document explain how to install and configure sbcl on OpenBSD system.%0a%3c Assuming you already installed this OS on your machine with basic tools and%0a%3c desktop environment or, at least, you are able to use emacs as text editor.%0a%3c First of all OpenBSD is a free 4.4BSD-based Unix-like operating system. It has%0a%3c got these unique features:%0a%3c %0a%3c * portability;%0a%3c * standardization;%0a%3c * correctness;%0a%3c * proactive security;%0a%3c * integrated cryptography.%0a%3c %0a%3c For all of these you could be interested in run a webserver on it. So let's see%0a%3c how to achieve that and look at a simple way to program a dynamic webserver%0a%3c application which in turn use the Common Lisp language to create html pages on%0a%3c the fly.%0a%3c %0a%3c !!Foreword%0a%3c %0a%3c Why Common Lisp? One of the question that arises most of the times speaking%0a%3c with people involved in computer science as professionals or reasearches. Most%0a%3c of them look at Lisp (and Common Lisp as a reflex) not only the language%0a%3c developed for AI fifty years ago, but something strange and esotheric,%0a%3c something not really useful and related to a distant past made of punched cards%0a%3c and gigantic magnetic tape reader the size of a fridge.  No one take Lisp as%0a%3c the language of the following innovations:%0a%3c %0a%3c * a regular and most simple syntax among high level programming language;%0a%3c * the first high level language used to program an OS (Genera);%0a%3c * used to program one of the first graphic user interface for an OS;%0a%3c * an advanced macro system to generate Lisp code and extend the language (DSL);%0a%3c * A garbage collector;%0a%3c * derived from the mathematics idea of lambda calculus by Alonzo Church;%0a%3c * a major dialect with a standard: ANSI INCITS 226-1994 (S20018).%0a%3c %0a%3c !!Who is this guide for?%0a%3c %0a%3c The purpose of this guide is to let the reader discovers one of the most%0a%3c advanced and complete language in the history of computer science.  The usage%0a%3c of Lisp is quite simple since it is based on very basic ideas about%0a%3c programming.  Since OpenBSD is a modern UNIX OS with excels in some areas like%0a%3c security and correctness, this guide could be of some use to people that want%0a%3c to experimenting and deploy secure applications for everyday usage.  A basic%0a%3c knowledge of OpenBSD, shell and Common Lisp will boost the process to build%0a%3c and better understand the concept.  For those who don't know Common Lisp we%0a%3c suggest to read those books: [BARSKI2010]_ and [SEIBEL2005]_.%0a%3c %0a%3c !!Other resources%0a%3c %0a%3c Online official documentation and info sources from:%0a%3c %0a%3c * FAQ manual `%3chttps://www.openbsd.org/faq/index.html>`_%0a%3c * man pages: `%3chttps://man.openbsd.org>`_%0a%3c * Mailing list `%3chttps://www.openbsd.org/mail.html>`_%0a%3c * #OpenBSD IRC channel on Libera Chat `%3circ.libera.chat>`_%0a%3c * #lisp IRC channel on Libera Chat `%3circ.libera.chat>`_%0a%3c * #lisp IRC channel on IRC Now `%3circ.bsdforall.org>`_%0a%3c %0a%3c !!Legally speaking...%0a%3c %0a%3c We referenced to the BSD 3 clauses license for this work and the related code.%0a%3c %0a%3c .. comment: -*- mode: rst-mode; coding: utf-8; electric-indent-mode: t; -*-%0a%3c %0a%3c %0a%3c !Getting Started%0a%3c %0a%3c !!The installation process%0a%3c %0a%3c We refer to a running and functional installation of OpenBSD 7.4 for amd64%0a%3c platform even if the majority of the ideas can be used on othe platform too%0a%3c as sparc64 and arm64. First of all we open a terminal window: OpenBSD uses%0a%3c csh as standard shell interpreter, int this guide we prefer the bash shell%0a%3c so, as root, we can give the command:%0a%3c %0a%3c %0a%3c @@$ doas pkg_add -v bash@@%0a%3c %0a%3c %0a%3c After the installation we can add to the system the Stell Bank Common Lisp%0a%3c interpreter/compiler - sbcl with:%0a%3c %0a%3c %0a%3c @@$ doas pkg_add -v sbcl@@%0a%3c %0a%3c %0a%3c !!Configuration for sbcl%0a%3c %0a%3c As installed, sbcl is already working with its default configuration which are%0a%3c specified in its \*features\* global variable, for example, let's run sbcl:%0a%3c %0a%3c @@$ sbcl@@%0a%3c %0a%3c the system responds with:%0a%3c %0a%3c @@This is SBCL 2.3.8.openbsd.sbcl-2.3.8, an implementation of ANSI Common Lisp.@@\\%0a%3c @@More information about SBCL is available at %3chttp://www.sbcl.org/>.@@\\%0a%3c @@SBCL is free software, provided as is, with absolutely no warranty.@@\\%0a%3c @@It is mostly in the public domain; some portions are provided under@@\\%0a%3c @@BSD-style licenses.  See the CREDITS and COPYING files in the@@\\%0a%3c @@distribution for more information.@@\\%0a%3c @@*@@\\%0a%3c %0a%3c Or with a very similar message, informing us that the interpreter is ready and%0a%3c it is waiting for a command to be entered at the REPL [#]_ prompt \*. At this point%0a%3c we would like to see some configurations/characteristics of this particular%0a%3c version of the interpreter, so we enter:%0a%3c %0a%3c .. [#]%0a%3c %0a%3c    REPL stands for Read, Eval and Print Loop: a way to interact with a user.%0a%3c    At first the informations entered after the prompt are read, then evaluated%0a%3c    by the sbcl interpreter and a result is always printed/returned back to the%0a%3c    user. The cycle continues with the interpreter waiting for the user to enter%0a%3c    informations again.%0a%3c %0a%3c %0a%3c .. code::%0a%3c %0a%3c 	  * *features*%0a%3c 	    (:ARENA-ALLOCATOR :X86-64 :GENCGC :64-BIT :ANSI-CL :BSD :COMMON-LISP :ELF%0a%3c 	     :IEEE-FLOATING-POINT :LITTLE-ENDIAN :OPENBSD :PACKAGE-LOCAL-NICKNAMES%0a%3c 	     :SB-CORE-COMPRESSION :SB-LDB :SB-PACKAGE-LOCKS :SB-THREAD :SB-UNICODE :SBCL%0a%3c 	     :UNIX)%0a%3c 	  *%0a%3c %0a%3c %0a%3c Installing quicklisp%0a%3c --------------------%0a%3c %0a%3c Let's quit the interpreter and continue installing other software that we will%0a%3c use to make a Common Lisp development environment, the editor. We choose emacs%0a%3c which is, among other things, programmed largely in Lisp, it has inside it a%0a%3c Common Lisp interpreter which is used to perform operation on text as well as%0a%3c configurations:%0a%3c %0a%3c .. code:: shell%0a%3c %0a%3c 	  $ doas pkg_add -v emacs%0a%3c %0a%3c %0a%3c At this point the installer can ask us to choose among different version of%0a%3c emacs. Choose the one is best with your desktop environment or, if you like%0a%3c install the version with no desktop support at all, you can still use it from%0a%3c the console or terminal with no great difference from the desktop version.%0a%3c Also emacs has got is own configuration which is accessible with the program%0a%3c interface or modifying a file in the home directory.  We will see how to%0a%3c achieve that in the following paragraph, by now let's install the quicklisp%0a%3c common lisp library system.  This is a completely written in Common Lisp%0a%3c piece of software, which make the user capable of handling projects related%0a%3c to Common Lisp itself, we will use it to let our software use already written%0a%3c libraries.  To install quicklisp we have to download the quicklisp installer%0a%3c from the site `%3chttps://beta.quicklisp.org>`_ .  We use curl to do that, so:%0a%3c %0a%3c %0a%3c .. code:: shell%0a%3c %0a%3c 	  $ doas pkg_add -v curl%0a%3c %0a%3c %0a%3c proceed to retrieve the quicklisp library:%0a%3c %0a%3c .. code:: shell%0a%3c %0a%3c 	  curl -O https://beta.quicklisp.org/quicklisp.lisp%0a%3c %0a%3c %0a%3c and the library file signature to check its authenticity:%0a%3c %0a%3c %0a%3c .. code:: shell%0a%3c %0a%3c 	  $ curl -O https://beta.quicklisp.org/quicklisp.lisp.asc%0a%3c %0a%3c %0a%3c then we check the signature of the downloaded file:%0a%3c %0a%3c %0a%3c .. code:: shell%0a%3c %0a%3c 	  $ gpg --verify quicklisp.lisp.asc quicklisp.lisp%0a%3c 	  gpg: Signature made Sat Feb  1 09:25:28 2014 EST using RSA key ID 028B5FF7%0a%3c 	  gpg: Good signature from "Quicklisp Release Signing Key "%0a%3c %0a%3c %0a%3c The downloaded file is then usable to install the quicklisp library manager. At%0a%3c This point we face two main choices: we can install the library manager only%0a%3c for the user or system-wide.  We assume for now that the installation is%0a%3c limited to one user, so we can proceed as follows:%0a%3c %0a%3c %0a%3c .. code::%0a%3c %0a%3c 	  $ sbcl --load quicklisp.lisp%0a%3c 	  This is SBCL 2.3.8.openbsd.sbcl-2.3.8, an implementation of ANSI Common Lisp.%0a%3c 	  More information about SBCL is available at %3chttp://www.sbcl.org/>.%0a%3c %0a%3c 	  SBCL is free software, provided as is, with absolutely no warranty.%0a%3c 	  It is mostly in the public domain; some portions are provided under%0a%3c 	  BSD-style licenses.  See the CREDITS and COPYING files in the%0a%3c 	  distribution for more information.%0a%3c %0a%3c 	  ==== quicklisp quickstart 2015-01-28 loaded ====%0a%3c %0a%3c 	  To continue with installation, evaluate: (quicklisp-quickstart:install)%0a%3c %0a%3c 	  For installation options, evaluate: (quicklisp-quickstart:help)%0a%3c %0a%3c 	  *%0a%3c %0a%3c .. raw:: pdf%0a%3c %0a%3c    PageBreak%0a%3c %0a%3c %0a%3c At this point we can proceed to install the library:%0a%3c %0a%3c .. code::%0a%3c %0a%3c    * (quicklisp-quickstart:install)%0a%3c    ...%0a%3c    ==== quicklisp installed ====%0a%3c %0a%3c      To load a system, use: (ql:quickload "system-name")%0a%3c %0a%3c      To find systems, use: (ql:system-apropos "term")%0a%3c %0a%3c      To load Quicklisp every time you start Lisp, use: (ql:add-to-init-file)%0a%3c %0a%3c      For more information, see http://www.quicklisp.org/beta/%0a%3c %0a%3c    T%0a%3c    *%0a%3c %0a%3c %0a%3c To use the library with the sbcl REPL we must instruct sbcl itself to load a%0a%3c configuration batch file called .sbclrc which resides in the user home.%0a%3c Quicklisp can do that for us as stated in the message above, in fact let's%0a%3c issue the form in the REPL:%0a%3c %0a%3c %0a%3c .. code::%0a%3c %0a%3c    * (ql:add-to-init-file)%0a%3c    I will append the following lines to #P"/home/user/.sbclrc":%0a%3c %0a%3c    ;;; The following lines added by ql:add-to-init-file:%0a%3c    #-quicklisp%0a%3c    (let ((quicklisp-init #P"/home/user/quicklisp/setup.lisp"))%0a%3c      (when (probe-file quicklisp-init)%0a%3c        (load quicklisp-init)))%0a%3c %0a%3c    Press Enter to continue.%0a%3c %0a%3c    #P"/home/user/.sbclrc"%0a%3c    * (quit)%0a%3c %0a%3c To return to the shell prompt, we can check that the following code is then%0a%3c written in the .sbclrc file:%0a%3c %0a%3c .. code::%0a%3c %0a%3c 	  $ cat ~/.sbclrc%0a%3c 	  ;;; The following lines added by ql:add-to-init-file:%0a%3c 	  #-quicklisp%0a%3c 	  (let ((quicklisp-init #P"/home/user/quicklisp/setup.lisp"))%0a%3c 	    (when (probe-file quicklisp-init)%0a%3c 	      (load quicklisp-init)))%0a%3c %0a%3c %0a%3c .. raw:: pdf%0a%3c %0a%3c    PageBreak%0a%3c %0a%3c %0a%3c .sbclrc is the file which is read and evaluated from sbcl before entering the%0a%3c REPL, we can place configuration for sbcl code in there, for example we want%0a%3c sbcl and quicklisp to include our personal Common Lisp projects repository%0a%3c which is, for example, in ~/Development/lisp directory.  So we add the%0a%3c following code at the end of .sbclrc:%0a%3c %0a%3c %0a%3c .. code:: common-lisp%0a%3c %0a%3c 	  (defun setup-registry (directory-path)%0a%3c 	    (format t "; adding components under ~A to asdf registry~%25" directory-path)%0a%3c 	    (mapc (lambda (asd-pathname)%0a%3c                     (pushnew (make-pathname :name nil%0a%3c 		                            :type nil%0a%3c 					    :version nil%0a%3c 					    :defaults asd-pathname)%0a%3c 		             asdf:*central-registry*%0a%3c 			     :test #'equal))%0a%3c 		  (directory (merge-pathnames #p"**/*.asd" directory-path))))%0a%3c %0a%3c 	  (setup-registry (merge-pathnames #p"Development/lisp/" (user-homedir-pathname)))%0a%3c %0a%3c %0a%3c Let's see what happens when we launch sbcl:%0a%3c %0a%3c .. code:: shell%0a%3c %0a%3c 	  $ sbcl%0a%3c 	  This is SBCL 2.3.8.openbsd.sbcl-2.3.8, an implementation of ANSI Common Lisp.%0a%3c 	  More information about SBCL is available at %3chttp://www.sbcl.org/>.%0a%3c %0a%3c 	  SBCL is free software, provided as is, with absolutely no warranty.%0a%3c 	  It is mostly in the public domain; some portions are provided under%0a%3c 	  BSD-style licenses.  See the CREDITS and COPYING files in the%0a%3c 	  distribution for more information.%0a%3c 	  ; adding components under /home/angel/Development/lisp/ to asdf registry%0a%3c 	  *%0a%3c %0a%3c %0a%3c Now let's check what happened to the \*features\*:%0a%3c %0a%3c .. code:: common-lisp%0a%3c %0a%3c 	  * *features*%0a%3c 	  (:QUICKLISP :ASDF3.3 :ASDF3.2 :ASDF3.1 :ASDF3 :ASDF2 :ASDF :OS-UNIX%0a%3c 	   :NON-BASE-CHARS-EXIST-P :ASDF-UNICODE :ARENA-ALLOCATOR :X86-64 :GENCGC :64-BIT%0a%3c 	   :ANSI-CL :BSD :COMMON-LISP :ELF :IEEE-FLOATING-POINT :LITTLE-ENDIAN :OPENBSD%0a%3c 	   :PACKAGE-LOCAL-NICKNAMES :SB-CORE-COMPRESSION :SB-LDB :SB-PACKAGE-LOCKS%0a%3c 	   :SB-THREAD :SB-UNICODE :SBCL :UNIX)%0a%3c 	  *%0a%3c %0a%3c %0a%3c .. raw:: pdf%0a%3c %0a%3c    PageBreak%0a%3c %0a%3c %0a%3c Configuration for emacs%0a%3c -----------------------%0a%3c %0a%3c Quicklisp library added more features to the basic sbcl behaviour especially%0a%3c related to ASDF.  Now let's configure emacs to allow us to have a REPL inside%0a%3c a window:%0a%3c %0a%3c .. code::%0a%3c %0a%3c    $ sbcl%0a%3c    ...%0a%3c    * (ql:quickload :quicklisp-slime-helper)%0a%3c      To load "quicklisp-slime-helper":%0a%3c        Load 1 ASDF system:%0a%3c          quicklisp-slime-helper%0a%3c    ; Loading "quicklisp-slime-helper"%0a%3c    [package swank-loader]............................%0a%3c    [package quicklisp-slime-helper]%0a%3c    slime-helper.el installed in "/home/user/quicklisp/slime-helper.el"%0a%3c %0a%3c    To use, add this to your ~/.emacs:%0a%3c %0a%3c     (load (expand-file-name "/home/user/quicklisp/slime-helper.el"))%0a%3c     ;; Replace "sbcl" with the path to your implementation%0a%3c     (setq inferior-lisp-program "sbcl")%0a%3c %0a%3c %0a%3c    (:QUICKLISP-SLIME-HELPER)%0a%3c    *%0a%3c %0a%3c %0a%3c To add the code showed by the message before we shall open ~/.emacs which is%0a%3c in turn the configuration file for emacs and add the lines:%0a%3c %0a%3c %0a%3c .. code:: common-lisp%0a%3c %0a%3c 	  (load (expand-file-name "/home/user/quicklisp/slime-helper.el"))%0a%3c 	  ;; Replace "sbcl" with the path to your implementation%0a%3c 	  (setq inferior-lisp-program "sbcl")%0a%3c %0a%3c %0a%3c once the .emacs file is edited we can launch emacs and we have the window:%0a%3c %0a%3c %0a%3c .. image:: ./images/emacs-001.png%0a%3c %0a%3c %0a%3c we start SLIME by pressing the key Alt and x on the keyboard, emacs will let us%0a%3c enter a command:%0a%3c %0a%3c %0a%3c .. image:: ./images/emacs-002.png%0a%3c %0a%3c %0a%3c we enter the command "slime" at the "M-x" prompt:%0a%3c %0a%3c %0a%3c .. image:: ./images/emacs-003.png%0a%3c %0a%3c %0a%3c and press the enter key on the keyboard.  The SLIME REPL appears:%0a%3c %0a%3c %0a%3c .. image:: ./images/emacs-004.png%0a%3c %0a%3c %0a%3c Let's see what are the \*features\* now using the SLIME REPL:%0a%3c %0a%3c %0a%3c .. image:: ./images/emacs-005.png%0a%3c %0a%3c %0a%3c We can try to load a package "antik", and then:%0a%3c %0a%3c %0a%3c .. code:: common-lisp%0a%3c %0a%3c 	  CL-USER> (ql:quickload :antik)%0a%3c 	  ...%0a%3c 	  (:ANTIK)%0a%3c 	  CL-USER>%0a%3c %0a%3c %0a%3c antik provides some useful constants and standard quantities handling in%0a%3c scientific calculations such as:%0a%3c %0a%3c %0a%3c .. code:: common-lisp%0a%3c %0a%3c 	  CL-USER> antik:+days-per-month+%0a%3c 	  30%0a%3c 	  CL-USER>%0a%3c %0a%3c %0a%3c .. raw:: pdf%0a%3c %0a%3c    PageBreak%0a%3c %0a%3c %0a%3c .. raw:: pdf%0a%3c %0a%3c    OddPageBreak%0a%3c %0a%3c %0a%3c .. comment: End of file.%0a---%0a> Copyright (C) 2023 Angelo Rossi %3cangelo.rossi.homelab@gmail.com>%0a> %0a> Redistribution and use in source and binary forms, with or without%0a> modification, are permitted provided that the following conditions%0a> are met:%0a> %0a> 1. Redistributions of source code must retain the above copyright%0a>    notice, this list of conditions and the following disclaimer.%0a> 2. Redistributions in binary form must reproduce the above copyright%0a>    notice, this list of conditions and the following disclaimer in the%0a>    documentation and/or other materials provided with the distribution.%0a> 3. Neither the name of the University nor the names of its contributors%0a>    may be used to endorse or promote products derived from this software%0a>    without specific prior written permission.%0a> %0a> THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND%0a> ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE%0a> IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE%0a> ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE%0a> FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL%0a> DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS%0a> OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)%0a> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT%0a> LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY%0a> OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF%0a> SUCH DAMAGE.%0a> %0a
+host:1700844753=93.45.233.109
+author:1700843694=Posterdati
+diff:1700843694:1700843694:=1,45d0%0a%3c !Common Lisp on OpenBSD%0a%3c %0a%3c ---------------------------------%0a%3c !! With a simple Hunchentoot example%0a%3c ---------------------------------%0a%3c %0a%3c || border=1 width=50%25 class="sortable simpletable"%0a%3c ||!Revision||!Description||!Name                                        ||%0a%3c ||0.0.1    ||This table  ||Angelo Rossi %3cangelo.rossi.homelab@gmail.com>||%0a%3c ||         ||            ||                                             ||%0a%3c %0a%3c %0a%3c !!!Preface to this Edition%0a%3c %0a%3c This is a lone work by Angelo Rossi %3cangelo.rossi.homelab@gmail.com>%0a%3c %0a%3c !!!License Information%0a%3c %0a%3c Copyright (C) 2023 Angelo Rossi %3cangelo.rossi.homelab@gmail.com>%0a%3c %0a%3c Redistribution and use in source and binary forms, with or without%0a%3c modification, are permitted provided that the following conditions%0a%3c are met:%0a%3c %0a%3c 1. Redistributions of source code must retain the above copyright%0a%3c    notice, this list of conditions and the following disclaimer.%0a%3c 2. Redistributions in binary form must reproduce the above copyright%0a%3c    notice, this list of conditions and the following disclaimer in the%0a%3c    documentation and/or other materials provided with the distribution.%0a%3c 3. Neither the name of the University nor the names of its contributors%0a%3c    may be used to endorse or promote products derived from this software%0a%3c    without specific prior written permission.%0a%3c %0a%3c THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND%0a%3c ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE%0a%3c IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE%0a%3c ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE%0a%3c FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL%0a%3c DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS%0a%3c OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)%0a%3c HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT%0a%3c LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY%0a%3c OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF%0a%3c SUCH DAMAGE.%0a%3c %0a
+host:1700843694=93.45.233.109
blob - /dev/null
blob + 3023c7d1e0bd3895e017df8e6ed58b3af45d6f86 (mode 644)
--- /dev/null
+++ wiki.d/Hunchentoot.Install-Draft,del-1700849780
@@ -0,0 +1,45 @@
+version=pmwiki-2.3.20 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0
+author=Posterdati
+charset=UTF-8
+csum=
+ctime=1700843694
+host=93.45.233.109
+name=Hunchentoot.Install-Draft
+rev=11
+targets=
+text=!'''Common Lisp on OpenBSD'''%0a%0a!!'''With a simple Hunchentoot example'''%0a%0a|| border=1 width=50%25 class="sortable simpletable"%0a||!Revision||!Description||!Name                                        ||%0a||0.0.1    ||This table  ||Angelo Rossi %3cangelo.rossi.homelab@gmail.com>||%0a||         ||            ||                                             ||%0a%0a%0a!!!'''Preface to this Edition'''%0a%0aThis is a lone work by Angelo Rossi %3cangelo.rossi.homelab@gmail.com>%0a%0a!!!'''License Information'''%0a%0aCopyright (C) 2023 Angelo Rossi %3cangelo.rossi.homelab@gmail.com>\\%0a%0a%0aRedistribution and use in source and binary forms, with or without\\%0amodification, are permitted provided that the following conditions\\%0aare met:\\%0a%0a%0a1. Redistributions of source code must retain the above copyright\\%0a   notice, this list of conditions and the following disclaimer.\\%0a2. Redistributions in binary form must reproduce the above copyright\\%0a   notice, this list of conditions and the following disclaimer in the\\%0a   documentation and/or other materials provided with the distribution.\\%0a3. Neither the name of the University nor the names of its contributors\\%0a   may be used to endorse or promote products derived from this software\\%0a   without specific prior written permission.\\%0a%0a%0aTHIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND\\%0aANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\\%0aIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\\%0aARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE\\%0aFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\\%0aDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\\%0aOR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\\%0aHOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\\%0aLIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\\%0aOUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\\%0aSUCH DAMAGE.\\%0a%0a!'''Introduction'''%0a%0aThis document explain how to install and configure sbcl on OpenBSD system.%0aAssuming you already installed this OS on your machine with basic tools and%0adesktop environment or, at least, you are able to use emacs as text editor.%0aFirst of all OpenBSD is a free 4.4BSD-based Unix-like operating system. It has%0agot these unique features:%0a%0a* portability;%0a* standardization;%0a* correctness;%0a* proactive security;%0a* integrated cryptography.%0a%0aFor all of these you could be interested in run a webserver on it. So let's see%0ahow to achieve that and look at a simple way to program a dynamic webserver%0aapplication which in turn use the Common Lisp language to create html pages on%0athe fly.%0a%0a!!'''Foreword'''%0a%0aWhy Common Lisp? One of the question that arises most of the times speaking%0awith people involved in computer science as professionals or reasearches. Most%0aof them look at Lisp (and Common Lisp as a reflex) not only the language%0adeveloped for AI fifty years ago, but something strange and esotheric,%0asomething not really useful and related to a distant past made of punched cards%0aand gigantic magnetic tape reader the size of a fridge.  No one take Lisp as%0athe language of the following innovations:%0a%0a* a regular and most simple syntax among high level programming language;%0a* the first high level language used to program an OS (Genera);%0a* used to program one of the first graphic user interface for an OS;%0a* an advanced macro system to generate Lisp code and extend the language (DSL);%0a* A garbage collector;%0a* derived from the mathematics idea of lambda calculus by Alonzo Church;%0a* a major dialect with a standard: ANSI INCITS 226-1994 (S20018).%0a%0a!!'''Who is this guide for?'''%0a%0aThe purpose of this guide is to let the reader discovers one of the most%0aadvanced and complete language in the history of computer science.  The usage%0aof Lisp is quite simple since it is based on very basic ideas about%0aprogramming.  Since OpenBSD is a modern UNIX OS with excels in some areas like%0asecurity and correctness, this guide could be of some use to people that want%0ato experimenting and deploy secure applications for everyday usage.  A basic%0aknowledge of OpenBSD, shell and Common Lisp will boost the process to build%0aand better understand the concept.  For those who don't know Common Lisp we%0asuggest to read those books: [BARSKI2010]_ and [SEIBEL2005]_.%0a%0a!!'''Other resources'''%0a%0aOnline official documentation and info sources from:%0a%0a* FAQ manual `%3chttps://www.openbsd.org/faq/index.html>`_%0a* man pages: `%3chttps://man.openbsd.org>`_%0a* Mailing list `%3chttps://www.openbsd.org/mail.html>`_%0a* #OpenBSD IRC channel on Libera Chat `%3circ.libera.chat>`_%0a* #lisp IRC channel on Libera Chat `%3circ.libera.chat>`_%0a* #lisp IRC channel on IRC Now `%3circ.bsdforall.org>`_%0a%0a!!'''Legally speaking...'''%0a%0aWe referenced to the BSD 3 clauses license for this work and the related code.%0a%0a!'''Getting Started'''%0a%0a!!'''The installation process'''%0a%0aWe refer to a running and functional installation of OpenBSD 7.4 for amd64%0aplatform even if the majority of the ideas can be used on othe platform too%0aas sparc64 and arm64. First of all we open a terminal window: OpenBSD uses%0acsh as standard shell interpreter, int this guide we prefer the bash shell%0aso, as root, we can give the command:%0a%0a%0a[@%0a$ doas pkg_add -v bash%0a@]%0a%0a%0aAfter the installation we can add to the system the Stell Bank Common Lisp%0ainterpreter/compiler - sbcl with:%0a%0a%0a[@%0a$ doas pkg_add -v sbcl%0a@]%0a%0a%0a!!'''Configuration for sbcl'''%0a%0aAs installed, sbcl is already working with its default configuration which are%0aspecified in its \*features\* global variable, for example, let's run sbcl:%0a%0a[@%0a$ sbcl%0a@]%0a%0athe system responds with:%0a%0a[@%0aThis is SBCL 2.3.8.openbsd.sbcl-2.3.8, an implementation of ANSI Common Lisp.%0aMore information about SBCL is available at %3chttp://www.sbcl.org/>.%0aSBCL is free software, provided as is, with absolutely no warranty.%0aIt is mostly in the public domain; some portions are provided under%0aBSD-style licenses.  See the CREDITS and COPYING files in the%0adistribution for more information.%0a*%0a@]%0a%0aOr with a very similar message, informing us that the interpreter is ready and%0ait is waiting for a command to be entered at the REPL prompt "*".%0a%0aREPL stands for Read, Eval and Print Loop: a way to interact with a user.%0aAt first the informations entered after the prompt are read, then evaluated%0aby the sbcl interpreter and a result is always printed/returned back to the%0auser. The cycle continues with the interpreter waiting for the user to enter%0ainformations again.  At this point we would like to see some configurations/characteristics%0aof this particular version of the interpreter, so we enter:%0a%0a[@%0a* *features*%0a(:ARENA-ALLOCATOR :X86-64 :GENCGC :64-BIT :ANSI-CL :BSD :COMMON-LISP :ELF%0a :IEEE-FLOATING-POINT :LITTLE-ENDIAN :OPENBSD :PACKAGE-LOCAL-NICKNAMES%0a :SB-CORE-COMPRESSION :SB-LDB :SB-PACKAGE-LOCKS :SB-THREAD :SB-UNICODE :SBCL%0a :UNIX)%0a@]%0a%0a!!'''Installing quicklisp'''%0a%0aLet's quit the interpreter and continue installing other software that we will%0ause to make a Common Lisp development environment, the editor. We choose emacs%0awhich is, among other things, programmed largely in Lisp, it has inside it a%0aCommon Lisp interpreter which is used to perform operation on text as well as%0aconfigurations:%0a%0a[@%0a$ doas pkg_add -v emacs%0a@]%0a%0aAt this point the installer can ask us to choose among different version of%0aemacs. Choose the one is best with your desktop environment or, if you like%0ainstall the version with no desktop support at all, you can still use it from%0athe console or terminal with no great difference from the desktop version.%0aAlso emacs has got is own configuration which is accessible with the program%0ainterface or modifying a file in the home directory.  We will see how to%0aachieve that in the following paragraph, by now let's install the quicklisp%0acommon lisp library system.  This is a completely written in Common Lisp%0apiece of software, which make the user capable of handling projects related%0ato Common Lisp itself, we will use it to let our software use already written%0alibraries.  To install quicklisp we have to download the quicklisp installer%0afrom the site [[https://beta.quicklisp.org]].  We use curl to do that, so:%0a%0a[@%0a$ doas pkg_add -v curl%0a@]%0a%0aproceed to retrieve the quicklisp library:%0a%0a[@%0a$ curl -O https://beta.quicklisp.org/quicklisp.lisp%0a@]%0a%0aand the library file signature to check its authenticity:%0a%0a[@%0a$ curl -O https://beta.quicklisp.org/quicklisp.lisp.asc%0a@]%0a%0athen we check the signature of the downloaded file:%0a%0a[@%0a$ gpg --verify quicklisp.lisp.asc quicklisp.lisp%0agpg: Signature made Sat Feb  1 09:25:28 2014 EST using RSA key ID 028B5FF7%0agpg: Good signature from "Quicklisp Release Signing Key "%0a@]%0a%0aThe downloaded file is then usable to install the quicklisp library manager. At%0aThis point we face two main choices: we can install the library manager only%0afor the user or system-wide.  We assume for now that the installation is%0alimited to one user, so we can proceed as follows:%0a%0a[@%0a%0a$ sbcl --load quicklisp.lisp%0aThis is SBCL 2.3.8.openbsd.sbcl-2.3.8, an implementation of ANSI Common Lisp.%0aMore information about SBCL is available at %3chttp://www.sbcl.org/>.%0a%0aSBCL is free software, provided as is, with absolutely no warranty.%0aIt is mostly in the public domain; some portions are provided under%0aBSD-style licenses.  See the CREDITS and COPYING files in the%0adistribution for more information.%0a%0a==== quicklisp quickstart 2015-01-28 loaded ====%0a%0a  To continue with installation, evaluate: (quicklisp-quickstart:install)%0a%0a  For installation options, evaluate: (quicklisp-quickstart:help)%0a%0a*%0a@]%0a%0aAt this point we can proceed to install the library:%0a%0a[@%0a* (quicklisp-quickstart:install)%0a...%0a==== quicklisp installed ====%0a%0a  To load a system, use: (ql:quickload "system-name")%0a%0a  To find systems, use: (ql:system-apropos "term")%0a%0a  To load Quicklisp every time you start Lisp, use: (ql:add-to-init-file)%0a%0a  For more information, see http://www.quicklisp.org/beta/%0a%0aT%0a*%0a@]%0a%0aTo use the library with the sbcl REPL we must instruct sbcl itself to load a%0aconfiguration batch file called .sbclrc which resides in the user home.%0aQuicklisp can do that for us as stated in the message above, in fact let's%0aissue the form in the REPL:%0a%0a[@%0a* (ql:add-to-init-file)%0aI will append the following lines to #P"/home/user/.sbclrc":%0a%0a;;; The following lines added by ql:add-to-init-file:%0a#-quicklisp%0a(let ((quicklisp-init #P"/home/user/quicklisp/setup.lisp"))%0a  (when (probe-file quicklisp-init)%0a    (load quicklisp-init)))%0a%0aPress Enter to continue.%0a%0a#P"/home/user/.sbclrc"%0a* (quit)%0a$%0a@]%0a%0aTo return to the shell prompt, we can check that the following code is then%0awritten in the .sbclrc file:%0a%0a[@%0a$ cat ~/.sbclrc%0a;;; The following lines added by ql:add-to-init-file:%0a#-quicklisp%0a(let ((quicklisp-init #P"/home/user/quicklisp/setup.lisp"))%0a  (when (probe-file quicklisp-init)%0a    (load quicklisp-init)))%0a@]%0a%0a.sbclrc is the file which is read and evaluated from sbcl before entering the%0aREPL, we can place configuration code for sbcl in there.  For example we want%0asbcl and quicklisp to include our personal Common Lisp projects repository%0awhich is, for example, in ~/Development/lisp directory.  So we add the%0afollowing code at the end of .sbclrc:%0a%0a[@%0a(defun setup-registry (directory-path)%0a  (format t "; adding components under ~A to asdf registry~%25" directory-path)%0a  (mapc (lambda (asd-pathname)%0a          (pushnew (make-pathname :name nil%0a	                          :type nil%0a	        		  :version nil%0a			          :defaults asd-pathname)%0a                   asdf:*central-registry*%0a	           :test #'equal))%0a	  (directory (merge-pathnames #p"**/*.asd" directory-path))))%0a%0a(setup-registry (merge-pathnames #p"Development/lisp/" (user-homedir-pathname)))%0a@]%0a%0aLet's see what happens when we launch sbcl:%0a%0a[@%0a$ sbcl%0aThis is SBCL 2.3.8.openbsd.sbcl-2.3.8, an implementation of ANSI Common Lisp.%0aMore information about SBCL is available at %3chttp://www.sbcl.org/>.%0a%0aSBCL is free software, provided as is, with absolutely no warranty.%0aIt is mostly in the public domain; some portions are provided under%0aBSD-style licenses.  See the CREDITS and COPYING files in the%0adistribution for more information.%0a; adding components under /home/angel/Development/lisp/ to asdf registry%0a*%0a@]%0a%0aNow let's check what happened to the \*features\*:%0a%0a[@%0a* *features*%0a(:QUICKLISP :ASDF3.3 :ASDF3.2 :ASDF3.1 :ASDF3 :ASDF2 :ASDF :OS-UNIX%0a :NON-BASE-CHARS-EXIST-P :ASDF-UNICODE :ARENA-ALLOCATOR :X86-64 :GENCGC :64-BIT%0a :ANSI-CL :BSD :COMMON-LISP :ELF :IEEE-FLOATING-POINT :LITTLE-ENDIAN :OPENBSD%0a :PACKAGE-LOCAL-NICKNAMES :SB-CORE-COMPRESSION :SB-LDB :SB-PACKAGE-LOCKS%0a :SB-THREAD :SB-UNICODE :SBCL :UNIX)%0a*%0a@]%0a%0a!!'''Configuration for emacs'''%0a%0aQuicklisp library added more features to the basic sbcl behaviour especially%0arelated to ASDF.  Now let's configure emacs to allow us to have a REPL inside%0aa window:%0a%0a[@%0a$ sbcl%0a...%0a* (ql:quickload :quicklisp-slime-helper)%0a  To load "quicklisp-slime-helper":%0a    Load 1 ASDF system:%0a    quicklisp-slime-helper%0a; Loading "quicklisp-slime-helper"%0a[package swank-loader]............................%0a[package quicklisp-slime-helper]%0aslime-helper.el installed in "/home/user/quicklisp/slime-helper.el"%0a%0aTo use, add this to your ~/.emacs:%0a%0a (load (expand-file-name "/home/user/quicklisp/slime-helper.el"))%0a ;; Replace "sbcl" with the path to your implementation%0a (setq inferior-lisp-program "sbcl")%0a%0a%0a(:QUICKLISP-SLIME-HELPER)%0a*%0a@]%0a%0aTo add the code showed by the message before we shall open ~/.emacs which is%0ain turn the configuration file for emacs and add the lines:%0a%0a[@%0a(load (expand-file-name "/home/user/quicklisp/slime-helper.el"))%0a;; Replace "sbcl" with the path to your implementation%0a(setq inferior-lisp-program "sbcl")%0a@]%0a%0aonce the .emacs file is edited we can launch emacs and we have the window:%0a%0aAttach:emacs-001.png%0a%0awe start SLIME by pressing the key Alt and x on the keyboard, emacs will let us%0aenter a command:%0a%0aAttach:emacs-002.png%0a%0awe enter the command "slime" at the "M-x" prompt:%0a%0aAttach:emacs-003.png%0a%0aand press the enter key on the keyboard.  The SLIME REPL appears:%0a%0aAttach:emacs-004.png%0a%0aLet's see what are the \*features\* now using the SLIME REPL:%0a%0aAttach:emacs-005.png%0a%0aWe can try to load a package "antik", and then:%0a%0a[@%0aCL-USER> (ql:quickload :antik)%0a...%0a(:ANTIK)%0aCL-USER>%0a@]%0a%0aantik provides some useful constants and standard quantities handling in%0ascientific calculations such as:%0a%0a[@%0aCL-USER> antik:+days-per-month+%0a30%0aCL-USER>%0a@]%0a%0a!'''Hunchentoot basic application'''%0a%0a!!'''Hunchentoot installation'''%0a%0aUsing SLIME the Superior Lisp Interaction Mode for Emacs%0a([[https://slime.common-lisp.dev]]), we enter the form:%0a%0a[@%0aCL-USER> (ql:quickload :hunchentoot)%0aTo load "hunchentoot":%0aLoad 1 ASDF system:%0a  hunchentoot%0a; Loading "hunchentoot"%0a.%0a(:HUNCHENTOOT)%0aCL-USER>%0a@]%0a%0aDocumentation for the hunchentoot server is at%0a[[https://edicl.github.io/hunchentoot]].  In this example we used the SSL%0alibrary to deploy an SSL enabled webserver, thus we have to create a self%0asigned certificate to run the server.  Following these hints let you create%0awhat needed for the server.  First of all let's install the openssl library and%0atools:%0a%0a[@%0a$ doas pkg_add -v openssl%0a@]%0a%0awe choose 1: openssl-3.1.3, after the installation we issue the command%0a%0a[@%0a $ openssl version%0aLibreSSL 3.8.2%0a$%0a@]%0a%0athis means the library is correctly installed and ready to be used to create%0aour certificate and key:%0a%0a[@%0a$ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ~/selfsigned.key -out ~/selfsigned.crt%0a........................................................%0a.........................................................................................................................................%0awriting new private key to '/home/angel/selfsigned.key'%0a-----%0aYou are about to be asked to enter information that will be incorporated%0ainto your certificate request.%0aWhat you are about to enter is what is called a Distinguished Name or a DN.%0aThere are quite a few fields but you can leave some blank%0aFor some fields there will be a default value,%0aIf you enter '.', the field will be left blank.%0a-----%0aCountry Name (2 letter code) []:IT%0aState or Province Name (full name) []:Italy%0aLocality Name (eg, city) []:Rome%0aOrganization Name (eg, company) []:Antani S.r.l.%0aOrganizational Unit Name (eg, section) []:R&D%0aCommon Name (eg, fully qualified host name) []:antani.it%0aEmail Address []:antani@antani.it%0a$%0a@]%0a%0aLet's create .pem files to use in clients transactions with the server:%0a%0a[@%0a$ openssl x509 -in ~/selfsigned.crt -out ~/selfsigned-crt.pem -outform PEM%0a$ openssl rsa -in selfsigned.key -text > selfsigned-key.pem%0awriting RSA key%0a$%0a@]%0a%0aso we finally have:%0a%0a[@%0a$ ls ~/selfsigned*%0a/home/user/selfsigned-crt.pem   /home/user/selfsigned-key.pem   /home/user/selfsigned.crt       /home/user/selfsigned.key%0a$%0a@]%0a%0awe can directly use the .pem files to run our test SSL-based webserver.  Those%0afiles have to be moved inside our Common Lisp project directory, which at this%0atime is non-existent.%0a%0a!!'''Project creation and configuration'''%0a%0aTo create an empty project skeleton we have to use%0aanother useful quicklisp library: quickproject, so let's return to the SLIME%0aREPL prompt on emacs and enter the form.\\%0a%0aA form is something enclosed in "(" and ")" pair, it is the way the Common%0aLisp interpreter understand the commands and data entered via the REPL.%0aIn the same way, Common Lisp programs are composed by forms which may%0acontains other forms as well.  There are other objects that can be entered%0ain the REPL and evaluated, they are: numbers, symbols, keywords, strings,%0acharacters, t and nil.  Those objects it said that evaluate to themselves.%0a%0a[@%0aCL-USER> (ql:quickload :quickproject)%0aTo load "quickproject":%0aLoad 1 ASDF system:%0a  quickproject%0a; Loading "quickproject"%0a[package html-template]...........................%0a[package quickproject].%0a(:QUICKPROJECT)%0aCL-USER>%0a@]%0a%0aWe are ready to create a skeleton project and hack it to perform the required%0atask.  Just enter:%0a%0a[@%0aCL-USER> (quickproject:make-project #p"/home/user/Development/lisp/test-hunchentoot"%0a                                    :depends-on '(#:cl-fad%0a		                                  #:cl-who%0a			                          #:cl+ssl%0a						  #:ironclad%0a						  #:lass%0a						  #:parenscript%0a						  #:hunchentoot%0a						  #:bordeaux-threads%0a						  #:simple-date-time)%0a				     :author "antani %3cantani@antani.it>"%0a				     :license "BSD")%0aWARNING:%0a   Coercing #p"/home/user/Development/lisp/test-hunchentoot" to directory%0a"test-hunchentoot"%0aCL-USER>%0a@]%0a%0aThe project is then created following the path%0a/home/user/Development/lisp/test-hunchentoot.  We can check that issuing from%0athe shell:%0a%0a[@%0a$ ls ~/Development/lisp%0atest-hunchentoot%0a@]%0a%0aand then:%0a%0a[@%0a$ ls ~/Development/lisp/test-hunchentoot%0aREADME.md                 package.lisp              test-hunchentoot.asd      test-hunchentoot.lisp%0a$%0a@]%0a%0aFor a small project we can leave this layout as it is, but since we do not know%0athe future development of the project, one can follow this example or feel free%0ato reshape the project layout as it fits the purpose:%0a%0a[@%0a$ cd ~/Development/lisp/test-hunchentoot%0a$ mkdir sources scripts docs%0a$ mv *.lisp sources/%0a$ ls%0aREADME.md                 docs                      scripts                   sources                   test-hunchentoot.asd%0a$%0a@]%0a%0aSo we leave .lisp files inside the sources/ directory and the system files on%0athe project root directory.  Now let's see what is inside the files created%0aby quickproject, just pick test-hunchentoot.asd using emacs menu "File", then%0a"Open File..." and choose the correct file navigating the user home directory:%0a%0a[@%0a;;;; test-hunchentoot.asd%0a%0a(asdf:defsystem #:testina-hunchentoot%0a  :description "Describe test-hunchentoot here"%0a  :author "antani %3cantani@antani.it>"%0a  :license  "BSD"%0a  :version "0.0.1"%0a  :serial t%0a  :depends-on (#:cl-fad #:cl-who #:cl+ssl #:ironclad #:lass #:parenscript #:hunchentoot #:bordeaux-threads #:simple-date-time)%0a  :components ((:file "package")%0a               (:file "testina-hunchentoot")))%0a@]%0a%0aWe created a PEM certificate and a key, we can move them inside the project directory with:%0a%0a[@%0a$ mv ~/selfsigned-crt.pem ~/Development/lisp/test-hunchentoot/scripts/%0a$ mv ~/selfsigned-key.pem ~/Development/lisp/test-hunchentoot/scripts/%0a$%0a@]%0a%0aSo we can reference them starting from the hunchentoot server document root%0adirectory.  Before entering the application programming phase, we want to%0aadd legal notices (license) to the project files.  We follow this convention:%0aevery file containing code related to system definitions and packaging will be%0amarked with a license text, here an example test-hunchentoot.asd file in which%0athe test-hunchentoot system is defined:%0a%0a[@%0a;;;;***************************************************************************%0a;;;; test-hunchentoot.asd%0a;;;;%0a;;;; Copyright 2023 Antani %3cantani@antani.it>%0a;;;;%0a;;;; Redistribution and use in source and binary forms, with or without%0a;;;; modification, are permitted provided that the following conditions are met:%0a;;;;%0a;;;;     1. Redistributions of source code must retain the above copyright notice,%0a;;;;        this list of conditions and the following disclaimer.%0a;;;;%0a;;;;     2. Redistributions in binary form must reproduce the above copyright%0a;;;;        notice, this list of conditions and the following disclaimer in the%0a;;;;        documentation and/or other materials provided with the distribution.%0a;;;;%0a;;;;     3. Neither the name of the copyright holder nor the names of its%0a;;;;        contributors may be used to endorse or promote products derived from%0a;;;;        this software without specific prior written permission.%0a;;;;%0a;;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND%0a;;;; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED%0a;;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE%0a;;;; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE%0a;;;; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL%0a;;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR%0a;;;; SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER%0a;;;; CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,%0a;;;; OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE%0a;;;; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.%0a;;;;***************************************************************************%0a%0a(asdf:defsystem #:test-hunchentoot%0a  :description "Test hunchentoot server (SSL version)."%0a  :author "Antani %3cantani@antani.it>"%0a  :license "BSD"%0a  :depends-on (#:cl-fad%0a               #:cl-who%0a	       #:cl+ssl%0a	       #:ironclad%0a	       #:lass%0a	       #:parenscript%0a	       #:hunchentoot%0a	       #:bordeaux-threads%0a	       #:simple-date-time)%0a  :serial t%0a  :components ((:file "sources/package")%0a               (:file "sources/parameters")%0a	       (:file "sources/system")%0a	       (:file "sources/test-hunchentoot")))%0a%0a;; End of file test-hunchentoot.asd%0a@]%0a%0aTo automate the process of inserting this license text, we can create a text%0afile and insert it in the source file we want to modify, for example let's call%0ait LICENSE:%0a%0a[@%0a;;;; Copyright 2023 Antani %3cantani@antani.it>%0a;;;;%0a;;;; Redistribution and use in source and binary forms, with or without%0a;;;; modification, are permitted provided that the following conditions are met:%0a;;;;%0a;;;;     1. Redistributions of source code must retain the above copyright notice,%0a;;;;        this list of conditions and the following disclaimer.%0a;;;;%0a;;;;     2. Redistributions in binary form must reproduce the above copyright%0a;;;;        notice, this list of conditions and the following disclaimer in the%0a;;;;        documentation and/or other materials provided with the distribution.%0a;;;;%0a;;;;     3. Neither the name of the copyright holder nor the names of its%0a;;;;        contributors may be used to endorse or promote products derived from%0a;;;;        this software without specific prior written permission.%0a;;;;%0a;;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND%0a;;;; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED%0a;;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE%0a;;;; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE%0a;;;; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL%0a;;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR%0a;;;; SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER%0a;;;; CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,%0a;;;; OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE%0a;;;; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.%0a;;;;***************************************************************************%0a@]%0a%0aso a source code file related to packaging and system definitions will have%0athis shape:%0a%0a* a comment containing emacs configurations and mode for the file;%0a* a separator;%0a* the name of the file itself;%0a* a separator;%0a* the licensing information;%0a* a separator;%0a* source code;%0a* an end of file comment.%0a%0aOther source code files, instead will have this shape:%0a%0a* a comment containing emacs configurations and mode for the file;%0a* a separator;%0a* the file name;%0a* a description of the file contents;%0a* a separator;%0a* source code;%0a* an end of file comment.%0a%0aWe remind you that in Common Lisp comments always begin with ";" until the end%0aof the line.  There are some conventions on the use of ";" itself.  The%0afollowing rules are taken from "Google Common Lisp Style Guide" at%0a[[https://google.github.io/styleguide/lispguide.xml]]%0a%0a* File headers and important comments that apply to large sections of code in a source file should begin with four semicolons.%0a* You should use three semicolons to begin comments that apply to just one top-level form or small group of top-level forms.%0a* Inside a top-level form, you should use two semicolons to begin a comment if it appears between lines.%0a* You should use one semicolon if it is a parenthetical remark and occurs at the end of a line. You should use spaces to separate the comment from the code it refers to so the comment stands out. You should try to vertically align consecutive related end-of-line comments.%0a%0aThe complete project would appear as follows:%0a%0a[@%0a$ tree%0a.%0a|-- LICENCE%0a|-- README%0a|-- scripts%0a|   |-- run-webserver.sh%0a|   |-- selfsigned-crt.pem%0a|   `-- selfsigned-key.pem%0a|-- sources%0a|   |-- package.lisp%0a|   |-- parameters.lisp%0a|   |-- system.lisp%0a|   `-- test-hunchentoot.lisp%0a`-- test-hunchentoot.asd%0a%0a2 directories, 10 files%0a$%0a@]%0a%0aFile are listed as follows.  For the package.lisp file in sources/:%0a%0a[@%0a;;;; -*- mode: common-lisp-mode; electric-indent-mode: t; coding: utf-8 -*-%0a;;;;***************************************************************************%0a;;;; package.lisp%0a;;;;***************************************************************************%0a;;;; Copyright 2023 Antani %3cantani@antani.it>%0a;;;;%0a;;;; Redistribution and use in source and binary forms, with or without%0a;;;; modification, are permitted provided that the following conditions are met:%0a;;;;%0a;;;;     1. Redistributions of source code must retain the above copyright notice,%0a;;;;        this list of conditions and the following disclaimer.%0a;;;;%0a;;;;     2. Redistributions in binary form must reproduce the above copyright%0a;;;;        notice, this list of conditions and the following disclaimer in the%0a;;;;        documentation and/or other materials provided with the distribution.%0a;;;;%0a;;;;     3. Neither the name of the copyright holder nor the names of its%0a;;;;        contributors may be used to endorse or promote products derived from%0a;;;;        this software without specific prior written permission.%0a;;;;%0a;;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND%0a;;;; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED%0a;;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE%0a;;;; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE%0a;;;; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL%0a;;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR%0a;;;; SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER%0a;;;; CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,%0a;;;; OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE%0a;;;; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.%0a;;;;***************************************************************************%0a%0a(defpackage #:test-hunchentoot%0a  (:use #:cl)%0a  (:export #:start-web-server%0a           #:stop-web-server))%0a%0a;;;; End of file package.lisp%0a@]%0a%0aFor the parameters.lisp file in sources/:%0a%0a[@%0a;;;; -*- mode: common-lisp-mode; electric-indent-mode: t; coding: utf-8 -*-%0a;;;;***************************************************************************%0a;;;; parameters.lisp%0a;;;;***************************************************************************%0a;;;; Parameters and variables definitions for the project test-hunchentoot.%0a;;;;***************************************************************************%0a%0a(in-package #:test-hunchentoot)%0a%0a;;;; Parameters.%0a(defparameter *ssl-acceptor* nil)%0a(defparameter *default-document-root-directory-pathname* (cl-fad:merge-pathnames-as-directory (user-homedir-pathname) #p"Development/lisp/test-hunchentoot/"))%0a(defparameter *default-ssl-private-key-file-pathname* (cl-fad:merge-pathnames-as-file (user-homedir-pathname) #p"Development/lisp/test-hunchentoot/scripts/selfsigned-key.pem"))%0a(defparameter *default-ssl-certificate-file-pathname* (cl-fad:merge-pathnames-as-file (user-homedir-pathname) #p"Development/lisp/test-hunchentoot/scripts/selfsigned-crt.pem"))%0a(defparameter *default-port* 4242)%0a(defparameter *default-ssl-port* 9443)%0a(defparameter *port* 4242)%0a(defparameter *ssl-port* 9443)%0a(defparameter *default-start-page-reload-timeout* 0)%0a(defparameter *default-info-email* "antani@antani.it")%0a(defparameter *fruits* '(apple pear banana orange avocado pineapple peach plum))%0a%0a;;;; End of file parameters.lisp%0a@]%0a%0aFor the system.lisp file in sources/:%0a%0a[@%0a;;;; -*- mode: common-lisp-mode; electric-indent-mode: t; coding: utf-8 -*-%0a;;;;***************************************************************************%0a;;;; system.lisp%0a;;;;***************************************************************************%0a;;;; Provide data structures and classes definitions for the project%0a;;;; test-hunchentoot.%0a;;;;***************************************************************************%0a%0a(in-package #:test-hunchentoot)%0a%0a;; System class.%0a(defclass system-class ()%0a  ((acceptor :initarg :acceptor :accessor acceptor :initform nil)%0a   (ssl-acceptor :initarg :ssl-acceptor :accessor ssl-acceptor :initform nil)%0a   (lock-object :initarg :lock-object :accessor lock-object :initform nil)%0a   (condition-object :initarg :condition-object :accessor condition-object :initform nil)))%0a%0a;; functions.%0a%0a(defun make-system (&rest parameters &key (acceptor nil acceptor-p) (ssl-acceptor nil ssl-acceptor-p) (lock-object nil lock-object-p) (condition-object nil condition-object-p))%0a  "Create an instance of the system-class."%0a  (declare (ignorable parameters%0a                      acceptor%0a                      ssl-acceptor%0a		      lock-object%0a		      condition-object))%0a  (make-instance 'system-class%0a                 :acceptor acceptor%0a                 :ssl-acceptor ssl-acceptor%0a		 :lock-object lock-object%0a	         :condition-object condition-object))%0a%0a;;;; End of file system.lisp%0a@]%0a%0aFor the test-hunchentoot.lisp file in sources/:%0a%0a[@%0a;;;; -*- mode: common-lisp-mode; electric-indent-mode: t; coding: utf-8 -*-%0a;;;;***************************************************************************%0a;;;; test-hunchentoot.lisp%0a;;;;***************************************************************************%0a;;;; This file contains all the functions for the test-hunchentoot project.%0a;;;;***************************************************************************%0a;;;;%0a%0a(in-package #:test-hunchentoot)%0a%0a;; "test-hunchentoot" goes here. Hacks and glory await!%0a;; Initial setup for javascript environment%0a(eval-when (:compile-toplevel :execute)%0a  (setq cl-who:*attribute-quote-char* #\"%0a        ps:*js-string-delimiter* #\"))%0a%0a;; Methods.%0a(defmethod hunchentoot:acceptor-dispatch-request ((vhost system-class) request)%0a  (mapc (lambda (dispatcher)%0a          (let ((handler (funcall dispatcher request)))%0a            (when handler%0a              (return-from hunchentoot:acceptor-dispatch-request (funcall handler)))))%0a        (dispatch-table vhost))%0a  (call-next-method))%0a%0a(defmethod start-web-server ((object system-class) &rest parameters &key %0a                                                                      (document-root-directory-pathname *default-document-root-directory-pathname* document-root-directory-pathname-p)%0a	                                                              (ssl-private-key-file-pathname *default-ssl-private-key-file-pathname* ssl-private-key-file-pathname-p)%0a	                                                              (ssl-certificate-file-pathname *default-ssl-certificate-file-pathname* ssl-certificate-file-pathname-p)%0a	                                                              (address "localhost" address-p)%0a                                                                      (port *default-port* port-p)%0a	                                                              (ssl-port *default-ssl-port* ssl-port-p)%0a                                                                      (page-reload-timeout *default-start-page-reload-timeout* page-reload-timeout-p)%0a                                                                      (verbose nil))%0a  "Configure and start the hunchentoot webserver."%0a  (declare (ignorable parameters%0a                      document-root-directory-pathname%0a	              ssl-private-key-file-pathname%0a		      ssl-certificate-file-pathname%0a		      address%0a		      port%0a		      ssl-port%0a	              page-reload-timeout%0a		      verbose))%0a  (when document-root-directory-pathname-p%0a    (check-type document-root-directory-pathname pathname)%0a    (assert (cl-fad:directory-exists-p document-root-directory-pathname)))%0a  (when ssl-private-key-file-pathname-p%0a    (check-type ssl-private-key-file-pathname pathname)%0a    (assert (cl-fad:file-exists-p ssl-private-key-file-pathname)))%0a  (when ssl-certificate-file-pathname-p%0a    (check-type ssl-certificate-file-pathname pathname)%0a    (assert (cl-fad:file-exists-p ssl-certificate-file-pathname)))%0a  (when address-p%0a    (check-type address string))%0a  (when port-p%0a    (check-type port (unsigned-byte 16)))%0a  (when ssl-port-p%0a    (check-type ssl-port (unsigned-byte 16)))%0a  (when (and port-p ssl-port-p)%0a    (assert (/= port ssl-port)))%0a  (when page-reload-timeout-p%0a    (check-type page-reload-timeout (unsigned-byte 16)))%0a  ;;%0a  (setq *random-state* (make-random-state t))%0a  (unwind-protect%0a      (let* ((hunchentoot:*log-lisp-errors-p* t)%0a             (hunchentoot:*log-lisp-warnings-p* t)%0a	     (hunchentoot:*catch-errors-p* nil)%0a             (stdin (sb-sys:make-fd-stream 0%0a		                           :input t%0a					   :buffering :full%0a					   :element-type '(unsigned-byte 8)))%0a	     (cl+ssl:make-ssl-client-stream (cl+ssl:stream-fd stdin)))%0a        (setf (lock-object object) (bt:make-lock (symbol-name (gensym "webserver-lock-"))))%0a	(setf (condition-object object) (bt:make-condition-variable :name (symbol-name (gensym "webserver-condition-"))))%0a	;; Server setup and start%0a	(setf (ssl-acceptor object) (make-instance 'hunchentoot:easy-ssl-acceptor%0a	                                           :name 'ssl-acceptor%0a				                   :ssl-privatekey-file ssl-private-key-file-pathname%0a						   :ssl-certificate-file ssl-certificate-file-pathname%0a						   :address address%0a						   :port ssl-port%0a						   :document-root document-root-directory-pathname))%0a        (hunchentoot:start (ssl-acceptor object))%0a	(setq *ssl-acceptor* (ssl-acceptor object))%0a	(when verbose%0a	  (format *standard-output*%0a	          "~%25;; Starting SSL Web Server on port ~a.~%25~%25" ssl-port)%0a	  (format *standard-output*%0a	          ";; Certificate pathname ~s.~%25" ssl-certificate-file-pathname)%0a	  (format *standard-output*%0a	          ";; Private key pathname ~s.~%25~%25" ssl-private-key-file-pathname)%0a	  (finish-output *standard-output*))%0a	(setq hunchentoot:*dispatch-table* (list 'hunchentoot:dispatch-easy-handlers))%0a	(loop%0a	    named wait-loop%0a	    do%0a	      (handler-case%0a	          (progn%0a		    (bt:with-lock-held ((lock-object object))%0a		      (bt:condition-wait (condition-object object)%0a		                         (lock-object object)))%0a		    (return-from wait-loop))%0a		(hunchentoot:hunchentoot-error (he)%0a		  (format *standard-output* "~s~%25" he)%0a		  (finish-output *standard-output*))%0a		(error (e)%0a		  (format *standard-output* "~s~%25" e)%0a		  (finish-output *standard-output*)%0a		  (return-from wait-loop))%0a		(warning (w)%0a		  (format *standard-output* "~s~%25" w)%0a		  (finish-output *standard-output*)))))%0a    ;; unwind-protect cleanup form.%0a    (progn%0a      (when verbose%0a        (format *standard-output* ";; Shutting down webserver.~%25")%0a	(finish-output *standard-output*))%0a      (stop-web-server object :verbose t))))%0a%0a(defmethod stop-web-server ((object system-class) &rest parameters &key (verbose nil))%0a  "Stop the hunchentoot webserver."%0a  (declare (ignorable parameters verbose))%0a  (when (ssl-acceptor object)%0a    (hunchentoot:stop (ssl-acceptor object))%0a    (setq *ssl-acceptor* nil)%0a    (when verbose%0a      (format *standard-output*%0a              "~%25;; Stopping SSL Web Server.~%25~%25")%0a      (finish-output *standard-output*)))%0a  (bt:condition-notify (condition-object object)))%0a%0a;; Functions.%0a(defun remove-nth (index object)%0a  "remove the nth element from the list."%0a   (remove-if (constantly t)%0a              object%0a	      :start index%0a	      :count 1))%0a%0a;; Hunchentoot html stuffs.%0a(hunchentoot:define-easy-handler (main-page :uri "/") ()%0a  "The main page handler for http request."%0a  (hunchentoot:redirect "/index"))%0a%0a(hunchentoot:define-easy-handler (index-page :uri "/index") ()%0a  "The /index page handler for http request."%0a  (let ((temporary-fruits *fruits*)%0a        (i nil))%0a    (cl-who:with-html-output-to-string (s)%0a      (cl-who:htm%0a        (:html%0a	  (:h1 "This is an example of dynamic list:")%0a	  (:br)%0a	  (:ul%0a	    (loop%0a	        while (> (length temporary-fruits) 0)%0a		do%0a		  (setq i (random (length temporary-fruits)))%0a		  (cl-who:htm%0a		    (:li (cl-who:str (nth i temporary-fruits))))%0a		  (setq temporary-fruits (remove-nth i temporary-fruits)))))))))%0a%0a;; Start at quickload.%0a(start-web-server (make-system)%0a                  :ssl-port *default-ssl-port*%0a                  :verbose t)%0a%0a;;;; End of file test-hunchentoot.lisp%0a@]
+time=1700849749
+author:1700849749=Posterdati
+diff:1700849749:1700849198:=390,391c390,393%0a%3c Attach:emacs-001.png%0a%3c %0a---%0a> %0a> .. image:: ./images/emacs-001.png%0a> %0a> %0a395,396c397,400%0a%3c Attach:emacs-002.png%0a%3c %0a---%0a> %0a> .. image:: ./images/emacs-002.png%0a> %0a> %0a399,400c403,406%0a%3c Attach:emacs-003.png%0a%3c %0a---%0a> %0a> .. image:: ./images/emacs-003.png%0a> %0a> %0a403,404c409,412%0a%3c Attach:emacs-004.png%0a%3c %0a---%0a> %0a> .. image:: ./images/emacs-004.png%0a> %0a> %0a407,408c415,418%0a%3c Attach:emacs-005.png%0a%3c %0a---%0a> %0a> .. image:: ./images/emacs-005.png%0a> %0a> %0a886d895%0a%3c ;; "test-hunchentoot" goes here. Hacks and glory await!%0a891c900%0a%3c %0a---%0a> ;; "test-hunchentoot" goes here. Hacks and glory await!%0a900c909%0a%3c %0a---%0a> ;;%0a
+host:1700849749=93.45.233.109
+author:1700849198=Posterdati
+diff:1700849198:1700847574:=437,1055d436%0a%3c !'''Hunchentoot basic application'''%0a%3c %0a%3c !!'''Hunchentoot installation'''%0a%3c %0a%3c Using SLIME the Superior Lisp Interaction Mode for Emacs%0a%3c ([[https://slime.common-lisp.dev]]), we enter the form:%0a%3c %0a%3c [@%0a%3c CL-USER> (ql:quickload :hunchentoot)%0a%3c To load "hunchentoot":%0a%3c Load 1 ASDF system:%0a%3c   hunchentoot%0a%3c ; Loading "hunchentoot"%0a%3c .%0a%3c (:HUNCHENTOOT)%0a%3c CL-USER>%0a%3c @]%0a%3c %0a%3c Documentation for the hunchentoot server is at%0a%3c [[https://edicl.github.io/hunchentoot]].  In this example we used the SSL%0a%3c library to deploy an SSL enabled webserver, thus we have to create a self%0a%3c signed certificate to run the server.  Following these hints let you create%0a%3c what needed for the server.  First of all let's install the openssl library and%0a%3c tools:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add -v openssl%0a%3c @]%0a%3c %0a%3c we choose 1: openssl-3.1.3, after the installation we issue the command%0a%3c %0a%3c [@%0a%3c  $ openssl version%0a%3c LibreSSL 3.8.2%0a%3c $%0a%3c @]%0a%3c %0a%3c this means the library is correctly installed and ready to be used to create%0a%3c our certificate and key:%0a%3c %0a%3c [@%0a%3c $ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ~/selfsigned.key -out ~/selfsigned.crt%0a%3c ........................................................%0a%3c .........................................................................................................................................%0a%3c writing new private key to '/home/angel/selfsigned.key'%0a%3c -----%0a%3c You are about to be asked to enter information that will be incorporated%0a%3c into your certificate request.%0a%3c What you are about to enter is what is called a Distinguished Name or a DN.%0a%3c There are quite a few fields but you can leave some blank%0a%3c For some fields there will be a default value,%0a%3c If you enter '.', the field will be left blank.%0a%3c -----%0a%3c Country Name (2 letter code) []:IT%0a%3c State or Province Name (full name) []:Italy%0a%3c Locality Name (eg, city) []:Rome%0a%3c Organization Name (eg, company) []:Antani S.r.l.%0a%3c Organizational Unit Name (eg, section) []:R&D%0a%3c Common Name (eg, fully qualified host name) []:antani.it%0a%3c Email Address []:antani@antani.it%0a%3c $%0a%3c @]%0a%3c %0a%3c Let's create .pem files to use in clients transactions with the server:%0a%3c %0a%3c [@%0a%3c $ openssl x509 -in ~/selfsigned.crt -out ~/selfsigned-crt.pem -outform PEM%0a%3c $ openssl rsa -in selfsigned.key -text > selfsigned-key.pem%0a%3c writing RSA key%0a%3c $%0a%3c @]%0a%3c %0a%3c so we finally have:%0a%3c %0a%3c [@%0a%3c $ ls ~/selfsigned*%0a%3c /home/user/selfsigned-crt.pem   /home/user/selfsigned-key.pem   /home/user/selfsigned.crt       /home/user/selfsigned.key%0a%3c $%0a%3c @]%0a%3c %0a%3c we can directly use the .pem files to run our test SSL-based webserver.  Those%0a%3c files have to be moved inside our Common Lisp project directory, which at this%0a%3c time is non-existent.%0a%3c %0a%3c !!'''Project creation and configuration'''%0a%3c %0a%3c To create an empty project skeleton we have to use%0a%3c another useful quicklisp library: quickproject, so let's return to the SLIME%0a%3c REPL prompt on emacs and enter the form.\\%0a%3c %0a%3c A form is something enclosed in "(" and ")" pair, it is the way the Common%0a%3c Lisp interpreter understand the commands and data entered via the REPL.%0a%3c In the same way, Common Lisp programs are composed by forms which may%0a%3c contains other forms as well.  There are other objects that can be entered%0a%3c in the REPL and evaluated, they are: numbers, symbols, keywords, strings,%0a%3c characters, t and nil.  Those objects it said that evaluate to themselves.%0a%3c %0a%3c [@%0a%3c CL-USER> (ql:quickload :quickproject)%0a%3c To load "quickproject":%0a%3c Load 1 ASDF system:%0a%3c   quickproject%0a%3c ; Loading "quickproject"%0a%3c [package html-template]...........................%0a%3c [package quickproject].%0a%3c (:QUICKPROJECT)%0a%3c CL-USER>%0a%3c @]%0a%3c %0a%3c We are ready to create a skeleton project and hack it to perform the required%0a%3c task.  Just enter:%0a%3c %0a%3c [@%0a%3c CL-USER> (quickproject:make-project #p"/home/user/Development/lisp/test-hunchentoot"%0a%3c                                     :depends-on '(#:cl-fad%0a%3c 		                                  #:cl-who%0a%3c 			                          #:cl+ssl%0a%3c 						  #:ironclad%0a%3c 						  #:lass%0a%3c 						  #:parenscript%0a%3c 						  #:hunchentoot%0a%3c 						  #:bordeaux-threads%0a%3c 						  #:simple-date-time)%0a%3c 				     :author "antani %3cantani@antani.it>"%0a%3c 				     :license "BSD")%0a%3c WARNING:%0a%3c    Coercing #p"/home/user/Development/lisp/test-hunchentoot" to directory%0a%3c "test-hunchentoot"%0a%3c CL-USER>%0a%3c @]%0a%3c %0a%3c The project is then created following the path%0a%3c /home/user/Development/lisp/test-hunchentoot.  We can check that issuing from%0a%3c the shell:%0a%3c %0a%3c [@%0a%3c $ ls ~/Development/lisp%0a%3c test-hunchentoot%0a%3c @]%0a%3c %0a%3c and then:%0a%3c %0a%3c [@%0a%3c $ ls ~/Development/lisp/test-hunchentoot%0a%3c README.md                 package.lisp              test-hunchentoot.asd      test-hunchentoot.lisp%0a%3c $%0a%3c @]%0a%3c %0a%3c For a small project we can leave this layout as it is, but since we do not know%0a%3c the future development of the project, one can follow this example or feel free%0a%3c to reshape the project layout as it fits the purpose:%0a%3c %0a%3c [@%0a%3c $ cd ~/Development/lisp/test-hunchentoot%0a%3c $ mkdir sources scripts docs%0a%3c $ mv *.lisp sources/%0a%3c $ ls%0a%3c README.md                 docs                      scripts                   sources                   test-hunchentoot.asd%0a%3c $%0a%3c @]%0a%3c %0a%3c So we leave .lisp files inside the sources/ directory and the system files on%0a%3c the project root directory.  Now let's see what is inside the files created%0a%3c by quickproject, just pick test-hunchentoot.asd using emacs menu "File", then%0a%3c "Open File..." and choose the correct file navigating the user home directory:%0a%3c %0a%3c [@%0a%3c ;;;; test-hunchentoot.asd%0a%3c %0a%3c (asdf:defsystem #:testina-hunchentoot%0a%3c   :description "Describe test-hunchentoot here"%0a%3c   :author "antani %3cantani@antani.it>"%0a%3c   :license  "BSD"%0a%3c   :version "0.0.1"%0a%3c   :serial t%0a%3c   :depends-on (#:cl-fad #:cl-who #:cl+ssl #:ironclad #:lass #:parenscript #:hunchentoot #:bordeaux-threads #:simple-date-time)%0a%3c   :components ((:file "package")%0a%3c                (:file "testina-hunchentoot")))%0a%3c @]%0a%3c %0a%3c We created a PEM certificate and a key, we can move them inside the project directory with:%0a%3c %0a%3c [@%0a%3c $ mv ~/selfsigned-crt.pem ~/Development/lisp/test-hunchentoot/scripts/%0a%3c $ mv ~/selfsigned-key.pem ~/Development/lisp/test-hunchentoot/scripts/%0a%3c $%0a%3c @]%0a%3c %0a%3c So we can reference them starting from the hunchentoot server document root%0a%3c directory.  Before entering the application programming phase, we want to%0a%3c add legal notices (license) to the project files.  We follow this convention:%0a%3c every file containing code related to system definitions and packaging will be%0a%3c marked with a license text, here an example test-hunchentoot.asd file in which%0a%3c the test-hunchentoot system is defined:%0a%3c %0a%3c [@%0a%3c ;;;;***************************************************************************%0a%3c ;;;; test-hunchentoot.asd%0a%3c ;;;;%0a%3c ;;;; Copyright 2023 Antani %3cantani@antani.it>%0a%3c ;;;;%0a%3c ;;;; Redistribution and use in source and binary forms, with or without%0a%3c ;;;; modification, are permitted provided that the following conditions are met:%0a%3c ;;;;%0a%3c ;;;;     1. Redistributions of source code must retain the above copyright notice,%0a%3c ;;;;        this list of conditions and the following disclaimer.%0a%3c ;;;;%0a%3c ;;;;     2. Redistributions in binary form must reproduce the above copyright%0a%3c ;;;;        notice, this list of conditions and the following disclaimer in the%0a%3c ;;;;        documentation and/or other materials provided with the distribution.%0a%3c ;;;;%0a%3c ;;;;     3. Neither the name of the copyright holder nor the names of its%0a%3c ;;;;        contributors may be used to endorse or promote products derived from%0a%3c ;;;;        this software without specific prior written permission.%0a%3c ;;;;%0a%3c ;;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND%0a%3c ;;;; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED%0a%3c ;;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE%0a%3c ;;;; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE%0a%3c ;;;; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL%0a%3c ;;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR%0a%3c ;;;; SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER%0a%3c ;;;; CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,%0a%3c ;;;; OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE%0a%3c ;;;; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.%0a%3c ;;;;***************************************************************************%0a%3c %0a%3c (asdf:defsystem #:test-hunchentoot%0a%3c   :description "Test hunchentoot server (SSL version)."%0a%3c   :author "Antani %3cantani@antani.it>"%0a%3c   :license "BSD"%0a%3c   :depends-on (#:cl-fad%0a%3c                #:cl-who%0a%3c 	       #:cl+ssl%0a%3c 	       #:ironclad%0a%3c 	       #:lass%0a%3c 	       #:parenscript%0a%3c 	       #:hunchentoot%0a%3c 	       #:bordeaux-threads%0a%3c 	       #:simple-date-time)%0a%3c   :serial t%0a%3c   :components ((:file "sources/package")%0a%3c                (:file "sources/parameters")%0a%3c 	       (:file "sources/system")%0a%3c 	       (:file "sources/test-hunchentoot")))%0a%3c %0a%3c ;; End of file test-hunchentoot.asd%0a%3c @]%0a%3c %0a%3c To automate the process of inserting this license text, we can create a text%0a%3c file and insert it in the source file we want to modify, for example let's call%0a%3c it LICENSE:%0a%3c %0a%3c [@%0a%3c ;;;; Copyright 2023 Antani %3cantani@antani.it>%0a%3c ;;;;%0a%3c ;;;; Redistribution and use in source and binary forms, with or without%0a%3c ;;;; modification, are permitted provided that the following conditions are met:%0a%3c ;;;;%0a%3c ;;;;     1. Redistributions of source code must retain the above copyright notice,%0a%3c ;;;;        this list of conditions and the following disclaimer.%0a%3c ;;;;%0a%3c ;;;;     2. Redistributions in binary form must reproduce the above copyright%0a%3c ;;;;        notice, this list of conditions and the following disclaimer in the%0a%3c ;;;;        documentation and/or other materials provided with the distribution.%0a%3c ;;;;%0a%3c ;;;;     3. Neither the name of the copyright holder nor the names of its%0a%3c ;;;;        contributors may be used to endorse or promote products derived from%0a%3c ;;;;        this software without specific prior written permission.%0a%3c ;;;;%0a%3c ;;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND%0a%3c ;;;; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED%0a%3c ;;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE%0a%3c ;;;; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE%0a%3c ;;;; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL%0a%3c ;;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR%0a%3c ;;;; SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER%0a%3c ;;;; CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,%0a%3c ;;;; OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE%0a%3c ;;;; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.%0a%3c ;;;;***************************************************************************%0a%3c @]%0a%3c %0a%3c so a source code file related to packaging and system definitions will have%0a%3c this shape:%0a%3c %0a%3c * a comment containing emacs configurations and mode for the file;%0a%3c * a separator;%0a%3c * the name of the file itself;%0a%3c * a separator;%0a%3c * the licensing information;%0a%3c * a separator;%0a%3c * source code;%0a%3c * an end of file comment.%0a%3c %0a%3c Other source code files, instead will have this shape:%0a%3c %0a%3c * a comment containing emacs configurations and mode for the file;%0a%3c * a separator;%0a%3c * the file name;%0a%3c * a description of the file contents;%0a%3c * a separator;%0a%3c * source code;%0a%3c * an end of file comment.%0a%3c %0a%3c We remind you that in Common Lisp comments always begin with ";" until the end%0a%3c of the line.  There are some conventions on the use of ";" itself.  The%0a%3c following rules are taken from "Google Common Lisp Style Guide" at%0a%3c [[https://google.github.io/styleguide/lispguide.xml]]%0a%3c %0a%3c * File headers and important comments that apply to large sections of code in a source file should begin with four semicolons.%0a%3c * You should use three semicolons to begin comments that apply to just one top-level form or small group of top-level forms.%0a%3c * Inside a top-level form, you should use two semicolons to begin a comment if it appears between lines.%0a%3c * You should use one semicolon if it is a parenthetical remark and occurs at the end of a line. You should use spaces to separate the comment from the code it refers to so the comment stands out. You should try to vertically align consecutive related end-of-line comments.%0a%3c %0a%3c The complete project would appear as follows:%0a%3c %0a%3c [@%0a%3c $ tree%0a%3c .%0a%3c |-- LICENCE%0a%3c |-- README%0a%3c |-- scripts%0a%3c |   |-- run-webserver.sh%0a%3c |   |-- selfsigned-crt.pem%0a%3c |   `-- selfsigned-key.pem%0a%3c |-- sources%0a%3c |   |-- package.lisp%0a%3c |   |-- parameters.lisp%0a%3c |   |-- system.lisp%0a%3c |   `-- test-hunchentoot.lisp%0a%3c `-- test-hunchentoot.asd%0a%3c %0a%3c 2 directories, 10 files%0a%3c $%0a%3c @]%0a%3c %0a%3c File are listed as follows.  For the package.lisp file in sources/:%0a%3c %0a%3c [@%0a%3c ;;;; -*- mode: common-lisp-mode; electric-indent-mode: t; coding: utf-8 -*-%0a%3c ;;;;***************************************************************************%0a%3c ;;;; package.lisp%0a%3c ;;;;***************************************************************************%0a%3c ;;;; Copyright 2023 Antani %3cantani@antani.it>%0a%3c ;;;;%0a%3c ;;;; Redistribution and use in source and binary forms, with or without%0a%3c ;;;; modification, are permitted provided that the following conditions are met:%0a%3c ;;;;%0a%3c ;;;;     1. Redistributions of source code must retain the above copyright notice,%0a%3c ;;;;        this list of conditions and the following disclaimer.%0a%3c ;;;;%0a%3c ;;;;     2. Redistributions in binary form must reproduce the above copyright%0a%3c ;;;;        notice, this list of conditions and the following disclaimer in the%0a%3c ;;;;        documentation and/or other materials provided with the distribution.%0a%3c ;;;;%0a%3c ;;;;     3. Neither the name of the copyright holder nor the names of its%0a%3c ;;;;        contributors may be used to endorse or promote products derived from%0a%3c ;;;;        this software without specific prior written permission.%0a%3c ;;;;%0a%3c ;;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND%0a%3c ;;;; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED%0a%3c ;;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE%0a%3c ;;;; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE%0a%3c ;;;; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL%0a%3c ;;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR%0a%3c ;;;; SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER%0a%3c ;;;; CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,%0a%3c ;;;; OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE%0a%3c ;;;; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.%0a%3c ;;;;***************************************************************************%0a%3c %0a%3c (defpackage #:test-hunchentoot%0a%3c   (:use #:cl)%0a%3c   (:export #:start-web-server%0a%3c            #:stop-web-server))%0a%3c %0a%3c ;;;; End of file package.lisp%0a%3c @]%0a%3c %0a%3c For the parameters.lisp file in sources/:%0a%3c %0a%3c [@%0a%3c ;;;; -*- mode: common-lisp-mode; electric-indent-mode: t; coding: utf-8 -*-%0a%3c ;;;;***************************************************************************%0a%3c ;;;; parameters.lisp%0a%3c ;;;;***************************************************************************%0a%3c ;;;; Parameters and variables definitions for the project test-hunchentoot.%0a%3c ;;;;***************************************************************************%0a%3c %0a%3c (in-package #:test-hunchentoot)%0a%3c %0a%3c ;;;; Parameters.%0a%3c (defparameter *ssl-acceptor* nil)%0a%3c (defparameter *default-document-root-directory-pathname* (cl-fad:merge-pathnames-as-directory (user-homedir-pathname) #p"Development/lisp/test-hunchentoot/"))%0a%3c (defparameter *default-ssl-private-key-file-pathname* (cl-fad:merge-pathnames-as-file (user-homedir-pathname) #p"Development/lisp/test-hunchentoot/scripts/selfsigned-key.pem"))%0a%3c (defparameter *default-ssl-certificate-file-pathname* (cl-fad:merge-pathnames-as-file (user-homedir-pathname) #p"Development/lisp/test-hunchentoot/scripts/selfsigned-crt.pem"))%0a%3c (defparameter *default-port* 4242)%0a%3c (defparameter *default-ssl-port* 9443)%0a%3c (defparameter *port* 4242)%0a%3c (defparameter *ssl-port* 9443)%0a%3c (defparameter *default-start-page-reload-timeout* 0)%0a%3c (defparameter *default-info-email* "antani@antani.it")%0a%3c (defparameter *fruits* '(apple pear banana orange avocado pineapple peach plum))%0a%3c %0a%3c ;;;; End of file parameters.lisp%0a%3c @]%0a%3c %0a%3c For the system.lisp file in sources/:%0a%3c %0a%3c [@%0a%3c ;;;; -*- mode: common-lisp-mode; electric-indent-mode: t; coding: utf-8 -*-%0a%3c ;;;;***************************************************************************%0a%3c ;;;; system.lisp%0a%3c ;;;;***************************************************************************%0a%3c ;;;; Provide data structures and classes definitions for the project%0a%3c ;;;; test-hunchentoot.%0a%3c ;;;;***************************************************************************%0a%3c %0a%3c (in-package #:test-hunchentoot)%0a%3c %0a%3c ;; System class.%0a%3c (defclass system-class ()%0a%3c   ((acceptor :initarg :acceptor :accessor acceptor :initform nil)%0a%3c    (ssl-acceptor :initarg :ssl-acceptor :accessor ssl-acceptor :initform nil)%0a%3c    (lock-object :initarg :lock-object :accessor lock-object :initform nil)%0a%3c    (condition-object :initarg :condition-object :accessor condition-object :initform nil)))%0a%3c %0a%3c ;; functions.%0a%3c %0a%3c (defun make-system (&rest parameters &key (acceptor nil acceptor-p) (ssl-acceptor nil ssl-acceptor-p) (lock-object nil lock-object-p) (condition-object nil condition-object-p))%0a%3c   "Create an instance of the system-class."%0a%3c   (declare (ignorable parameters%0a%3c                       acceptor%0a%3c                       ssl-acceptor%0a%3c 		      lock-object%0a%3c 		      condition-object))%0a%3c   (make-instance 'system-class%0a%3c                  :acceptor acceptor%0a%3c                  :ssl-acceptor ssl-acceptor%0a%3c 		 :lock-object lock-object%0a%3c 	         :condition-object condition-object))%0a%3c %0a%3c ;;;; End of file system.lisp%0a%3c @]%0a%3c %0a%3c For the test-hunchentoot.lisp file in sources/:%0a%3c %0a%3c [@%0a%3c ;;;; -*- mode: common-lisp-mode; electric-indent-mode: t; coding: utf-8 -*-%0a%3c ;;;;***************************************************************************%0a%3c ;;;; test-hunchentoot.lisp%0a%3c ;;;;***************************************************************************%0a%3c ;;;; This file contains all the functions for the test-hunchentoot project.%0a%3c ;;;;***************************************************************************%0a%3c ;;;;%0a%3c %0a%3c (in-package #:test-hunchentoot)%0a%3c %0a%3c ;; Initial setup for javascript environment%0a%3c (eval-when (:compile-toplevel :execute)%0a%3c   (setq cl-who:*attribute-quote-char* #\"%0a%3c         ps:*js-string-delimiter* #\"))%0a%3c ;; "test-hunchentoot" goes here. Hacks and glory await!%0a%3c ;; Methods.%0a%3c (defmethod hunchentoot:acceptor-dispatch-request ((vhost system-class) request)%0a%3c   (mapc (lambda (dispatcher)%0a%3c           (let ((handler (funcall dispatcher request)))%0a%3c             (when handler%0a%3c               (return-from hunchentoot:acceptor-dispatch-request (funcall handler)))))%0a%3c         (dispatch-table vhost))%0a%3c   (call-next-method))%0a%3c ;;%0a%3c (defmethod start-web-server ((object system-class) &rest parameters &key %0a%3c                                                                       (document-root-directory-pathname *default-document-root-directory-pathname* document-root-directory-pathname-p)%0a%3c 	                                                              (ssl-private-key-file-pathname *default-ssl-private-key-file-pathname* ssl-private-key-file-pathname-p)%0a%3c 	                                                              (ssl-certificate-file-pathname *default-ssl-certificate-file-pathname* ssl-certificate-file-pathname-p)%0a%3c 	                                                              (address "localhost" address-p)%0a%3c                                                                       (port *default-port* port-p)%0a%3c 	                                                              (ssl-port *default-ssl-port* ssl-port-p)%0a%3c                                                                       (page-reload-timeout *default-start-page-reload-timeout* page-reload-timeout-p)%0a%3c                                                                       (verbose nil))%0a%3c   "Configure and start the hunchentoot webserver."%0a%3c   (declare (ignorable parameters%0a%3c                       document-root-directory-pathname%0a%3c 	              ssl-private-key-file-pathname%0a%3c 		      ssl-certificate-file-pathname%0a%3c 		      address%0a%3c 		      port%0a%3c 		      ssl-port%0a%3c 	              page-reload-timeout%0a%3c 		      verbose))%0a%3c   (when document-root-directory-pathname-p%0a%3c     (check-type document-root-directory-pathname pathname)%0a%3c     (assert (cl-fad:directory-exists-p document-root-directory-pathname)))%0a%3c   (when ssl-private-key-file-pathname-p%0a%3c     (check-type ssl-private-key-file-pathname pathname)%0a%3c     (assert (cl-fad:file-exists-p ssl-private-key-file-pathname)))%0a%3c   (when ssl-certificate-file-pathname-p%0a%3c     (check-type ssl-certificate-file-pathname pathname)%0a%3c     (assert (cl-fad:file-exists-p ssl-certificate-file-pathname)))%0a%3c   (when address-p%0a%3c     (check-type address string))%0a%3c   (when port-p%0a%3c     (check-type port (unsigned-byte 16)))%0a%3c   (when ssl-port-p%0a%3c     (check-type ssl-port (unsigned-byte 16)))%0a%3c   (when (and port-p ssl-port-p)%0a%3c     (assert (/= port ssl-port)))%0a%3c   (when page-reload-timeout-p%0a%3c     (check-type page-reload-timeout (unsigned-byte 16)))%0a%3c   ;;%0a%3c   (setq *random-state* (make-random-state t))%0a%3c   (unwind-protect%0a%3c       (let* ((hunchentoot:*log-lisp-errors-p* t)%0a%3c              (hunchentoot:*log-lisp-warnings-p* t)%0a%3c 	     (hunchentoot:*catch-errors-p* nil)%0a%3c              (stdin (sb-sys:make-fd-stream 0%0a%3c 		                           :input t%0a%3c 					   :buffering :full%0a%3c 					   :element-type '(unsigned-byte 8)))%0a%3c 	     (cl+ssl:make-ssl-client-stream (cl+ssl:stream-fd stdin)))%0a%3c         (setf (lock-object object) (bt:make-lock (symbol-name (gensym "webserver-lock-"))))%0a%3c 	(setf (condition-object object) (bt:make-condition-variable :name (symbol-name (gensym "webserver-condition-"))))%0a%3c 	;; Server setup and start%0a%3c 	(setf (ssl-acceptor object) (make-instance 'hunchentoot:easy-ssl-acceptor%0a%3c 	                                           :name 'ssl-acceptor%0a%3c 				                   :ssl-privatekey-file ssl-private-key-file-pathname%0a%3c 						   :ssl-certificate-file ssl-certificate-file-pathname%0a%3c 						   :address address%0a%3c 						   :port ssl-port%0a%3c 						   :document-root document-root-directory-pathname))%0a%3c         (hunchentoot:start (ssl-acceptor object))%0a%3c 	(setq *ssl-acceptor* (ssl-acceptor object))%0a%3c 	(when verbose%0a%3c 	  (format *standard-output*%0a%3c 	          "~%25;; Starting SSL Web Server on port ~a.~%25~%25" ssl-port)%0a%3c 	  (format *standard-output*%0a%3c 	          ";; Certificate pathname ~s.~%25" ssl-certificate-file-pathname)%0a%3c 	  (format *standard-output*%0a%3c 	          ";; Private key pathname ~s.~%25~%25" ssl-private-key-file-pathname)%0a%3c 	  (finish-output *standard-output*))%0a%3c 	(setq hunchentoot:*dispatch-table* (list 'hunchentoot:dispatch-easy-handlers))%0a%3c 	(loop%0a%3c 	    named wait-loop%0a%3c 	    do%0a%3c 	      (handler-case%0a%3c 	          (progn%0a%3c 		    (bt:with-lock-held ((lock-object object))%0a%3c 		      (bt:condition-wait (condition-object object)%0a%3c 		                         (lock-object object)))%0a%3c 		    (return-from wait-loop))%0a%3c 		(hunchentoot:hunchentoot-error (he)%0a%3c 		  (format *standard-output* "~s~%25" he)%0a%3c 		  (finish-output *standard-output*))%0a%3c 		(error (e)%0a%3c 		  (format *standard-output* "~s~%25" e)%0a%3c 		  (finish-output *standard-output*)%0a%3c 		  (return-from wait-loop))%0a%3c 		(warning (w)%0a%3c 		  (format *standard-output* "~s~%25" w)%0a%3c 		  (finish-output *standard-output*)))))%0a%3c     ;; unwind-protect cleanup form.%0a%3c     (progn%0a%3c       (when verbose%0a%3c         (format *standard-output* ";; Shutting down webserver.~%25")%0a%3c 	(finish-output *standard-output*))%0a%3c       (stop-web-server object :verbose t))))%0a%3c %0a%3c (defmethod stop-web-server ((object system-class) &rest parameters &key (verbose nil))%0a%3c   "Stop the hunchentoot webserver."%0a%3c   (declare (ignorable parameters verbose))%0a%3c   (when (ssl-acceptor object)%0a%3c     (hunchentoot:stop (ssl-acceptor object))%0a%3c     (setq *ssl-acceptor* nil)%0a%3c     (when verbose%0a%3c       (format *standard-output*%0a%3c               "~%25;; Stopping SSL Web Server.~%25~%25")%0a%3c       (finish-output *standard-output*)))%0a%3c   (bt:condition-notify (condition-object object)))%0a%3c %0a%3c ;; Functions.%0a%3c (defun remove-nth (index object)%0a%3c   "remove the nth element from the list."%0a%3c    (remove-if (constantly t)%0a%3c               object%0a%3c 	      :start index%0a%3c 	      :count 1))%0a%3c %0a%3c ;; Hunchentoot html stuffs.%0a%3c (hunchentoot:define-easy-handler (main-page :uri "/") ()%0a%3c   "The main page handler for http request."%0a%3c   (hunchentoot:redirect "/index"))%0a%3c %0a%3c (hunchentoot:define-easy-handler (index-page :uri "/index") ()%0a%3c   "The /index page handler for http request."%0a%3c   (let ((temporary-fruits *fruits*)%0a%3c         (i nil))%0a%3c     (cl-who:with-html-output-to-string (s)%0a%3c       (cl-who:htm%0a%3c         (:html%0a%3c 	  (:h1 "This is an example of dynamic list:")%0a%3c 	  (:br)%0a%3c 	  (:ul%0a%3c 	    (loop%0a%3c 	        while (> (length temporary-fruits) 0)%0a%3c 		do%0a%3c 		  (setq i (random (length temporary-fruits)))%0a%3c 		  (cl-who:htm%0a%3c 		    (:li (cl-who:str (nth i temporary-fruits))))%0a%3c 		  (setq temporary-fruits (remove-nth i temporary-fruits)))))))))%0a%3c %0a%3c ;; Start at quickload.%0a%3c (start-web-server (make-system)%0a%3c                   :ssl-port *default-ssl-port*%0a%3c                   :verbose t)%0a%3c %0a%3c ;;;; End of file test-hunchentoot.lisp%0a%3c @]%0a\ No newline at end of file%0a
+host:1700849198=93.45.233.109
+author:1700847574=Posterdati
+diff:1700847574:1700847312:=356,378c356,379%0a%3c [@%0a%3c $ sbcl%0a%3c ...%0a%3c * (ql:quickload :quicklisp-slime-helper)%0a%3c   To load "quicklisp-slime-helper":%0a%3c     Load 1 ASDF system:%0a%3c     quicklisp-slime-helper%0a%3c ; Loading "quicklisp-slime-helper"%0a%3c [package swank-loader]............................%0a%3c [package quicklisp-slime-helper]%0a%3c slime-helper.el installed in "/home/user/quicklisp/slime-helper.el"%0a%3c %0a%3c To use, add this to your ~/.emacs:%0a%3c %0a%3c  (load (expand-file-name "/home/user/quicklisp/slime-helper.el"))%0a%3c  ;; Replace "sbcl" with the path to your implementation%0a%3c  (setq inferior-lisp-program "sbcl")%0a%3c %0a%3c %0a%3c (:QUICKLISP-SLIME-HELPER)%0a%3c *%0a%3c @]%0a%3c %0a---%0a> .. code::%0a> %0a>    $ sbcl%0a>    ...%0a>    * (ql:quickload :quicklisp-slime-helper)%0a>      To load "quicklisp-slime-helper":%0a>        Load 1 ASDF system:%0a>          quicklisp-slime-helper%0a>    ; Loading "quicklisp-slime-helper"%0a>    [package swank-loader]............................%0a>    [package quicklisp-slime-helper]%0a>    slime-helper.el installed in "/home/user/quicklisp/slime-helper.el"%0a> %0a>    To use, add this to your ~/.emacs:%0a> %0a>     (load (expand-file-name "/home/user/quicklisp/slime-helper.el"))%0a>     ;; Replace "sbcl" with the path to your implementation%0a>     (setq inferior-lisp-program "sbcl")%0a> %0a> %0a>    (:QUICKLISP-SLIME-HELPER)%0a>    *%0a> %0a> %0a382,387c383,390%0a%3c [@%0a%3c (load (expand-file-name "/home/user/quicklisp/slime-helper.el"))%0a%3c ;; Replace "sbcl" with the path to your implementation%0a%3c (setq inferior-lisp-program "sbcl")%0a%3c @]%0a%3c %0a---%0a> %0a> .. code:: common-lisp%0a> %0a> 	  (load (expand-file-name "/home/user/quicklisp/slime-helper.el"))%0a> 	  ;; Replace "sbcl" with the path to your implementation%0a> 	  (setq inferior-lisp-program "sbcl")%0a> %0a> %0a421,427c424,432%0a%3c [@%0a%3c CL-USER> (ql:quickload :antik)%0a%3c ...%0a%3c (:ANTIK)%0a%3c CL-USER>%0a%3c @]%0a%3c %0a---%0a> %0a> .. code:: common-lisp%0a> %0a> 	  CL-USER> (ql:quickload :antik)%0a> 	  ...%0a> 	  (:ANTIK)%0a> 	  CL-USER>%0a> %0a> %0a431,436c436,454%0a%3c [@%0a%3c CL-USER> antik:+days-per-month+%0a%3c 30%0a%3c CL-USER>%0a%3c @]%0a%3c %0a---%0a> %0a> .. code:: common-lisp%0a> %0a> 	  CL-USER> antik:+days-per-month+%0a> 	  30%0a> 	  CL-USER>%0a> %0a> %0a> .. raw:: pdf%0a> %0a>    PageBreak%0a> %0a> %0a> .. raw:: pdf%0a> %0a>    OddPageBreak%0a> %0a> %0a> .. comment: End of file.%0a
+host:1700847574=93.45.233.109
+author:1700847312=Posterdati
+diff:1700847312:1700846904:=273,289c273,289%0a%3c [@%0a%3c * (ql:add-to-init-file)%0a%3c I will append the following lines to #P"/home/user/.sbclrc":%0a%3c %0a%3c ;;; The following lines added by ql:add-to-init-file:%0a%3c #-quicklisp%0a%3c (let ((quicklisp-init #P"/home/user/quicklisp/setup.lisp"))%0a%3c   (when (probe-file quicklisp-init)%0a%3c     (load quicklisp-init)))%0a%3c %0a%3c Press Enter to continue.%0a%3c %0a%3c #P"/home/user/.sbclrc"%0a%3c * (quit)%0a%3c $%0a%3c @]%0a%3c %0a---%0a> %0a> .. code::%0a> %0a>    * (ql:add-to-init-file)%0a>    I will append the following lines to #P"/home/user/.sbclrc":%0a> %0a>    ;;; The following lines added by ql:add-to-init-file:%0a>    #-quicklisp%0a>    (let ((quicklisp-init #P"/home/user/quicklisp/setup.lisp"))%0a>      (when (probe-file quicklisp-init)%0a>        (load quicklisp-init)))%0a> %0a>    Press Enter to continue.%0a> %0a>    #P"/home/user/.sbclrc"%0a>    * (quit)%0a> %0a293,301c293,307%0a%3c [@%0a%3c $ cat ~/.sbclrc%0a%3c ;;; The following lines added by ql:add-to-init-file:%0a%3c #-quicklisp%0a%3c (let ((quicklisp-init #P"/home/user/quicklisp/setup.lisp"))%0a%3c   (when (probe-file quicklisp-init)%0a%3c     (load quicklisp-init)))%0a%3c @]%0a%3c %0a---%0a> .. code::%0a> %0a> 	  $ cat ~/.sbclrc%0a> 	  ;;; The following lines added by ql:add-to-init-file:%0a> 	  #-quicklisp%0a> 	  (let ((quicklisp-init #P"/home/user/quicklisp/setup.lisp"))%0a> 	    (when (probe-file quicklisp-init)%0a> 	      (load quicklisp-init)))%0a> %0a> %0a> .. raw:: pdf%0a> %0a>    PageBreak%0a> %0a> %0a303c309%0a%3c REPL, we can place configuration code for sbcl in there.  For example we want%0a---%0a> REPL, we can place configuration for sbcl code in there, for example we want%0a308,322c314,330%0a%3c [@%0a%3c (defun setup-registry (directory-path)%0a%3c   (format t "; adding components under ~A to asdf registry~%25" directory-path)%0a%3c   (mapc (lambda (asd-pathname)%0a%3c           (pushnew (make-pathname :name nil%0a%3c 	                          :type nil%0a%3c 	        		  :version nil%0a%3c 			          :defaults asd-pathname)%0a%3c                    asdf:*central-registry*%0a%3c 	           :test #'equal))%0a%3c 	  (directory (merge-pathnames #p"**/*.asd" directory-path))))%0a%3c %0a%3c (setup-registry (merge-pathnames #p"Development/lisp/" (user-homedir-pathname)))%0a%3c @]%0a%3c %0a---%0a> %0a> .. code:: common-lisp%0a> %0a> 	  (defun setup-registry (directory-path)%0a> 	    (format t "; adding components under ~A to asdf registry~%25" directory-path)%0a> 	    (mapc (lambda (asd-pathname)%0a>                     (pushnew (make-pathname :name nil%0a> 		                            :type nil%0a> 					    :version nil%0a> 					    :defaults asd-pathname)%0a> 		             asdf:*central-registry*%0a> 			     :test #'equal))%0a> 		  (directory (merge-pathnames #p"**/*.asd" directory-path))))%0a> %0a> 	  (setup-registry (merge-pathnames #p"Development/lisp/" (user-homedir-pathname)))%0a> %0a> %0a325,337c333,346%0a%3c [@%0a%3c $ sbcl%0a%3c This is SBCL 2.3.8.openbsd.sbcl-2.3.8, an implementation of ANSI Common Lisp.%0a%3c More information about SBCL is available at %3chttp://www.sbcl.org/>.%0a%3c %0a%3c SBCL is free software, provided as is, with absolutely no warranty.%0a%3c It is mostly in the public domain; some portions are provided under%0a%3c BSD-style licenses.  See the CREDITS and COPYING files in the%0a%3c distribution for more information.%0a%3c ; adding components under /home/angel/Development/lisp/ to asdf registry%0a%3c *%0a%3c @]%0a%3c %0a---%0a> .. code:: shell%0a> %0a> 	  $ sbcl%0a> 	  This is SBCL 2.3.8.openbsd.sbcl-2.3.8, an implementation of ANSI Common Lisp.%0a> 	  More information about SBCL is available at %3chttp://www.sbcl.org/>.%0a> %0a> 	  SBCL is free software, provided as is, with absolutely no warranty.%0a> 	  It is mostly in the public domain; some portions are provided under%0a> 	  BSD-style licenses.  See the CREDITS and COPYING files in the%0a> 	  distribution for more information.%0a> 	  ; adding components under /home/angel/Development/lisp/ to asdf registry%0a> 	  *%0a> %0a> %0a340,350c349,366%0a%3c [@%0a%3c * *features*%0a%3c (:QUICKLISP :ASDF3.3 :ASDF3.2 :ASDF3.1 :ASDF3 :ASDF2 :ASDF :OS-UNIX%0a%3c  :NON-BASE-CHARS-EXIST-P :ASDF-UNICODE :ARENA-ALLOCATOR :X86-64 :GENCGC :64-BIT%0a%3c  :ANSI-CL :BSD :COMMON-LISP :ELF :IEEE-FLOATING-POINT :LITTLE-ENDIAN :OPENBSD%0a%3c  :PACKAGE-LOCAL-NICKNAMES :SB-CORE-COMPRESSION :SB-LDB :SB-PACKAGE-LOCKS%0a%3c  :SB-THREAD :SB-UNICODE :SBCL :UNIX)%0a%3c *%0a%3c @]%0a%3c %0a%3c !!'''Configuration for emacs'''%0a---%0a> .. code:: common-lisp%0a> %0a> 	  * *features*%0a> 	  (:QUICKLISP :ASDF3.3 :ASDF3.2 :ASDF3.1 :ASDF3 :ASDF2 :ASDF :OS-UNIX%0a> 	   :NON-BASE-CHARS-EXIST-P :ASDF-UNICODE :ARENA-ALLOCATOR :X86-64 :GENCGC :64-BIT%0a> 	   :ANSI-CL :BSD :COMMON-LISP :ELF :IEEE-FLOATING-POINT :LITTLE-ENDIAN :OPENBSD%0a> 	   :PACKAGE-LOCAL-NICKNAMES :SB-CORE-COMPRESSION :SB-LDB :SB-PACKAGE-LOCKS%0a> 	   :SB-THREAD :SB-UNICODE :SBCL :UNIX)%0a> 	  *%0a> %0a> %0a> .. raw:: pdf%0a> %0a>    PageBreak%0a> %0a> %0a> Configuration for emacs%0a> -----------------------%0a
+host:1700847312=93.45.233.109
+author:1700846904=Posterdati
+diff:1700846904:1700846567:=122,126c122,124%0a%3c [@%0a%3c $ doas pkg_add -v bash%0a%3c @]%0a%3c %0a%3c %0a---%0a> @@$ doas pkg_add -v bash@@%0a> %0a> %0a131,135c129,131%0a%3c [@%0a%3c $ doas pkg_add -v sbcl%0a%3c @]%0a%3c %0a%3c %0a---%0a> @@$ doas pkg_add -v sbcl@@%0a> %0a> %0a141,144c137,138%0a%3c [@%0a%3c $ sbcl%0a%3c @]%0a%3c %0a---%0a> @@$ sbcl@@%0a> %0a147,156c141,150%0a%3c [@%0a%3c This is SBCL 2.3.8.openbsd.sbcl-2.3.8, an implementation of ANSI Common Lisp.%0a%3c More information about SBCL is available at %3chttp://www.sbcl.org/>.%0a%3c SBCL is free software, provided as is, with absolutely no warranty.%0a%3c It is mostly in the public domain; some portions are provided under%0a%3c BSD-style licenses.  See the CREDITS and COPYING files in the%0a%3c distribution for more information.%0a%3c *%0a%3c @]%0a%3c %0a---%0a> ----%0a> @@This is SBCL 2.3.8.openbsd.sbcl-2.3.8, an implementation of ANSI Common Lisp.@@\\%0a> @@More information about SBCL is available at %3chttp://www.sbcl.org/>.@@\\%0a> @@SBCL is free software, provided as is, with absolutely no warranty.@@\\%0a> @@It is mostly in the public domain; some portions are provided under@@\\%0a> @@BSD-style licenses.  See the CREDITS and COPYING files in the@@\\%0a> @@distribution for more information.@@\\%0a> @@*@@%0a> ----%0a> %0a166a161%0a> ----%0a174c169,170%0a%3c %0a---%0a> ----%0a> %0a183,186c179,182%0a%3c [@%0a%3c $ doas pkg_add -v emacs%0a%3c @]%0a%3c %0a---%0a> ----%0a> @@$ doas pkg_add -v emacs@@%0a> ----%0a> %0a198,203c194,199%0a%3c from the site [[https://beta.quicklisp.org]].  We use curl to do that, so:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add -v curl%0a%3c @]%0a%3c %0a---%0a> from the site `%3chttps://beta.quicklisp.org>`_ .  We use curl to do that, so:%0a> %0a> ----%0a> @@$ doas pkg_add -v curl@@%0a> ----%0a> %0a206,209c202,205%0a%3c [@%0a%3c $ curl -O https://beta.quicklisp.org/quicklisp.lisp%0a%3c @]%0a%3c %0a---%0a> ----%0a> @@$ curl -O https://beta.quicklisp.org/quicklisp.lisp@@%0a> ----%0a> %0a212,215c208,211%0a%3c [@%0a%3c $ curl -O https://beta.quicklisp.org/quicklisp.lisp.asc%0a%3c @]%0a%3c %0a---%0a> ----%0a> @@$ curl -O https://beta.quicklisp.org/quicklisp.lisp.asc@@%0a> ----%0a> %0a218,223c214,219%0a%3c [@%0a%3c $ gpg --verify quicklisp.lisp.asc quicklisp.lisp%0a%3c gpg: Signature made Sat Feb  1 09:25:28 2014 EST using RSA key ID 028B5FF7%0a%3c gpg: Good signature from "Quicklisp Release Signing Key "%0a%3c @]%0a%3c %0a---%0a> ----%0a> @@$ gpg --verify quicklisp.lisp.asc quicklisp.lisp@@\\%0a> @@gpg: Signature made Sat Feb  1 09:25:28 2014 EST using RSA key ID 028B5FF7@@\\%0a> @@gpg: Good signature from "Quicklisp Release Signing Key "@@\\%0a> ----%0a> %0a229,248c225,249%0a%3c [@%0a%3c %0a%3c $ sbcl --load quicklisp.lisp%0a%3c This is SBCL 2.3.8.openbsd.sbcl-2.3.8, an implementation of ANSI Common Lisp.%0a%3c More information about SBCL is available at %3chttp://www.sbcl.org/>.%0a%3c %0a%3c SBCL is free software, provided as is, with absolutely no warranty.%0a%3c It is mostly in the public domain; some portions are provided under%0a%3c BSD-style licenses.  See the CREDITS and COPYING files in the%0a%3c distribution for more information.%0a%3c %0a%3c ==== quicklisp quickstart 2015-01-28 loaded ====%0a%3c %0a%3c   To continue with installation, evaluate: (quicklisp-quickstart:install)%0a%3c %0a%3c   For installation options, evaluate: (quicklisp-quickstart:help)%0a%3c %0a%3c *%0a%3c @]%0a%3c %0a---%0a> %0a> .. code::%0a> %0a> 	  $ sbcl --load quicklisp.lisp%0a> 	  This is SBCL 2.3.8.openbsd.sbcl-2.3.8, an implementation of ANSI Common Lisp.%0a> 	  More information about SBCL is available at %3chttp://www.sbcl.org/>.%0a> %0a> 	  SBCL is free software, provided as is, with absolutely no warranty.%0a> 	  It is mostly in the public domain; some portions are provided under%0a> 	  BSD-style licenses.  See the CREDITS and COPYING files in the%0a> 	  distribution for more information.%0a> %0a> 	  ==== quicklisp quickstart 2015-01-28 loaded ====%0a> %0a> 	  To continue with installation, evaluate: (quicklisp-quickstart:install)%0a> %0a> 	  For installation options, evaluate: (quicklisp-quickstart:help)%0a> %0a> 	  *%0a> %0a> .. raw:: pdf%0a> %0a>    PageBreak%0a> %0a> %0a251,266c252,268%0a%3c [@%0a%3c * (quicklisp-quickstart:install)%0a%3c ...%0a%3c ==== quicklisp installed ====%0a%3c %0a%3c   To load a system, use: (ql:quickload "system-name")%0a%3c %0a%3c   To find systems, use: (ql:system-apropos "term")%0a%3c %0a%3c   To load Quicklisp every time you start Lisp, use: (ql:add-to-init-file)%0a%3c %0a%3c   For more information, see http://www.quicklisp.org/beta/%0a%3c %0a%3c T%0a%3c *%0a%3c @]%0a---%0a> .. code::%0a> %0a>    * (quicklisp-quickstart:install)%0a>    ...%0a>    ==== quicklisp installed ====%0a> %0a>      To load a system, use: (ql:quickload "system-name")%0a> %0a>      To find systems, use: (ql:system-apropos "term")%0a> %0a>      To load Quicklisp every time you start Lisp, use: (ql:add-to-init-file)%0a> %0a>      For more information, see http://www.quicklisp.org/beta/%0a> %0a>    T%0a>    *%0a> %0a
+host:1700846904=93.45.233.109
+author:1700846567=Posterdati
+diff:1700846567:1700845680:=152,153c152,153%0a%3c it is waiting for a command to be entered at the REPL prompt "*".%0a%3c %0a---%0a> it is waiting for a command to be entered at the REPL prompt \*.\\%0a> %0a162,168c162,167%0a%3c [@%0a%3c * *features*%0a%3c (:ARENA-ALLOCATOR :X86-64 :GENCGC :64-BIT :ANSI-CL :BSD :COMMON-LISP :ELF%0a%3c  :IEEE-FLOATING-POINT :LITTLE-ENDIAN :OPENBSD :PACKAGE-LOCAL-NICKNAMES%0a%3c  :SB-CORE-COMPRESSION :SB-LDB :SB-PACKAGE-LOCKS :SB-THREAD :SB-UNICODE :SBCL%0a%3c  :UNIX)%0a%3c @]%0a---%0a> @@* *features*@@\\%0a> @@(:ARENA-ALLOCATOR :X86-64 :GENCGC :64-BIT :ANSI-CL :BSD :COMMON-LISP :ELF@@\\%0a> @@ :IEEE-FLOATING-POINT :LITTLE-ENDIAN :OPENBSD :PACKAGE-LOCAL-NICKNAMES@\\%0a> @@ :SB-CORE-COMPRESSION :SB-LDB :SB-PACKAGE-LOCKS :SB-THREAD :SB-UNICODE :SBCL@\\%0a> @@ :UNIX)@@\\%0a> @@*@@%0a
+host:1700846567=93.45.233.109
+author:1700845680=Posterdati
+diff:1700845680:1700845532:=170,171c170,172%0a%3c !!'''Installing quicklisp'''%0a%3c %0a---%0a> Installing quicklisp%0a> --------------------%0a> %0a178,181c179,183%0a%3c ----%0a%3c @@$ doas pkg_add -v emacs@@%0a%3c ----%0a%3c %0a---%0a> .. code:: shell%0a> %0a> 	  $ doas pkg_add -v emacs%0a> %0a> %0a195,198c197,202%0a%3c ----%0a%3c @@$ doas pkg_add -v curl@@%0a%3c ----%0a%3c %0a---%0a> %0a> .. code:: shell%0a> %0a> 	  $ doas pkg_add -v curl%0a> %0a> %0a201,204c205,209%0a%3c ----%0a%3c @@$ curl -O https://beta.quicklisp.org/quicklisp.lisp@@%0a%3c ----%0a%3c %0a---%0a> .. code:: shell%0a> %0a> 	  curl -O https://beta.quicklisp.org/quicklisp.lisp%0a> %0a> %0a207,210c212,217%0a%3c ----%0a%3c @@$ curl -O https://beta.quicklisp.org/quicklisp.lisp.asc@@%0a%3c ----%0a%3c %0a---%0a> %0a> .. code:: shell%0a> %0a> 	  $ curl -O https://beta.quicklisp.org/quicklisp.lisp.asc%0a> %0a> %0a213,217c220,226%0a%3c ----%0a%3c @@$ gpg --verify quicklisp.lisp.asc quicklisp.lisp@@\\%0a%3c @@gpg: Signature made Sat Feb  1 09:25:28 2014 EST using RSA key ID 028B5FF7@@\\%0a%3c @@gpg: Good signature from "Quicklisp Release Signing Key "@@\\%0a%3c ----%0a---%0a> %0a> .. code:: shell%0a> %0a> 	  $ gpg --verify quicklisp.lisp.asc quicklisp.lisp%0a> 	  gpg: Signature made Sat Feb  1 09:25:28 2014 EST using RSA key ID 028B5FF7%0a> 	  gpg: Good signature from "Quicklisp Release Signing Key "%0a> %0a
+host:1700845680=93.45.233.109
+author:1700845532=Posterdati
+diff:1700845532:1700845404:=15c15%0a%3c !!!'''License Information'''%0a---%0a> !!!'''License Information''''%0a
+host:1700845532=93.45.233.109
+author:1700845404=Posterdati
+diff:1700845404:1700844753:=3,4c3,6%0a%3c !!'''With a simple Hunchentoot example'''%0a%3c %0a---%0a> ---------------------------------%0a> !! With a simple Hunchentoot example%0a> ---------------------------------%0a> %0a11,12c13,14%0a%3c !!!'''Preface to this Edition'''%0a%3c %0a---%0a> !!!Preface to this Edition%0a> %0a15,16c17,18%0a%3c !!!'''License Information''''%0a%3c %0a---%0a> !!!License Information%0a> %0a47,48c49,50%0a%3c !'''Introduction'''%0a%3c %0a---%0a> !Introduction%0a> %0a66,67c68,69%0a%3c !!'''Foreword'''%0a%3c %0a---%0a> !!Foreword%0a> %0a84,85c86,87%0a%3c !!'''Who is this guide for?'''%0a%3c %0a---%0a> !!Who is this guide for?%0a> %0a96,97c98,99%0a%3c !!'''Other resources'''%0a%3c %0a---%0a> !!Other resources%0a> %0a107,108c109,110%0a%3c !!'''Legally speaking...'''%0a%3c %0a---%0a> !!Legally speaking...%0a> %0a111,114c113,119%0a%3c !'''Getting Started'''%0a%3c %0a%3c !!'''The installation process'''%0a%3c %0a---%0a> .. comment: -*- mode: rst-mode; coding: utf-8; electric-indent-mode: t; -*-%0a> %0a> %0a> !Getting Started%0a> %0a> !!The installation process%0a> %0a132,133c137,138%0a%3c !!'''Configuration for sbcl'''%0a%3c %0a---%0a> !!Configuration for sbcl%0a> %0a141d145%0a%3c ----%0a148,150c152,153%0a%3c @@*@@%0a%3c ----%0a%3c %0a---%0a> @@*@@\\%0a> %0a152,168c155,176%0a%3c it is waiting for a command to be entered at the REPL prompt \*.\\%0a%3c %0a%3c REPL stands for Read, Eval and Print Loop: a way to interact with a user.%0a%3c At first the informations entered after the prompt are read, then evaluated%0a%3c by the sbcl interpreter and a result is always printed/returned back to the%0a%3c user. The cycle continues with the interpreter waiting for the user to enter%0a%3c informations again.  At this point we would like to see some configurations/characteristics%0a%3c of this particular version of the interpreter, so we enter:%0a%3c %0a%3c ----%0a%3c @@* *features*@@\\%0a%3c @@(:ARENA-ALLOCATOR :X86-64 :GENCGC :64-BIT :ANSI-CL :BSD :COMMON-LISP :ELF@@\\%0a%3c @@ :IEEE-FLOATING-POINT :LITTLE-ENDIAN :OPENBSD :PACKAGE-LOCAL-NICKNAMES@\\%0a%3c @@ :SB-CORE-COMPRESSION :SB-LDB :SB-PACKAGE-LOCKS :SB-THREAD :SB-UNICODE :SBCL@\\%0a%3c @@ :UNIX)@@\\%0a%3c @@*@@%0a%3c ----%0a---%0a> it is waiting for a command to be entered at the REPL [#]_ prompt \*. At this point%0a> we would like to see some configurations/characteristics of this particular%0a> version of the interpreter, so we enter:%0a> %0a> .. [#]%0a> %0a>    REPL stands for Read, Eval and Print Loop: a way to interact with a user.%0a>    At first the informations entered after the prompt are read, then evaluated%0a>    by the sbcl interpreter and a result is always printed/returned back to the%0a>    user. The cycle continues with the interpreter waiting for the user to enter%0a>    informations again.%0a> %0a> %0a> .. code::%0a> %0a> 	  * *features*%0a> 	    (:ARENA-ALLOCATOR :X86-64 :GENCGC :64-BIT :ANSI-CL :BSD :COMMON-LISP :ELF%0a> 	     :IEEE-FLOATING-POINT :LITTLE-ENDIAN :OPENBSD :PACKAGE-LOCAL-NICKNAMES%0a> 	     :SB-CORE-COMPRESSION :SB-LDB :SB-PACKAGE-LOCKS :SB-THREAD :SB-UNICODE :SBCL%0a> 	     :UNIX)%0a> 	  *%0a> %0a
+host:1700845404=93.45.233.109
+author:1700844753=Posterdati
+diff:1700844753:1700843694:=1,2c1,2%0a%3c !'''Common Lisp on OpenBSD'''%0a%3c %0a---%0a> !Common Lisp on OpenBSD%0a> %0a19,488c19,45%0a%3c Copyright (C) 2023 Angelo Rossi %3cangelo.rossi.homelab@gmail.com>\\%0a%3c %0a%3c %0a%3c Redistribution and use in source and binary forms, with or without\\%0a%3c modification, are permitted provided that the following conditions\\%0a%3c are met:\\%0a%3c %0a%3c %0a%3c 1. Redistributions of source code must retain the above copyright\\%0a%3c    notice, this list of conditions and the following disclaimer.\\%0a%3c 2. Redistributions in binary form must reproduce the above copyright\\%0a%3c    notice, this list of conditions and the following disclaimer in the\\%0a%3c    documentation and/or other materials provided with the distribution.\\%0a%3c 3. Neither the name of the University nor the names of its contributors\\%0a%3c    may be used to endorse or promote products derived from this software\\%0a%3c    without specific prior written permission.\\%0a%3c %0a%3c %0a%3c THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND\\%0a%3c ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\\%0a%3c IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\\%0a%3c ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE\\%0a%3c FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\\%0a%3c DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\\%0a%3c OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\\%0a%3c HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\\%0a%3c LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\\%0a%3c OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\\%0a%3c SUCH DAMAGE.\\%0a%3c %0a%3c !Introduction%0a%3c %0a%3c This document explain how to install and configure sbcl on OpenBSD system.%0a%3c Assuming you already installed this OS on your machine with basic tools and%0a%3c desktop environment or, at least, you are able to use emacs as text editor.%0a%3c First of all OpenBSD is a free 4.4BSD-based Unix-like operating system. It has%0a%3c got these unique features:%0a%3c %0a%3c * portability;%0a%3c * standardization;%0a%3c * correctness;%0a%3c * proactive security;%0a%3c * integrated cryptography.%0a%3c %0a%3c For all of these you could be interested in run a webserver on it. So let's see%0a%3c how to achieve that and look at a simple way to program a dynamic webserver%0a%3c application which in turn use the Common Lisp language to create html pages on%0a%3c the fly.%0a%3c %0a%3c !!Foreword%0a%3c %0a%3c Why Common Lisp? One of the question that arises most of the times speaking%0a%3c with people involved in computer science as professionals or reasearches. Most%0a%3c of them look at Lisp (and Common Lisp as a reflex) not only the language%0a%3c developed for AI fifty years ago, but something strange and esotheric,%0a%3c something not really useful and related to a distant past made of punched cards%0a%3c and gigantic magnetic tape reader the size of a fridge.  No one take Lisp as%0a%3c the language of the following innovations:%0a%3c %0a%3c * a regular and most simple syntax among high level programming language;%0a%3c * the first high level language used to program an OS (Genera);%0a%3c * used to program one of the first graphic user interface for an OS;%0a%3c * an advanced macro system to generate Lisp code and extend the language (DSL);%0a%3c * A garbage collector;%0a%3c * derived from the mathematics idea of lambda calculus by Alonzo Church;%0a%3c * a major dialect with a standard: ANSI INCITS 226-1994 (S20018).%0a%3c %0a%3c !!Who is this guide for?%0a%3c %0a%3c The purpose of this guide is to let the reader discovers one of the most%0a%3c advanced and complete language in the history of computer science.  The usage%0a%3c of Lisp is quite simple since it is based on very basic ideas about%0a%3c programming.  Since OpenBSD is a modern UNIX OS with excels in some areas like%0a%3c security and correctness, this guide could be of some use to people that want%0a%3c to experimenting and deploy secure applications for everyday usage.  A basic%0a%3c knowledge of OpenBSD, shell and Common Lisp will boost the process to build%0a%3c and better understand the concept.  For those who don't know Common Lisp we%0a%3c suggest to read those books: [BARSKI2010]_ and [SEIBEL2005]_.%0a%3c %0a%3c !!Other resources%0a%3c %0a%3c Online official documentation and info sources from:%0a%3c %0a%3c * FAQ manual `%3chttps://www.openbsd.org/faq/index.html>`_%0a%3c * man pages: `%3chttps://man.openbsd.org>`_%0a%3c * Mailing list `%3chttps://www.openbsd.org/mail.html>`_%0a%3c * #OpenBSD IRC channel on Libera Chat `%3circ.libera.chat>`_%0a%3c * #lisp IRC channel on Libera Chat `%3circ.libera.chat>`_%0a%3c * #lisp IRC channel on IRC Now `%3circ.bsdforall.org>`_%0a%3c %0a%3c !!Legally speaking...%0a%3c %0a%3c We referenced to the BSD 3 clauses license for this work and the related code.%0a%3c %0a%3c .. comment: -*- mode: rst-mode; coding: utf-8; electric-indent-mode: t; -*-%0a%3c %0a%3c %0a%3c !Getting Started%0a%3c %0a%3c !!The installation process%0a%3c %0a%3c We refer to a running and functional installation of OpenBSD 7.4 for amd64%0a%3c platform even if the majority of the ideas can be used on othe platform too%0a%3c as sparc64 and arm64. First of all we open a terminal window: OpenBSD uses%0a%3c csh as standard shell interpreter, int this guide we prefer the bash shell%0a%3c so, as root, we can give the command:%0a%3c %0a%3c %0a%3c @@$ doas pkg_add -v bash@@%0a%3c %0a%3c %0a%3c After the installation we can add to the system the Stell Bank Common Lisp%0a%3c interpreter/compiler - sbcl with:%0a%3c %0a%3c %0a%3c @@$ doas pkg_add -v sbcl@@%0a%3c %0a%3c %0a%3c !!Configuration for sbcl%0a%3c %0a%3c As installed, sbcl is already working with its default configuration which are%0a%3c specified in its \*features\* global variable, for example, let's run sbcl:%0a%3c %0a%3c @@$ sbcl@@%0a%3c %0a%3c the system responds with:%0a%3c %0a%3c @@This is SBCL 2.3.8.openbsd.sbcl-2.3.8, an implementation of ANSI Common Lisp.@@\\%0a%3c @@More information about SBCL is available at %3chttp://www.sbcl.org/>.@@\\%0a%3c @@SBCL is free software, provided as is, with absolutely no warranty.@@\\%0a%3c @@It is mostly in the public domain; some portions are provided under@@\\%0a%3c @@BSD-style licenses.  See the CREDITS and COPYING files in the@@\\%0a%3c @@distribution for more information.@@\\%0a%3c @@*@@\\%0a%3c %0a%3c Or with a very similar message, informing us that the interpreter is ready and%0a%3c it is waiting for a command to be entered at the REPL [#]_ prompt \*. At this point%0a%3c we would like to see some configurations/characteristics of this particular%0a%3c version of the interpreter, so we enter:%0a%3c %0a%3c .. [#]%0a%3c %0a%3c    REPL stands for Read, Eval and Print Loop: a way to interact with a user.%0a%3c    At first the informations entered after the prompt are read, then evaluated%0a%3c    by the sbcl interpreter and a result is always printed/returned back to the%0a%3c    user. The cycle continues with the interpreter waiting for the user to enter%0a%3c    informations again.%0a%3c %0a%3c %0a%3c .. code::%0a%3c %0a%3c 	  * *features*%0a%3c 	    (:ARENA-ALLOCATOR :X86-64 :GENCGC :64-BIT :ANSI-CL :BSD :COMMON-LISP :ELF%0a%3c 	     :IEEE-FLOATING-POINT :LITTLE-ENDIAN :OPENBSD :PACKAGE-LOCAL-NICKNAMES%0a%3c 	     :SB-CORE-COMPRESSION :SB-LDB :SB-PACKAGE-LOCKS :SB-THREAD :SB-UNICODE :SBCL%0a%3c 	     :UNIX)%0a%3c 	  *%0a%3c %0a%3c %0a%3c Installing quicklisp%0a%3c --------------------%0a%3c %0a%3c Let's quit the interpreter and continue installing other software that we will%0a%3c use to make a Common Lisp development environment, the editor. We choose emacs%0a%3c which is, among other things, programmed largely in Lisp, it has inside it a%0a%3c Common Lisp interpreter which is used to perform operation on text as well as%0a%3c configurations:%0a%3c %0a%3c .. code:: shell%0a%3c %0a%3c 	  $ doas pkg_add -v emacs%0a%3c %0a%3c %0a%3c At this point the installer can ask us to choose among different version of%0a%3c emacs. Choose the one is best with your desktop environment or, if you like%0a%3c install the version with no desktop support at all, you can still use it from%0a%3c the console or terminal with no great difference from the desktop version.%0a%3c Also emacs has got is own configuration which is accessible with the program%0a%3c interface or modifying a file in the home directory.  We will see how to%0a%3c achieve that in the following paragraph, by now let's install the quicklisp%0a%3c common lisp library system.  This is a completely written in Common Lisp%0a%3c piece of software, which make the user capable of handling projects related%0a%3c to Common Lisp itself, we will use it to let our software use already written%0a%3c libraries.  To install quicklisp we have to download the quicklisp installer%0a%3c from the site `%3chttps://beta.quicklisp.org>`_ .  We use curl to do that, so:%0a%3c %0a%3c %0a%3c .. code:: shell%0a%3c %0a%3c 	  $ doas pkg_add -v curl%0a%3c %0a%3c %0a%3c proceed to retrieve the quicklisp library:%0a%3c %0a%3c .. code:: shell%0a%3c %0a%3c 	  curl -O https://beta.quicklisp.org/quicklisp.lisp%0a%3c %0a%3c %0a%3c and the library file signature to check its authenticity:%0a%3c %0a%3c %0a%3c .. code:: shell%0a%3c %0a%3c 	  $ curl -O https://beta.quicklisp.org/quicklisp.lisp.asc%0a%3c %0a%3c %0a%3c then we check the signature of the downloaded file:%0a%3c %0a%3c %0a%3c .. code:: shell%0a%3c %0a%3c 	  $ gpg --verify quicklisp.lisp.asc quicklisp.lisp%0a%3c 	  gpg: Signature made Sat Feb  1 09:25:28 2014 EST using RSA key ID 028B5FF7%0a%3c 	  gpg: Good signature from "Quicklisp Release Signing Key "%0a%3c %0a%3c %0a%3c The downloaded file is then usable to install the quicklisp library manager. At%0a%3c This point we face two main choices: we can install the library manager only%0a%3c for the user or system-wide.  We assume for now that the installation is%0a%3c limited to one user, so we can proceed as follows:%0a%3c %0a%3c %0a%3c .. code::%0a%3c %0a%3c 	  $ sbcl --load quicklisp.lisp%0a%3c 	  This is SBCL 2.3.8.openbsd.sbcl-2.3.8, an implementation of ANSI Common Lisp.%0a%3c 	  More information about SBCL is available at %3chttp://www.sbcl.org/>.%0a%3c %0a%3c 	  SBCL is free software, provided as is, with absolutely no warranty.%0a%3c 	  It is mostly in the public domain; some portions are provided under%0a%3c 	  BSD-style licenses.  See the CREDITS and COPYING files in the%0a%3c 	  distribution for more information.%0a%3c %0a%3c 	  ==== quicklisp quickstart 2015-01-28 loaded ====%0a%3c %0a%3c 	  To continue with installation, evaluate: (quicklisp-quickstart:install)%0a%3c %0a%3c 	  For installation options, evaluate: (quicklisp-quickstart:help)%0a%3c %0a%3c 	  *%0a%3c %0a%3c .. raw:: pdf%0a%3c %0a%3c    PageBreak%0a%3c %0a%3c %0a%3c At this point we can proceed to install the library:%0a%3c %0a%3c .. code::%0a%3c %0a%3c    * (quicklisp-quickstart:install)%0a%3c    ...%0a%3c    ==== quicklisp installed ====%0a%3c %0a%3c      To load a system, use: (ql:quickload "system-name")%0a%3c %0a%3c      To find systems, use: (ql:system-apropos "term")%0a%3c %0a%3c      To load Quicklisp every time you start Lisp, use: (ql:add-to-init-file)%0a%3c %0a%3c      For more information, see http://www.quicklisp.org/beta/%0a%3c %0a%3c    T%0a%3c    *%0a%3c %0a%3c %0a%3c To use the library with the sbcl REPL we must instruct sbcl itself to load a%0a%3c configuration batch file called .sbclrc which resides in the user home.%0a%3c Quicklisp can do that for us as stated in the message above, in fact let's%0a%3c issue the form in the REPL:%0a%3c %0a%3c %0a%3c .. code::%0a%3c %0a%3c    * (ql:add-to-init-file)%0a%3c    I will append the following lines to #P"/home/user/.sbclrc":%0a%3c %0a%3c    ;;; The following lines added by ql:add-to-init-file:%0a%3c    #-quicklisp%0a%3c    (let ((quicklisp-init #P"/home/user/quicklisp/setup.lisp"))%0a%3c      (when (probe-file quicklisp-init)%0a%3c        (load quicklisp-init)))%0a%3c %0a%3c    Press Enter to continue.%0a%3c %0a%3c    #P"/home/user/.sbclrc"%0a%3c    * (quit)%0a%3c %0a%3c To return to the shell prompt, we can check that the following code is then%0a%3c written in the .sbclrc file:%0a%3c %0a%3c .. code::%0a%3c %0a%3c 	  $ cat ~/.sbclrc%0a%3c 	  ;;; The following lines added by ql:add-to-init-file:%0a%3c 	  #-quicklisp%0a%3c 	  (let ((quicklisp-init #P"/home/user/quicklisp/setup.lisp"))%0a%3c 	    (when (probe-file quicklisp-init)%0a%3c 	      (load quicklisp-init)))%0a%3c %0a%3c %0a%3c .. raw:: pdf%0a%3c %0a%3c    PageBreak%0a%3c %0a%3c %0a%3c .sbclrc is the file which is read and evaluated from sbcl before entering the%0a%3c REPL, we can place configuration for sbcl code in there, for example we want%0a%3c sbcl and quicklisp to include our personal Common Lisp projects repository%0a%3c which is, for example, in ~/Development/lisp directory.  So we add the%0a%3c following code at the end of .sbclrc:%0a%3c %0a%3c %0a%3c .. code:: common-lisp%0a%3c %0a%3c 	  (defun setup-registry (directory-path)%0a%3c 	    (format t "; adding components under ~A to asdf registry~%25" directory-path)%0a%3c 	    (mapc (lambda (asd-pathname)%0a%3c                     (pushnew (make-pathname :name nil%0a%3c 		                            :type nil%0a%3c 					    :version nil%0a%3c 					    :defaults asd-pathname)%0a%3c 		             asdf:*central-registry*%0a%3c 			     :test #'equal))%0a%3c 		  (directory (merge-pathnames #p"**/*.asd" directory-path))))%0a%3c %0a%3c 	  (setup-registry (merge-pathnames #p"Development/lisp/" (user-homedir-pathname)))%0a%3c %0a%3c %0a%3c Let's see what happens when we launch sbcl:%0a%3c %0a%3c .. code:: shell%0a%3c %0a%3c 	  $ sbcl%0a%3c 	  This is SBCL 2.3.8.openbsd.sbcl-2.3.8, an implementation of ANSI Common Lisp.%0a%3c 	  More information about SBCL is available at %3chttp://www.sbcl.org/>.%0a%3c %0a%3c 	  SBCL is free software, provided as is, with absolutely no warranty.%0a%3c 	  It is mostly in the public domain; some portions are provided under%0a%3c 	  BSD-style licenses.  See the CREDITS and COPYING files in the%0a%3c 	  distribution for more information.%0a%3c 	  ; adding components under /home/angel/Development/lisp/ to asdf registry%0a%3c 	  *%0a%3c %0a%3c %0a%3c Now let's check what happened to the \*features\*:%0a%3c %0a%3c .. code:: common-lisp%0a%3c %0a%3c 	  * *features*%0a%3c 	  (:QUICKLISP :ASDF3.3 :ASDF3.2 :ASDF3.1 :ASDF3 :ASDF2 :ASDF :OS-UNIX%0a%3c 	   :NON-BASE-CHARS-EXIST-P :ASDF-UNICODE :ARENA-ALLOCATOR :X86-64 :GENCGC :64-BIT%0a%3c 	   :ANSI-CL :BSD :COMMON-LISP :ELF :IEEE-FLOATING-POINT :LITTLE-ENDIAN :OPENBSD%0a%3c 	   :PACKAGE-LOCAL-NICKNAMES :SB-CORE-COMPRESSION :SB-LDB :SB-PACKAGE-LOCKS%0a%3c 	   :SB-THREAD :SB-UNICODE :SBCL :UNIX)%0a%3c 	  *%0a%3c %0a%3c %0a%3c .. raw:: pdf%0a%3c %0a%3c    PageBreak%0a%3c %0a%3c %0a%3c Configuration for emacs%0a%3c -----------------------%0a%3c %0a%3c Quicklisp library added more features to the basic sbcl behaviour especially%0a%3c related to ASDF.  Now let's configure emacs to allow us to have a REPL inside%0a%3c a window:%0a%3c %0a%3c .. code::%0a%3c %0a%3c    $ sbcl%0a%3c    ...%0a%3c    * (ql:quickload :quicklisp-slime-helper)%0a%3c      To load "quicklisp-slime-helper":%0a%3c        Load 1 ASDF system:%0a%3c          quicklisp-slime-helper%0a%3c    ; Loading "quicklisp-slime-helper"%0a%3c    [package swank-loader]............................%0a%3c    [package quicklisp-slime-helper]%0a%3c    slime-helper.el installed in "/home/user/quicklisp/slime-helper.el"%0a%3c %0a%3c    To use, add this to your ~/.emacs:%0a%3c %0a%3c     (load (expand-file-name "/home/user/quicklisp/slime-helper.el"))%0a%3c     ;; Replace "sbcl" with the path to your implementation%0a%3c     (setq inferior-lisp-program "sbcl")%0a%3c %0a%3c %0a%3c    (:QUICKLISP-SLIME-HELPER)%0a%3c    *%0a%3c %0a%3c %0a%3c To add the code showed by the message before we shall open ~/.emacs which is%0a%3c in turn the configuration file for emacs and add the lines:%0a%3c %0a%3c %0a%3c .. code:: common-lisp%0a%3c %0a%3c 	  (load (expand-file-name "/home/user/quicklisp/slime-helper.el"))%0a%3c 	  ;; Replace "sbcl" with the path to your implementation%0a%3c 	  (setq inferior-lisp-program "sbcl")%0a%3c %0a%3c %0a%3c once the .emacs file is edited we can launch emacs and we have the window:%0a%3c %0a%3c %0a%3c .. image:: ./images/emacs-001.png%0a%3c %0a%3c %0a%3c we start SLIME by pressing the key Alt and x on the keyboard, emacs will let us%0a%3c enter a command:%0a%3c %0a%3c %0a%3c .. image:: ./images/emacs-002.png%0a%3c %0a%3c %0a%3c we enter the command "slime" at the "M-x" prompt:%0a%3c %0a%3c %0a%3c .. image:: ./images/emacs-003.png%0a%3c %0a%3c %0a%3c and press the enter key on the keyboard.  The SLIME REPL appears:%0a%3c %0a%3c %0a%3c .. image:: ./images/emacs-004.png%0a%3c %0a%3c %0a%3c Let's see what are the \*features\* now using the SLIME REPL:%0a%3c %0a%3c %0a%3c .. image:: ./images/emacs-005.png%0a%3c %0a%3c %0a%3c We can try to load a package "antik", and then:%0a%3c %0a%3c %0a%3c .. code:: common-lisp%0a%3c %0a%3c 	  CL-USER> (ql:quickload :antik)%0a%3c 	  ...%0a%3c 	  (:ANTIK)%0a%3c 	  CL-USER>%0a%3c %0a%3c %0a%3c antik provides some useful constants and standard quantities handling in%0a%3c scientific calculations such as:%0a%3c %0a%3c %0a%3c .. code:: common-lisp%0a%3c %0a%3c 	  CL-USER> antik:+days-per-month+%0a%3c 	  30%0a%3c 	  CL-USER>%0a%3c %0a%3c %0a%3c .. raw:: pdf%0a%3c %0a%3c    PageBreak%0a%3c %0a%3c %0a%3c .. raw:: pdf%0a%3c %0a%3c    OddPageBreak%0a%3c %0a%3c %0a%3c .. comment: End of file.%0a---%0a> Copyright (C) 2023 Angelo Rossi %3cangelo.rossi.homelab@gmail.com>%0a> %0a> Redistribution and use in source and binary forms, with or without%0a> modification, are permitted provided that the following conditions%0a> are met:%0a> %0a> 1. Redistributions of source code must retain the above copyright%0a>    notice, this list of conditions and the following disclaimer.%0a> 2. Redistributions in binary form must reproduce the above copyright%0a>    notice, this list of conditions and the following disclaimer in the%0a>    documentation and/or other materials provided with the distribution.%0a> 3. Neither the name of the University nor the names of its contributors%0a>    may be used to endorse or promote products derived from this software%0a>    without specific prior written permission.%0a> %0a> THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND%0a> ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE%0a> IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE%0a> ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE%0a> FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL%0a> DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS%0a> OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)%0a> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT%0a> LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY%0a> OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF%0a> SUCH DAMAGE.%0a> %0a
+host:1700844753=93.45.233.109
+author:1700843694=Posterdati
+diff:1700843694:1700843694:=1,45d0%0a%3c !Common Lisp on OpenBSD%0a%3c %0a%3c ---------------------------------%0a%3c !! With a simple Hunchentoot example%0a%3c ---------------------------------%0a%3c %0a%3c || border=1 width=50%25 class="sortable simpletable"%0a%3c ||!Revision||!Description||!Name                                        ||%0a%3c ||0.0.1    ||This table  ||Angelo Rossi %3cangelo.rossi.homelab@gmail.com>||%0a%3c ||         ||            ||                                             ||%0a%3c %0a%3c %0a%3c !!!Preface to this Edition%0a%3c %0a%3c This is a lone work by Angelo Rossi %3cangelo.rossi.homelab@gmail.com>%0a%3c %0a%3c !!!License Information%0a%3c %0a%3c Copyright (C) 2023 Angelo Rossi %3cangelo.rossi.homelab@gmail.com>%0a%3c %0a%3c Redistribution and use in source and binary forms, with or without%0a%3c modification, are permitted provided that the following conditions%0a%3c are met:%0a%3c %0a%3c 1. Redistributions of source code must retain the above copyright%0a%3c    notice, this list of conditions and the following disclaimer.%0a%3c 2. Redistributions in binary form must reproduce the above copyright%0a%3c    notice, this list of conditions and the following disclaimer in the%0a%3c    documentation and/or other materials provided with the distribution.%0a%3c 3. Neither the name of the University nor the names of its contributors%0a%3c    may be used to endorse or promote products derived from this software%0a%3c    without specific prior written permission.%0a%3c %0a%3c THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND%0a%3c ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE%0a%3c IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE%0a%3c ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE%0a%3c FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL%0a%3c DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS%0a%3c OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)%0a%3c HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT%0a%3c LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY%0a%3c OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF%0a%3c SUCH DAMAGE.%0a%3c %0a
+host:1700843694=93.45.233.109
blob - /dev/null
blob + 6ce2cf463361a2d11438dbb707714b52ca64f234 (mode 644)
--- /dev/null
+++ wiki.d/Hunchentoot.RecentChanges
@@ -0,0 +1,9 @@
+version=pmwiki-2.3.20 ordered=1 urlencoded=1
+agent=Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0
+charset=UTF-8
+ctime=1700849780
+host=93.45.233.109
+name=Hunchentoot.RecentChanges
+rev=10
+text=* [[Hunchentoot/Install]]  . . . @2023-11-24T19:50:41Z by [[~Posterdati]]: [==]%0a
+time=1700855441
blob - /dev/null
blob + b786ab8cc4e3695af0524bbcf2c0a45820f060e3 (mode 644)
--- /dev/null
+++ wiki.d/Openbsd.Host
@@ -0,0 +1,15 @@
+version=pmwiki-2.3.20 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20230121
+author=jrmu
+charset=UTF-8
+csum=
+ctime=1700866267
+host=38.87.162.8
+name=Openbsd.Host
+rev=1
+targets=
+text=(:redirect Host/Usage:)%0a
+time=1700866267
+author:1700866267=jrmu
+diff:1700866267:1700866267:=1d0%0a%3c (:redirect Host/Usage:)%0a
+host:1700866267=38.87.162.8
blob - 85d09c4da1afad794d03d5b0bd25171d13cd9dff
blob + 71748407527be4c010735393f022ae18c068d1d1
--- wiki.d/Openbsd.RecentChanges
+++ wiki.d/Openbsd.RecentChanges
@@ -4,6 +4,6 @@ charset=UTF-8
 ctime=1596189997
 host=38.87.162.8
 name=Openbsd.RecentChanges
-rev=2046
-text=* [[Openbsd/Host]]  . . . @2023-11-24T22:51:07Z by [[~jrmu]]: [==]%0a* [[Openbsd/Ngircd]]  . . . @2023-11-19T01:45:08Z by [[~jrmu]]: [==]%0a* [[Openbsd/Pkg]]  . . . @2023-11-19T01:35:10Z by [[~jrmu]]: [==]%0a* [[Openbsd/Intro]]  . . . @2023-11-19T01:12:27Z by [[~jrmu]]: [==]%0a* [[Openbsd/Upgrade74]]  . . . @2023-11-18T06:31:09Z by [[~jrmu]]: [==]%0a* [[Openbsd/Install73]]  . . . @2023-11-18T05:32:17Z by [[~jrmu]]: [==]%0a* [[Openbsd/Install74]]  . . . @2023-11-18T05:06:51Z by [[~jrmu]]: [==]%0a* [[Openbsd/Sysupgrade74]]  . . . @2023-11-16T00:15:28Z by [[~jrmu]]: [==]%0a* [[Openbsd/Tcltls]]  . . . @2023-11-06T20:19:24Z by [[~jrmu]]: [==]%0a* [[Openbsd/PFStable]]  . . . @2023-10-27T19:07:16Z by [[~sylv1a]]: [=Revise ICMP section in accordance with RFCs. Fix icmp6 syntax issue.=]%0a* [[Openbsd/Dump]]  . . . @2023-10-26T18:08:08Z by [[~miniontoby]]: [=missing a dash before an h=]%0a* [[Openbsd/Hopm-NowWithInit]]  . . . @2023-10-07T05:20:56Z by [[~Maddie]]: [=[Minor]: Cleaned ansible code for more efficency.=]%0a* [[Openbsd/FilePermissions]]  . . . @2023-10-04T02:15:54Z by [[~sylv1a]]: [=Replace `$ doas` with `#`=]%0a* [[Openbsd/Anope]]  . . . @2023-10-03T02:51:27Z by [[~jrmu]]: [==]%0a* [[Openbsd/Loginconf]]  . . . @2023-09-15T12:06:06Z by [[~jrmu]]: [==]%0a* [[Openbsd/CPAN]]  . . . @2023-09-05T03:25:21Z by [[~jrmu]]: [==]%0a* [[Openbsd/Pleroma]]  . . . @2023-09-03T01:21:36Z by [[~Yonle]]: [=Instead of using append, use set=]%0a* [[Openbsd/Akkoma]]  . . . @2023-09-03T01:21:12Z by [[~Yonle]]: [=Instead of using append, use set=]%0a* [[Openbsd/Prosody]]  . . . @2023-09-02T02:58:33Z by [[~izzyb]]: [==]%0a* [[Openbsd/Sysupgrade71]]  . . . @2023-07-27T20:09:43Z by [[~xfnw]]: [=using both -U and -u at the same time is pointless=]%0a* [[Openbsd/Snac]]  . . . @2023-07-21T04:45:35Z by [[~Yonle]]: [==]%0a* [[Openbsd/ZNCModules]]  . . . @2023-07-16T20:56:32Z by [[~izzyb]]: [=Added links to more modules=]%0a* [[Openbsd/Biboumi]]  . . . @2023-06-27T10:13:30Z by [[~Yonle]]: [==]%0a* [[Openbsd/Orangepi3lts]]  . . . @2023-06-12T00:06:06Z by [[~jrmu]]: [==]%0a* [[Openbsd/Xenodm]]  . . . @2023-06-11T16:30:39Z by [[~Posterdati]]: [=OpenBSD, xorg, xenodm, monitors=]%0a* [[Openbsd/Pmwiki]]  . . . @2023-06-07T04:56:11Z by [[~jrmu]]: [==]%0a* [[Openbsd/Hopm]]  . . . @2023-06-06T05:52:47Z by [[~Yonle]]: [==]%0a* [[Openbsd/Gnost-relay]]  . . . @2023-05-31T10:53:55Z by [[~Yonle]]: [=There's a reason why i connect to IPv6 instead of IPv4=]%0a* [[Openbsd/BBB]]  . . . @2023-05-24T15:03:59Z by [[~devune]]: [==]%0a* [[Openbsd/Restore]]  . . . @2023-05-16T04:37:15Z by [[~izzyb]]: [=Added documents on using the interactive restore feature=]%0a* [[Openbsd/MlmmjWebArchiver]]  . . . @2023-05-04T00:33:10Z by [[~izzyb]]: [=Added missing instructions for installing mhonarc=]%0a* [[Openbsd/Mlmmj]]  . . . @2023-05-03T21:19:16Z by [[~izzyb]]: [=Added link to mlmmj-WebArchiver=]%0a* [[Openbsd/KnownIssues]]  . . . @2023-04-10T22:02:38Z by [[~izzyb]]: [==]%0a* [[Openbsd/Psybnc]]  . . . @2023-03-22T03:53:44Z by [[~Naglfar]]: [=Update download url=]%0a* [[Openbsd/Upgrade72]]  . . . @2023-03-22T02:48:07Z by [[~izzyb]]: [=Simple stub to upgrade68=]%0a* [[Openbsd/Upgrade69]]  . . . @2023-03-22T02:45:25Z by [[~izzyb]]: [==]%0a* [[Openbsd/Upgrade71]]  . . . @2023-03-22T01:24:24Z by [[~izzyb]]: [==]%0a* [[Openbsd/Upgrade70]]  . . . @2023-03-22T01:23:31Z by [[~izzyb]]: [==]%0a* [[Openbsd/Upgrade68]]  . . . @2023-03-22T01:19:01Z by [[~izzyb]]: [=Added drop screen definitions and info re sysupgrade=]%0a* [[Openbsd/OpenTracker]]  . . . March 03, 2023, at 04:37 PM by [[~baytuch]]: [==]%0a* [[Openbsd/Gotweb]]  . . . February 26, 2023, at 05:04 PM by [[~fossdev]]: [==]%0a* [[Openbsd/Plermoa]]  . . . February 16, 2023, at 04:52 AM by [[~Yonle]]: [=Redirect=]%0a* [[Openbsd/Mosh]]  . . . February 07, 2023, at 11:30 AM by [[~Yonle]]: [==]%0a* [[Openbsd/Passwords]]  . . . February 03, 2023, at 07:49 PM by [[~izzyb]]: [==]%0a* [[Openbsd/Unrealircd]]  . . . January 20, 2023, at 07:27 PM by [[~mkf]]: [==]%0a* [[Openbsd/Vipw]]  . . . January 18, 2023, at 11:01 PM by [[~zen]]: [=added two spaces=]%0a* [[Openbsd/Singleuser]]  . . . January 18, 2023, at 10:26 PM by [[~zen]]: [=changed the link reference=]%0a* [[Openbsd/Quota]]  . . . December 29, 2022, at 06:51 PM by [[~mkf]]: [==]%0a* [[Openbsd/Minetest]]  . . . December 26, 2022, at 07:23 PM by [[~miniontoby]]: [=Added more ways to install=]%0a* [[Openbsd/Honk]]  . . . December 17, 2022, at 08:45 AM by [[~Yonle]]: [==]%0a* [[Openbsd/Icecast]]  . . . November 17, 2022, at 11:35 AM by [[~Yonle]]: [==]%0a* [[Openbsd/Geomyidae]]  . . . September 10, 2022, at 02:31 AM by [[~akoizumi]]: [==]%0a* [[Openbsd/INN]]  . . . September 10, 2022, at 02:23 AM by [[~akoizumi]]: [=Fix some types=]%0a* [[Openbsd/VsFTP]]  . . . August 10, 2022, at 03:18 PM by [[~mkf]]: [=snipped unneeded output=]%0a* [[Openbsd/Apmd]]  . . . July 03, 2022, at 11:36 AM by [[~mkf]]: [==]%0a* [[Openbsd/Bsdrd]]  . . . June 09, 2022, at 07:17 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Growfs]]  . . . June 01, 2022, at 12:34 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Nsd]]  . . . May 10, 2022, at 12:33 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Ports]]  . . . May 09, 2022, at 05:54 AM by [[~mkf]]: [==]%0a* [[Openbsd/Rcctl]]  . . . May 09, 2022, at 05:53 AM by [[~mkf]]: [==]%0a* [[Openbsd/Install71]]  . . . April 24, 2022, at 09:55 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Botnow]]  . . . April 24, 2022, at 06:14 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Gopher]]  . . . April 20, 2022, at 08:29 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Adduser]]  . . . April 20, 2022, at 08:07 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Ntpd]]  . . . April 20, 2022, at 06:16 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Vmmlinux]]  . . . April 20, 2022, at 05:33 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Iked]]  . . . April 20, 2022, at 05:16 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Team]]  . . . April 20, 2022, at 04:54 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Announce]]  . . . April 19, 2022, at 04:14 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Install70]]  . . . April 19, 2022, at 06:52 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Censord]]  . . . April 05, 2022, at 06:16 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Dns]]  . . . April 05, 2022, at 05:24 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Ddos]]  . . . March 24, 2022, at 04:22 PM by [[~jrmu]]: [==]%0a* [[Openbsd/IRCBridge]]  . . . February 28, 2022, at 02:59 AM by [[~suzerain]]: [==]%0a* [[Openbsd/Wesnothd]]  . . . February 21, 2022, at 06:28 AM by [[~mkf]]: [=Wesnothd=]%0a* [[Openbsd/Xonotic]]  . . . February 20, 2022, at 07:43 AM by [[~mkf]]: [=A xonotic server has apperad! pt.2=]%0a* [[Openbsd/Police]]  . . . February 10, 2022, at 07:36 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Tcpip]]  . . . January 24, 2022, at 05:45 PM by [[~jrmu]]: [==]%0a* [[Openbsd/U9fs]]  . . . January 16, 2022, at 06:23 PM by [[~mkf]]: [==]%0a* [[Openbsd/Locale]]  . . . January 12, 2022, at 01:23 PM by [[~baytuch]]: [==]%0a* [[Openbsd/Openbsd]]  . . . January 12, 2022, at 01:19 PM by [[~baytuch]]: [==]%0a* [[Openbsd/Sftp]]  . . . December 30, 2021, at 06:01 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Uim]]  . . . December 26, 2021, at 01:45 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Wifi]]  . . . December 22, 2021, at 02:59 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Recordaudio]]  . . . December 22, 2021, at 01:24 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Training]]  . . . November 16, 2021, at 03:30 PM by [[~Hawk]]: [==]%0a* [[Openbsd/Got]]  . . . November 07, 2021, at 03:16 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Drawtermssh]]  . . . November 04, 2021, at 03:54 PM by [[~meeekeeef]]: [=ssh bad >:[=]%0a* [[Openbsd/Sysupgrade70]]  . . . October 15, 2021, at 11:02 AM by [[~mkf]]: [=humans are easily confused.=]%0a* [[Openbsd/Ilines]]  . . . October 15, 2021, at 02:36 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Install69]]  . . . September 27, 2021, at 05:59 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Mailopenproxy]]  . . . August 25, 2021, at 08:19 PM by [[~mkf]]: [==]%0a* [[Openbsd/Two-FactorAuth]]  . . . August 23, 2021, at 07:39 PM by [[~mkf]]: [=login.db compiling is no longer recommended.=]%0a* [[Openbsd/Npppd]]  . . . August 21, 2021, at 01:43 PM by [[~mkf]]: [==]%0a* [[Openbsd/Gophernicus]]  . . . August 15, 2021, at 02:06 AM by [[~mkf]]: [==]%0a* [[Openbsd/Openhttpd]]  . . . August 13, 2021, at 07:29 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Bitlbee]]  . . . August 10, 2021, at 12:03 PM by [[~mkf]]: [==]%0a* [[Openbsd/Pppoe]]  . . . August 10, 2021, at 11:56 AM by [[~mkf]]: [==]%0a* [[Openbsd/Sshkeys]]  . . . August 09, 2021, at 04:42 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Squirrelmail]]  . . . August 06, 2021, at 10:32 AM by [[~baytuch]]: [==]%0a* [[Openbsd/Dnszones]]  . . . August 03, 2021, at 09:26 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Matterbridge]]  . . . August 02, 2021, at 12:33 PM by [[~mkf]]: [==]%0a* [[Openbsd/Vhost]]  . . . August 02, 2021, at 02:32 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Chroot]]  . . . July 31, 2021, at 02:47 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Vmmuser]]  . . . July 29, 2021, at 05:31 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Vmminstall]]  . . . July 29, 2021, at 05:28 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Vmm]]  . . . July 29, 2021, at 05:24 AM by [[~jrmu]]: [==]%0a* [[Openbsd/ZNCAdmin]]  . . . July 28, 2021, at 06:14 AM by [[~jrmu]]: [==]%0a* [[Openbsd/ZNCSupport]]  . . . July 28, 2021, at 06:14 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Php]]  . . . July 27, 2021, at 02:53 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Dig]]  . . . July 25, 2021, at 06:50 AM by [[~jrmu]]: [==]%0a* [[Openbsd/RDNS]]  . . . July 23, 2021, at 06:44 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Sic]]  . . . July 21, 2021, at 05:57 PM by [[~mkf]]: [=first edit.=]%0a* [[Openbsd/Openrsync]]  . . . July 18, 2021, at 02:01 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Znc]]  . . . July 16, 2021, at 10:43 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Staticnet]]  . . . July 12, 2021, at 05:48 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Dovecot]]  . . . July 12, 2021, at 02:58 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Relayd]]  . . . July 12, 2021, at 02:45 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Spf]]  . . . July 12, 2021, at 03:08 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Eggdrop]]  . . . July 02, 2021, at 03:20 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Newdisk]]  . . . June 29, 2021, at 03:23 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Ed]]  . . . June 28, 2021, at 04:04 PM by [[~mkf]]: [==]%0a* [[Openbsd/Unbound]]  . . . June 27, 2021, at 12:12 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Dkimproxy]]  . . . June 25, 2021, at 12:56 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Sysupgrade69]]  . . . June 25, 2021, at 05:46 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Opensmtpd]]  . . . June 23, 2021, at 02:21 AM by [[~jrmu]]: [==]%0a* [[Openbsd/NgircdLink]]  . . . June 22, 2021, at 07:50 PM by [[~mkf]]: [=delete=]%0a* [[Openbsd/Doas]]  . . . June 13, 2021, at 01:19 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Shell]]  . . . June 11, 2021, at 09:36 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Books]]  . . . June 06, 2021, at 12:46 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Pfa]]  . . . June 06, 2021, at 03:49 AM by [[~navic]]: [==]%0a* [[Openbsd/Wordpress]]  . . . June 04, 2021, at 04:55 AM by [[~jrmu]]: [==]%0a* [[Openbsd/ACKFlood]]  . . . May 29, 2021, at 06:20 AM by [[~mkf]]: [==]%0a* [[Openbsd/SSDP]]  . . . May 29, 2021, at 06:18 AM by [[~mkf]]: [==]%0a* [[Openbsd/Anycast]]  . . . May 29, 2021, at 06:01 AM by [[~mkf]]: [==]%0a* [[Openbsd/Dmarc]]  . . . May 21, 2021, at 09:22 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Disklabel]]  . . . May 17, 2021, at 03:33 AM by [[~bejelentkezni]]: [==]%0a* [[Openbsd/Fdisk]]  . . . May 17, 2021, at 03:27 AM by [[~bejelentkezni]]: [==]%0a* [[Openbsd/Security]]  . . . May 14, 2021, at 03:14 AM by [[~caesar]]: [==]%0a* [[Openbsd/Hopm-Arthur]]  . . . May 07, 2021, at 12:28 PM by [[~Arthur]]: [==]%0a* [[Openbsd/Syspatch]]  . . . February 14, 2021, at 11:00 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Netadmin]]  . . . February 14, 2021, at 10:56 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Leafnode]]  . . . February 12, 2021, at 01:40 PM by [[~chewy]]: [==]%0a* [[Openbsd/Pylink]]  . . . February 08, 2021, at 08:33 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Stable]]  . . . February 02, 2021, at 02:25 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Base64]]  . . . February 02, 2021, at 06:37 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Unboundadblock]]  . . . February 02, 2021, at 04:29 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Pfbadhost]]  . . . February 02, 2021, at 04:29 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Wraith]]  . . . February 02, 2021, at 04:22 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Delphinusdnsd]]  . . . February 02, 2021, at 01:51 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Abuse]]  . . . January 31, 2021, at 05:33 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Phishing]]  . . . January 31, 2021, at 05:02 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Audit]]  . . . January 31, 2021, at 04:46 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Ongoing]]  . . . January 31, 2021, at 01:19 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Httpopenproxy]]  . . . January 29, 2021, at 11:01 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Zncadmin]]  . . . January 29, 2021, at 10:00 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Rbldns]]  . . . January 29, 2021, at 05:45 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Setuid]]  . . . January 28, 2021, at 06:53 AM by [[~jrmu]]: [==]%0a* [[Openbsd/PFTesting]]  . . . January 25, 2021, at 03:28 PM by [[~jrmu]]: [==]%0a* [[Openbsd/ZNCDaily]]  . . . January 25, 2021, at 11:35 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Irssi]]  . . . January 25, 2021, at 07:08 AM by [[~jrmu]]: [==]%0a* [[Openbsd/XTerm]]  . . . January 17, 2021, at 01:48 PM by [[~miniontoby]]: [=copyright=]%0a* [[Openbsd/Slrn]]  . . . January 12, 2021, at 02:40 PM by [[~Noxturnix]]: [==]%0a* [[Openbsd/Netcat]]  . . . January 09, 2021, at 02:20 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Perl]]  . . . January 09, 2021, at 01:52 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Backup]]  . . . January 03, 2021, at 01:46 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Backups]]  . . . January 02, 2021, at 11:44 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Sshbackdoor]]  . . . December 30, 2020, at 12:14 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Pf-bnc]]  . . . December 29, 2020, at 06:30 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Amplification]]  . . . December 19, 2020, at 05:42 AM by [[~jrmu]]: [==]%0a* [[Openbsd/UDPFlood]]  . . . December 18, 2020, at 10:39 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Tcpdump]]  . . . December 18, 2020, at 09:12 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Tcpackflood]]  . . . December 17, 2020, at 10:36 AM by [[~jrmu]]: [==]%0a* [[Openbsd/RSTFlood]]  . . . December 17, 2020, at 10:34 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Tcpresetflood]]  . . . December 17, 2020, at 10:34 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Ssdp]]  . . . December 15, 2020, at 12:59 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Pf]]  . . . December 13, 2020, at 12:03 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Install68]]  . . . December 13, 2020, at 10:13 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Upgrade67]]  . . . December 13, 2020, at 04:02 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Sysupgrade68]]  . . . December 11, 2020, at 10:27 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Dokuwiki]]  . . . December 10, 2020, at 02:23 PM by [[~miniontoby]]: [=code blocks fixed=]%0a* [[Openbsd/Acme-client]]  . . . December 09, 2020, at 06:47 PM by [[~miniontoby]]: [=fixed troubleshooting links=]%0a* [[Openbsd/Install67]]  . . . December 06, 2020, at 11:03 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Buyvm]]  . . . December 06, 2020, at 02:42 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Install]]  . . . December 04, 2020, at 04:15 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Oidentd]]  . . . November 30, 2020, at 11:42 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Checklist]]  . . . November 20, 2020, at 12:44 AM by [[~gry]]: [=+=]%0a* [[Openbsd/Acopm]]  . . . November 04, 2020, at 03:32 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Achurch]]  . . . November 04, 2020, at 02:25 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Vi]]  . . . November 04, 2020, at 12:51 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Sudo]]  . . . November 04, 2020, at 12:38 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Easyapp]]  . . . September 29, 2020, at 12:13 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Cgit]]  . . . September 01, 2020, at 05:51 PM by [[~baytuch]]: [==]%0a* [[Openbsd/Bchs]]  . . . August 20, 2020, at 07:11 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Fdm]]  . . . August 18, 2020, at 10:06 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Opensmtpd-2]]  . . . August 18, 2020, at 09:59 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Opensmtpd-relay]]  . . . August 18, 2020, at 09:56 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Identd]]  . . . August 18, 2020, at 09:39 AM by [[~jrmu]]: [==]%0a* [[Openbsd/IPv6]]  . . . August 12, 2020, at 02:21 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Oscommerce]]  . . . August 12, 2020, at 10:00 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Ping]]  . . . August 12, 2020, at 08:34 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Sockets]]  . . . August 12, 2020, at 07:16 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Guides]]  . . . August 10, 2020, at 03:42 AM by [[~jrmu]]: [==]%0a
-time=1700866267
+rev=2047
+text=* [[Openbsd/Wraith]]  . . . @2023-11-25T18:49:17Z by [[~jrmu]]: [==]%0a* [[Openbsd/Host]]  . . . @2023-11-24T22:51:07Z by [[~jrmu]]: [==]%0a* [[Openbsd/Ngircd]]  . . . @2023-11-19T01:45:08Z by [[~jrmu]]: [==]%0a* [[Openbsd/Pkg]]  . . . @2023-11-19T01:35:10Z by [[~jrmu]]: [==]%0a* [[Openbsd/Intro]]  . . . @2023-11-19T01:12:27Z by [[~jrmu]]: [==]%0a* [[Openbsd/Upgrade74]]  . . . @2023-11-18T06:31:09Z by [[~jrmu]]: [==]%0a* [[Openbsd/Install73]]  . . . @2023-11-18T05:32:17Z by [[~jrmu]]: [==]%0a* [[Openbsd/Install74]]  . . . @2023-11-18T05:06:51Z by [[~jrmu]]: [==]%0a* [[Openbsd/Sysupgrade74]]  . . . @2023-11-16T00:15:28Z by [[~jrmu]]: [==]%0a* [[Openbsd/Tcltls]]  . . . @2023-11-06T20:19:24Z by [[~jrmu]]: [==]%0a* [[Openbsd/PFStable]]  . . . @2023-10-27T19:07:16Z by [[~sylv1a]]: [=Revise ICMP section in accordance with RFCs. Fix icmp6 syntax issue.=]%0a* [[Openbsd/Dump]]  . . . @2023-10-26T18:08:08Z by [[~miniontoby]]: [=missing a dash before an h=]%0a* [[Openbsd/Hopm-NowWithInit]]  . . . @2023-10-07T05:20:56Z by [[~Maddie]]: [=[Minor]: Cleaned ansible code for more efficency.=]%0a* [[Openbsd/FilePermissions]]  . . . @2023-10-04T02:15:54Z by [[~sylv1a]]: [=Replace `$ doas` with `#`=]%0a* [[Openbsd/Anope]]  . . . @2023-10-03T02:51:27Z by [[~jrmu]]: [==]%0a* [[Openbsd/Loginconf]]  . . . @2023-09-15T12:06:06Z by [[~jrmu]]: [==]%0a* [[Openbsd/CPAN]]  . . . @2023-09-05T03:25:21Z by [[~jrmu]]: [==]%0a* [[Openbsd/Pleroma]]  . . . @2023-09-03T01:21:36Z by [[~Yonle]]: [=Instead of using append, use set=]%0a* [[Openbsd/Akkoma]]  . . . @2023-09-03T01:21:12Z by [[~Yonle]]: [=Instead of using append, use set=]%0a* [[Openbsd/Prosody]]  . . . @2023-09-02T02:58:33Z by [[~izzyb]]: [==]%0a* [[Openbsd/Sysupgrade71]]  . . . @2023-07-27T20:09:43Z by [[~xfnw]]: [=using both -U and -u at the same time is pointless=]%0a* [[Openbsd/Snac]]  . . . @2023-07-21T04:45:35Z by [[~Yonle]]: [==]%0a* [[Openbsd/ZNCModules]]  . . . @2023-07-16T20:56:32Z by [[~izzyb]]: [=Added links to more modules=]%0a* [[Openbsd/Biboumi]]  . . . @2023-06-27T10:13:30Z by [[~Yonle]]: [==]%0a* [[Openbsd/Orangepi3lts]]  . . . @2023-06-12T00:06:06Z by [[~jrmu]]: [==]%0a* [[Openbsd/Xenodm]]  . . . @2023-06-11T16:30:39Z by [[~Posterdati]]: [=OpenBSD, xorg, xenodm, monitors=]%0a* [[Openbsd/Pmwiki]]  . . . @2023-06-07T04:56:11Z by [[~jrmu]]: [==]%0a* [[Openbsd/Hopm]]  . . . @2023-06-06T05:52:47Z by [[~Yonle]]: [==]%0a* [[Openbsd/Gnost-relay]]  . . . @2023-05-31T10:53:55Z by [[~Yonle]]: [=There's a reason why i connect to IPv6 instead of IPv4=]%0a* [[Openbsd/BBB]]  . . . @2023-05-24T15:03:59Z by [[~devune]]: [==]%0a* [[Openbsd/Restore]]  . . . @2023-05-16T04:37:15Z by [[~izzyb]]: [=Added documents on using the interactive restore feature=]%0a* [[Openbsd/MlmmjWebArchiver]]  . . . @2023-05-04T00:33:10Z by [[~izzyb]]: [=Added missing instructions for installing mhonarc=]%0a* [[Openbsd/Mlmmj]]  . . . @2023-05-03T21:19:16Z by [[~izzyb]]: [=Added link to mlmmj-WebArchiver=]%0a* [[Openbsd/KnownIssues]]  . . . @2023-04-10T22:02:38Z by [[~izzyb]]: [==]%0a* [[Openbsd/Psybnc]]  . . . @2023-03-22T03:53:44Z by [[~Naglfar]]: [=Update download url=]%0a* [[Openbsd/Upgrade72]]  . . . @2023-03-22T02:48:07Z by [[~izzyb]]: [=Simple stub to upgrade68=]%0a* [[Openbsd/Upgrade69]]  . . . @2023-03-22T02:45:25Z by [[~izzyb]]: [==]%0a* [[Openbsd/Upgrade71]]  . . . @2023-03-22T01:24:24Z by [[~izzyb]]: [==]%0a* [[Openbsd/Upgrade70]]  . . . @2023-03-22T01:23:31Z by [[~izzyb]]: [==]%0a* [[Openbsd/Upgrade68]]  . . . @2023-03-22T01:19:01Z by [[~izzyb]]: [=Added drop screen definitions and info re sysupgrade=]%0a* [[Openbsd/OpenTracker]]  . . . March 03, 2023, at 04:37 PM by [[~baytuch]]: [==]%0a* [[Openbsd/Gotweb]]  . . . February 26, 2023, at 05:04 PM by [[~fossdev]]: [==]%0a* [[Openbsd/Plermoa]]  . . . February 16, 2023, at 04:52 AM by [[~Yonle]]: [=Redirect=]%0a* [[Openbsd/Mosh]]  . . . February 07, 2023, at 11:30 AM by [[~Yonle]]: [==]%0a* [[Openbsd/Passwords]]  . . . February 03, 2023, at 07:49 PM by [[~izzyb]]: [==]%0a* [[Openbsd/Unrealircd]]  . . . January 20, 2023, at 07:27 PM by [[~mkf]]: [==]%0a* [[Openbsd/Vipw]]  . . . January 18, 2023, at 11:01 PM by [[~zen]]: [=added two spaces=]%0a* [[Openbsd/Singleuser]]  . . . January 18, 2023, at 10:26 PM by [[~zen]]: [=changed the link reference=]%0a* [[Openbsd/Quota]]  . . . December 29, 2022, at 06:51 PM by [[~mkf]]: [==]%0a* [[Openbsd/Minetest]]  . . . December 26, 2022, at 07:23 PM by [[~miniontoby]]: [=Added more ways to install=]%0a* [[Openbsd/Honk]]  . . . December 17, 2022, at 08:45 AM by [[~Yonle]]: [==]%0a* [[Openbsd/Icecast]]  . . . November 17, 2022, at 11:35 AM by [[~Yonle]]: [==]%0a* [[Openbsd/Geomyidae]]  . . . September 10, 2022, at 02:31 AM by [[~akoizumi]]: [==]%0a* [[Openbsd/INN]]  . . . September 10, 2022, at 02:23 AM by [[~akoizumi]]: [=Fix some types=]%0a* [[Openbsd/VsFTP]]  . . . August 10, 2022, at 03:18 PM by [[~mkf]]: [=snipped unneeded output=]%0a* [[Openbsd/Apmd]]  . . . July 03, 2022, at 11:36 AM by [[~mkf]]: [==]%0a* [[Openbsd/Bsdrd]]  . . . June 09, 2022, at 07:17 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Growfs]]  . . . June 01, 2022, at 12:34 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Nsd]]  . . . May 10, 2022, at 12:33 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Ports]]  . . . May 09, 2022, at 05:54 AM by [[~mkf]]: [==]%0a* [[Openbsd/Rcctl]]  . . . May 09, 2022, at 05:53 AM by [[~mkf]]: [==]%0a* [[Openbsd/Install71]]  . . . April 24, 2022, at 09:55 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Botnow]]  . . . April 24, 2022, at 06:14 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Gopher]]  . . . April 20, 2022, at 08:29 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Adduser]]  . . . April 20, 2022, at 08:07 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Ntpd]]  . . . April 20, 2022, at 06:16 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Vmmlinux]]  . . . April 20, 2022, at 05:33 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Iked]]  . . . April 20, 2022, at 05:16 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Team]]  . . . April 20, 2022, at 04:54 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Announce]]  . . . April 19, 2022, at 04:14 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Install70]]  . . . April 19, 2022, at 06:52 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Censord]]  . . . April 05, 2022, at 06:16 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Dns]]  . . . April 05, 2022, at 05:24 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Ddos]]  . . . March 24, 2022, at 04:22 PM by [[~jrmu]]: [==]%0a* [[Openbsd/IRCBridge]]  . . . February 28, 2022, at 02:59 AM by [[~suzerain]]: [==]%0a* [[Openbsd/Wesnothd]]  . . . February 21, 2022, at 06:28 AM by [[~mkf]]: [=Wesnothd=]%0a* [[Openbsd/Xonotic]]  . . . February 20, 2022, at 07:43 AM by [[~mkf]]: [=A xonotic server has apperad! pt.2=]%0a* [[Openbsd/Police]]  . . . February 10, 2022, at 07:36 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Tcpip]]  . . . January 24, 2022, at 05:45 PM by [[~jrmu]]: [==]%0a* [[Openbsd/U9fs]]  . . . January 16, 2022, at 06:23 PM by [[~mkf]]: [==]%0a* [[Openbsd/Locale]]  . . . January 12, 2022, at 01:23 PM by [[~baytuch]]: [==]%0a* [[Openbsd/Openbsd]]  . . . January 12, 2022, at 01:19 PM by [[~baytuch]]: [==]%0a* [[Openbsd/Sftp]]  . . . December 30, 2021, at 06:01 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Uim]]  . . . December 26, 2021, at 01:45 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Wifi]]  . . . December 22, 2021, at 02:59 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Recordaudio]]  . . . December 22, 2021, at 01:24 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Training]]  . . . November 16, 2021, at 03:30 PM by [[~Hawk]]: [==]%0a* [[Openbsd/Got]]  . . . November 07, 2021, at 03:16 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Drawtermssh]]  . . . November 04, 2021, at 03:54 PM by [[~meeekeeef]]: [=ssh bad >:[=]%0a* [[Openbsd/Sysupgrade70]]  . . . October 15, 2021, at 11:02 AM by [[~mkf]]: [=humans are easily confused.=]%0a* [[Openbsd/Ilines]]  . . . October 15, 2021, at 02:36 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Install69]]  . . . September 27, 2021, at 05:59 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Mailopenproxy]]  . . . August 25, 2021, at 08:19 PM by [[~mkf]]: [==]%0a* [[Openbsd/Two-FactorAuth]]  . . . August 23, 2021, at 07:39 PM by [[~mkf]]: [=login.db compiling is no longer recommended.=]%0a* [[Openbsd/Npppd]]  . . . August 21, 2021, at 01:43 PM by [[~mkf]]: [==]%0a* [[Openbsd/Gophernicus]]  . . . August 15, 2021, at 02:06 AM by [[~mkf]]: [==]%0a* [[Openbsd/Openhttpd]]  . . . August 13, 2021, at 07:29 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Bitlbee]]  . . . August 10, 2021, at 12:03 PM by [[~mkf]]: [==]%0a* [[Openbsd/Pppoe]]  . . . August 10, 2021, at 11:56 AM by [[~mkf]]: [==]%0a* [[Openbsd/Sshkeys]]  . . . August 09, 2021, at 04:42 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Squirrelmail]]  . . . August 06, 2021, at 10:32 AM by [[~baytuch]]: [==]%0a* [[Openbsd/Dnszones]]  . . . August 03, 2021, at 09:26 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Matterbridge]]  . . . August 02, 2021, at 12:33 PM by [[~mkf]]: [==]%0a* [[Openbsd/Vhost]]  . . . August 02, 2021, at 02:32 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Chroot]]  . . . July 31, 2021, at 02:47 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Vmmuser]]  . . . July 29, 2021, at 05:31 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Vmminstall]]  . . . July 29, 2021, at 05:28 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Vmm]]  . . . July 29, 2021, at 05:24 AM by [[~jrmu]]: [==]%0a* [[Openbsd/ZNCAdmin]]  . . . July 28, 2021, at 06:14 AM by [[~jrmu]]: [==]%0a* [[Openbsd/ZNCSupport]]  . . . July 28, 2021, at 06:14 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Php]]  . . . July 27, 2021, at 02:53 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Dig]]  . . . July 25, 2021, at 06:50 AM by [[~jrmu]]: [==]%0a* [[Openbsd/RDNS]]  . . . July 23, 2021, at 06:44 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Sic]]  . . . July 21, 2021, at 05:57 PM by [[~mkf]]: [=first edit.=]%0a* [[Openbsd/Openrsync]]  . . . July 18, 2021, at 02:01 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Znc]]  . . . July 16, 2021, at 10:43 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Staticnet]]  . . . July 12, 2021, at 05:48 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Dovecot]]  . . . July 12, 2021, at 02:58 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Relayd]]  . . . July 12, 2021, at 02:45 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Spf]]  . . . July 12, 2021, at 03:08 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Eggdrop]]  . . . July 02, 2021, at 03:20 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Newdisk]]  . . . June 29, 2021, at 03:23 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Ed]]  . . . June 28, 2021, at 04:04 PM by [[~mkf]]: [==]%0a* [[Openbsd/Unbound]]  . . . June 27, 2021, at 12:12 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Dkimproxy]]  . . . June 25, 2021, at 12:56 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Sysupgrade69]]  . . . June 25, 2021, at 05:46 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Opensmtpd]]  . . . June 23, 2021, at 02:21 AM by [[~jrmu]]: [==]%0a* [[Openbsd/NgircdLink]]  . . . June 22, 2021, at 07:50 PM by [[~mkf]]: [=delete=]%0a* [[Openbsd/Doas]]  . . . June 13, 2021, at 01:19 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Shell]]  . . . June 11, 2021, at 09:36 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Books]]  . . . June 06, 2021, at 12:46 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Pfa]]  . . . June 06, 2021, at 03:49 AM by [[~navic]]: [==]%0a* [[Openbsd/Wordpress]]  . . . June 04, 2021, at 04:55 AM by [[~jrmu]]: [==]%0a* [[Openbsd/ACKFlood]]  . . . May 29, 2021, at 06:20 AM by [[~mkf]]: [==]%0a* [[Openbsd/SSDP]]  . . . May 29, 2021, at 06:18 AM by [[~mkf]]: [==]%0a* [[Openbsd/Anycast]]  . . . May 29, 2021, at 06:01 AM by [[~mkf]]: [==]%0a* [[Openbsd/Dmarc]]  . . . May 21, 2021, at 09:22 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Disklabel]]  . . . May 17, 2021, at 03:33 AM by [[~bejelentkezni]]: [==]%0a* [[Openbsd/Fdisk]]  . . . May 17, 2021, at 03:27 AM by [[~bejelentkezni]]: [==]%0a* [[Openbsd/Security]]  . . . May 14, 2021, at 03:14 AM by [[~caesar]]: [==]%0a* [[Openbsd/Hopm-Arthur]]  . . . May 07, 2021, at 12:28 PM by [[~Arthur]]: [==]%0a* [[Openbsd/Syspatch]]  . . . February 14, 2021, at 11:00 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Netadmin]]  . . . February 14, 2021, at 10:56 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Leafnode]]  . . . February 12, 2021, at 01:40 PM by [[~chewy]]: [==]%0a* [[Openbsd/Pylink]]  . . . February 08, 2021, at 08:33 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Stable]]  . . . February 02, 2021, at 02:25 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Base64]]  . . . February 02, 2021, at 06:37 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Unboundadblock]]  . . . February 02, 2021, at 04:29 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Pfbadhost]]  . . . February 02, 2021, at 04:29 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Delphinusdnsd]]  . . . February 02, 2021, at 01:51 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Abuse]]  . . . January 31, 2021, at 05:33 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Phishing]]  . . . January 31, 2021, at 05:02 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Audit]]  . . . January 31, 2021, at 04:46 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Ongoing]]  . . . January 31, 2021, at 01:19 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Httpopenproxy]]  . . . January 29, 2021, at 11:01 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Zncadmin]]  . . . January 29, 2021, at 10:00 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Rbldns]]  . . . January 29, 2021, at 05:45 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Setuid]]  . . . January 28, 2021, at 06:53 AM by [[~jrmu]]: [==]%0a* [[Openbsd/PFTesting]]  . . . January 25, 2021, at 03:28 PM by [[~jrmu]]: [==]%0a* [[Openbsd/ZNCDaily]]  . . . January 25, 2021, at 11:35 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Irssi]]  . . . January 25, 2021, at 07:08 AM by [[~jrmu]]: [==]%0a* [[Openbsd/XTerm]]  . . . January 17, 2021, at 01:48 PM by [[~miniontoby]]: [=copyright=]%0a* [[Openbsd/Slrn]]  . . . January 12, 2021, at 02:40 PM by [[~Noxturnix]]: [==]%0a* [[Openbsd/Netcat]]  . . . January 09, 2021, at 02:20 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Perl]]  . . . January 09, 2021, at 01:52 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Backup]]  . . . January 03, 2021, at 01:46 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Backups]]  . . . January 02, 2021, at 11:44 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Sshbackdoor]]  . . . December 30, 2020, at 12:14 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Pf-bnc]]  . . . December 29, 2020, at 06:30 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Amplification]]  . . . December 19, 2020, at 05:42 AM by [[~jrmu]]: [==]%0a* [[Openbsd/UDPFlood]]  . . . December 18, 2020, at 10:39 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Tcpdump]]  . . . December 18, 2020, at 09:12 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Tcpackflood]]  . . . December 17, 2020, at 10:36 AM by [[~jrmu]]: [==]%0a* [[Openbsd/RSTFlood]]  . . . December 17, 2020, at 10:34 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Tcpresetflood]]  . . . December 17, 2020, at 10:34 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Ssdp]]  . . . December 15, 2020, at 12:59 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Pf]]  . . . December 13, 2020, at 12:03 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Install68]]  . . . December 13, 2020, at 10:13 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Upgrade67]]  . . . December 13, 2020, at 04:02 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Sysupgrade68]]  . . . December 11, 2020, at 10:27 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Dokuwiki]]  . . . December 10, 2020, at 02:23 PM by [[~miniontoby]]: [=code blocks fixed=]%0a* [[Openbsd/Acme-client]]  . . . December 09, 2020, at 06:47 PM by [[~miniontoby]]: [=fixed troubleshooting links=]%0a* [[Openbsd/Install67]]  . . . December 06, 2020, at 11:03 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Buyvm]]  . . . December 06, 2020, at 02:42 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Install]]  . . . December 04, 2020, at 04:15 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Oidentd]]  . . . November 30, 2020, at 11:42 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Checklist]]  . . . November 20, 2020, at 12:44 AM by [[~gry]]: [=+=]%0a* [[Openbsd/Acopm]]  . . . November 04, 2020, at 03:32 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Achurch]]  . . . November 04, 2020, at 02:25 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Vi]]  . . . November 04, 2020, at 12:51 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Sudo]]  . . . November 04, 2020, at 12:38 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Easyapp]]  . . . September 29, 2020, at 12:13 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Cgit]]  . . . September 01, 2020, at 05:51 PM by [[~baytuch]]: [==]%0a* [[Openbsd/Bchs]]  . . . August 20, 2020, at 07:11 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Fdm]]  . . . August 18, 2020, at 10:06 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Opensmtpd-2]]  . . . August 18, 2020, at 09:59 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Opensmtpd-relay]]  . . . August 18, 2020, at 09:56 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Identd]]  . . . August 18, 2020, at 09:39 AM by [[~jrmu]]: [==]%0a* [[Openbsd/IPv6]]  . . . August 12, 2020, at 02:21 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Oscommerce]]  . . . August 12, 2020, at 10:00 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Ping]]  . . . August 12, 2020, at 08:34 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Sockets]]  . . . August 12, 2020, at 07:16 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Guides]]  . . . August 10, 2020, at 03:42 AM by [[~jrmu]]: [==]%0a
+time=1700938157
blob - 3c2a60a0c8cde718b55b4482e5fbb4206890503f
blob + 7fa7f3f9e1ebce71944a129543c2c0f1e0f6dd30
--- wiki.d/Openbsd.Wraith
+++ wiki.d/Openbsd.Wraith
@@ -1,16 +1,19 @@
-version=pmwiki-2.2.130 ordered=1 urlencoded=1
-agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0
+version=pmwiki-2.3.20 ordered=1 urlencoded=1
+agent=w3m/0.5.3+git20230121
 author=jrmu
 charset=UTF-8
 csum=
 ctime=1597743873
-host=198.251.81.119
+host=38.87.162.8
 name=Openbsd.Wraith
-rev=54
+rev=55
 targets=Openbsd.Dns,Openbsd.Backup,Openbsd.Netcat
-text=(:title Wraith:)%0a%0a[[https://wraith.botpack.net/|Wraith]] is a powerful botnet that can be used to manage and protect channels without services.%0a%0aPros:%0a# Stronger than eggdrop%0a%0aCons:%0a# Written in C++%0a# OpenBSD is not officially supported%0a# Complex, not easy to use%0a%0aFirst, plan out your botpack. Wraith requires a hub and several leaves. Figure out which server you want to act as a hub and which as leaves. For each network you want to serve, create [[openbsd/dns|name server records]] such as hub.network.ircnow.org, fruit1.network.ircnow.org, fruit2.network.ircnow.org, and so forth. This will help you keep track of the hubs and leaves.%0a%0a[[https://wraith.botpack.net/wraith.botpack.net/wiki/PackConfig.html|The pack config]] instructions are very confusing, but you will want to read all the wraith [[https://github.com/wraith/wraith/wiki/Documentation|documentation]]. Before you begin, you will want to create a config file and then save it in a safe place. Make sure to [[openbsd/backup|back it up]].%0a%0aHere is a sample config:%0a%0a[@%0aPACKNAME yourpackname%0aBINARYPASS +dURT8$6e8e5b2448356bb48f642dd18115aaaaca7b6dcb%0aDCCPREFIX .%0aOWNER yournick +SUXSC$d2312f8fcd9de09574d7370e8de058d91322686c%0aHUB yourhubname hub.network.ircnow.org 12742%0aSALT1 nuUlSail2TyDzZhWOX9Paz1L6SBoVLvX%0aSALT2 ThTQF8IFeEe5ox0i%0a@]%0a%0aCreate a salted password hash by choosing a random 5 character alphanumeric salt and random password:%0a%0a[@%0aSALT='AbCd3'; PASS='aBcD3fgH1jK1'; hash=$(echo -n "${SALT}${PASS}" | sha1 | awk '{print $1}'); echo "+${SALT}\$${hash}"%0a@]%0a%0aRun this twice with different values for SALT and PASS to create two random hashes for BINARYPASS and OWNER. Make sure to save the unhashed SALT and PASS and the salted hash. You must do this twice for both BINARYPASS and OWNER; store this in a safe place! Use the hashes to fill in the config above.%0a%0aReplace @@yourpackname@@ with the network name (such as efnet, ircnet, undernet). @@yournick@@ should be replaced with your login username, @@yourhubname@@ with the network name (such as efnet, ircnet, undernet), and @@hub.network.ircnow.org@@ with the matching hostname. Pick a free port to use.%0a%0aTo generate SALT1 and SALT2, run this script: %0a%0a[@%0aSALT1=`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w ${1:-32} | head -n 1`; SALT2=`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w ${1:-16} | head -n 1`; echo "SALT1=$SALT1"; echo "SALT2=$SALT2";%0a@]%0a%0a[[https://github.com/wraith/wraith/|wraith's git repo]] contains the source code for [[http://botpack.net/wraith-release.tar.gz|release v1.4.10]]. However, it was not tested on OpenBSD and won't build. IRCNow uses a [[https://ircnow.org/software/wraith-v1.4.10a.tar.gz|patched version of the source]] that has been tested to work on OpenBSD 6.8 stable.%0a%0a[@%0a$ doas pkg_add gmake-4.3%0a$ doas pkg_add g++-8.4.0%0a$ cd ~%0a$ ftp https://ircnow.org/software/wraith-v1.4.10a.tar.gz%0a$ tar xvzf wraith-v1.4.10a.tar.gz%0a$ cd wraith-v1.4.10/%0a$ ./configure%0a$ gmake%0a@]%0a%0aThen, copy this install script into ~/wraith-setup.sh:%0a%0a[@%0aWRAITHPATH=~/wraith-v1.4.10/wraith%0a%0awhile [[ -n $USER ]]%0ado%0a        print -n "Create new bot (WARNING: WILL DELETE!): ";%0a        read USER;%0a        doas userdel -rv $USER;%0a        doas groupdel -v $USER;%0a        doas useradd -m -g =uid -c "$USER" -d /home/$USER -s /bin/ksh $USER%0a        doas mkdir -p /home/$USER/usr/lib/%0a        doas mkdir -p /home/$USER/usr/libexec/%0a        doas mkdir -p /home/$USER/etc/%0a        doas mkdir -p /home/$USER/tmp/%0a        doas mkdir -p /home/$USER/.../%0a        doas cp $WRAITHPATH /home/$USER/%0a        doas cp /usr/lib/libssl.so.48.1 /home/$USER/usr/lib/%0a        doas cp /usr/lib/libm.so.10.1 /home/$USER/usr/lib/%0a        doas cp /usr/lib/libc.so.96.0 /home/$USER/usr/lib/%0a        doas cp /usr/lib/libcrypto.so.46.1 /home/$USER/usr/lib/%0a        doas cp /usr/lib/libstdc++.so.57.0 /home/$USER/usr/lib/%0a        doas cp /usr/libexec/ld.so /home/$USER/usr/libexec/%0a        doas cp /etc/resolv.conf /home/$USER/etc/%0a        doas chown -R $USER:$USER /home/$USER%0a        doas su -l $USER -c "/home/$USER/wraith -Q"%0a        print -n "Botpack configured! Press enter to continue";%0a        read IGNORE;%0a        doas su -l $USER -c "/home/$USER/wraith -C"%0a        doas chsh -s /sbin/nologin $USER%0a        print -n "Bots configured! Press enter to continue";%0a        read IGNORE;%0adone%0a@]%0a%0aRun the script:%0a%0a[@%0a$ sh ~/wraith-setup.sh%0a@]%0a%0a!! Hub%0a%0aIf you are creating a hub, name the hub after the network (efnet, ircnet, undernet). The script will ask you to provide the packconfig you generated and saved above. Paste it.%0a%0a[@%0a$  sh wraith-setup.sh  %0aCreate new bot (WARNING: WILL DELETE!): networkname%0aCommand: /bin/rm -rf /home/undernet > /dev/null 2>&1 || true%0a// Paste in your PACKCONFIG. Reference https://github.com/wraith/wraith/wiki/PackConfig%0a// Press %3center> if it gets hung up. If that doesn't work hit ^D (CTRL+d)%0a@]%0a%0aWe paste something like this:%0a%0a[@%0aPACKNAME yourpackname%0aBINARYPASS +dURT8$6e8e5b2448356bb48f642dd18115aaaaca7b6dcb%0aDCCPREFIX .%0aOWNER yournick +SUXSC$d2312f8fcd9de09574d7370e8de058d91322686c%0aHUB yourhubname hub.network.ircnow.org 12742%0aSALT1 nuUlSail2TyDzZhWOX9Paz1L6SBoVLvX%0aSALT2 ThTQF8IFeEe5ox0i%0a@]%0a%0aThe terminal will show:%0a%0a[@%0a........%0a* Wrote settings to binary.%0aBotpack configured! Press enter to continue%0aEnter your binary password: %0a@]%0a%0aAfterwards, it will ask for your OWNER password and bot configuration information. You will want to these three lines at the top:%0a%0a[@%0ahubnick hub.network.ircnow.org%0a! portmin 64000%0a! portmax 64100%0a@]%0a%0aReplace hubnick with your network name (efnet, ircnet, undernet) and hub.network.ircnow.org with your hostname. If you want to use IPv6, include a +. You will then want to specify a min port and max port for updating bot info.%0a%0aIt should look like this:%0a%0a[@%0ahubnick hub.network.ircnow.org%0a! portmin 64000%0a! portmax 64100%0a%0a# Automatically updated with -C%0a! uid 1025%0a#! uid -1%0a%0a! username undernet%0a! homedir /home/undernet%0a%0a# Hubs this bot will connect to%0a! hub networkname hub.network.ircnow.org 12742%0a%0a# '|' means OR, [] means the enclosed is optional%0a# A '+' in front of HOST means the HOST is ipv6%0a# A '/' in front of BOT will disable that bot.%0a#[/]BOT IP|* [+]HOST|* [IPV6-IP]%0a#bot ip vhost%0a#bot2 * vhost%0a#bot3 ip%0a#bot4 * +ipv6.vhost.com%0a#bot5 * * ip:v6:ip:goes:here::%0a### Hubs should have their own binary ###%0a@]%0a%0aSave and quit.%0a%0a'''WARNING''': Don't connect the hub to IRC directly! The hub contains data that if stolen, can cause your entire botnet to get compromised. It is better if the hub is not on a public IP address.%0a%0a!! Bots%0a%0aIf you are creating a leaf node, name each leaf node after your server's fruit name (fruit01, fruit02, fruit03). You want three separate shell accounts, one for each bot. Do not put all three leaf nodes in the same shell account. Don't create any more than three shell accounts since more than three bots will waste your IP connection limit without providing much additional protection.%0a%0a[@%0abotnick vhost%0a@]%0a%0aReplace botnick with your fruit name (fruit01, fruit02, fruit03) and vhost with your IPv6 hostname (fruit.network.ircnow.org).%0a%0a!! Backup and Delete Wraith%0a%0aAfter you are done, make sure to copy the dynamic wraith binary to somewhere safe and delete it for security reasons.%0a%0aRun this on your backup PC:%0a%0a[@%0a$ scp fruit.ircnow.org:/home/username/wraith-v1.4.10/wraith /path/to/dest/%0a@]%0a%0aThen on the server:%0a%0a[@%0a$ rm -rf /home/username/wraith-v1.4.10/%0a@]%0a%0a!! Controlling Wraith%0a%0aTo administer wraith, you will need to log in to your server using ssh:%0a%0a[@%0a$ ssh network.ircnow.org%0a@]%0a%0aOnce connected, run [[openbsd/netcat|netcat]] to your host and port:%0a%0a[@%0a$ nc network.ircnow.org 12742%0a@]%0a%0a!!! Joining channels%0a%0aTo make the bot join and leave a channel:%0a%0a[@%0a.+chan #chan%0a.-chan #chan%0a@]%0a%0aIf the channel is keyed:%0a%0a[@%0a.chanset #chan chanmode { +ntk key }%0a@]%0a%0a!!! Giving users ops%0a%0a[@%0a.op #chan %3cnick>%0a@]%0a%0aTo use a specific bot:%0a%0a[@%0a.botcmd botnick op user *%0a.bl op user *%0a@]%0a%0a!!! Cookie-ops%0a%0aCookie-ops help ensure an op is valid and secure. It takes who was opped, who opped them, a timestamp, and channel state and sends a hash of this info.%0a%0a'''NOTE''': If ops are not working, disable op cookies.%0a%0aTo use op cookies:%0a%0a[@%0a.chanset #chan -fastop%0a@]%0a%0aTo disable op cookies:%0a%0a[@%0a.chanset #chan +fastop%0a@]%0a%0a!!! Voice and Limits%0a%0aUse +y to voice and +l to set limits:%0a%0a[@%0a.chattr bot +ly%0a@]%0a%0a!!! DCC into a leaf%0a%0aIf your hostmask is recognized by the bot, then in your IRC client, type:%0a%0a[@%0a/DCC CHAT botnick%0a@]%0a%0aEnter your password.%0a%0aIf your hostmask is not recognized, type:%0a%0a[@%0a/CTCP botnick CHAT%0a@]%0a%0aEnter your username, then enter your password.%0a%0a!! Default Secure Channel%0a%0aFor an explanation of the channel settings:%0a%0a[@%0a.help chaninfo%0a@]%0a%0aThis will make your channel secure by default:%0a%0a[@%0a.chanset #chan -fastop mdop deop manop deop mop deop -autoop +private bad-cookie kick flood-mjoin 6:1 flood-kick 2:30 +protect%0a@]%0a%0a!! Unable to op%0a%0aIf you find yourself unable to op a user:%0a%0a[@%0a.op #ircnow user%0a[03:43:28] @ #user# [op -> botcmd ? op] ...%0a[03:43:28] #user# botcmd cherry07 op ...%0a[03:43:29] (cherry07) #user# (#ircnow) op user%0a[cherry07] You don't have access to op on #ircnow%0a@]%0a%0aIt may be because there is a +d flag set. Run whois on the user:%0a%0a[@%0a.whois user%0a[03:45:57] #user# whois user%0aHANDLE                           PASS FLAGS           LAST%0auser                             yes  Oaijmnop        02:47 (#ircnow   )%0a...%0aCOMMENT: +d: Manual op in -manop channel              (user!user@user.users.undernet.org MODE #ircnow +o user2)%0a@]%0a%0aTo fix this, drop the +d flag:%0a%0a[@%0a.chattr user -d #ircnow                                                                              %0a@]%0a
-time=1612239752
+text=(:title Wraith:)%0a%0a[[https://wraith.botpack.net/|Wraith]] is a powerful botnet that can be used to manage and protect channels without services.%0a%0aPros:%0a# Stronger than eggdrop%0a%0aCons:%0a# Written in C++%0a# OpenBSD is not officially supported%0a# Complex, not easy to use%0a%0aFirst, plan out your botpack. Wraith requires a hub and several leaves. Figure out which server you want to act as a hub and which as leaves. For each network you want to serve, create [[openbsd/dns|name server records]] such as hub.network.ircnow.org, fruit1.network.ircnow.org, fruit2.network.ircnow.org, and so forth. This will help you keep track of the hubs and leaves.%0a%0a[[https://wraith.botpack.net/wraith.botpack.net/wiki/PackConfig.html|The pack config]] instructions are very confusing, but you will want to read all the wraith [[https://github.com/wraith/wraith/wiki/Documentation|documentation]]. Before you begin, you will want to create a config file and then save it in a safe place. Make sure to [[openbsd/backup|back it up]].%0a%0aHere is a sample config:%0a%0a[@%0aPACKNAME yourpackname%0aBINARYPASS +dURT8$6e8e5b2448356bb48f642dd18115aaaaca7b6dcb%0aDCCPREFIX .%0aOWNER yournick +SUXSC$d2312f8fcd9de09574d7370e8de058d91322686c%0aHUB yourhubname hub.network.ircnow.org 12742%0aSALT1 nuUlSail2TyDzZhWOX9Paz1L6SBoVLvX%0aSALT2 ThTQF8IFeEe5ox0i%0a@]%0a%0aCreate a salted password hash by choosing a random 5 character alphanumeric salt and random password:%0a%0a[@%0aSALT='AbCd3'; PASS='aBcD3fgH1jK1'; hash=$(echo -n "${SALT}${PASS}" | sha1 | awk '{print $1}'); echo "+${SALT}\$${hash}"%0a@]%0a%0aRun this twice with different values for SALT and PASS to create two random hashes for BINARYPASS and OWNER. Make sure to save the unhashed SALT and PASS and the salted hash. You must do this twice for both BINARYPASS and OWNER; store this in a safe place! Use the hashes to fill in the config above.%0a%0aReplace @@yourpackname@@ with the network name (such as efnet, ircnet, undernet). @@yournick@@ should be replaced with your login username, @@yourhubname@@ with the network name (such as efnet, ircnet, undernet), and @@hub.network.ircnow.org@@ with the matching hostname. Pick a free port to use.%0a%0aTo generate SALT1 and SALT2, run this script: %0a%0a[@%0aSALT1=`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w ${1:-32} | head -n 1`; SALT2=`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w ${1:-16} | head -n 1`; echo "SALT1=$SALT1"; echo "SALT2=$SALT2";%0a@]%0a%0a[[https://github.com/wraith/wraith/|wraith's git repo]] contains the source code for [[http://botpack.net/wraith-release.tar.gz|release v1.4.10]]. However, it was not tested on OpenBSD and won't build. IRCNow uses a [[https://ircnow.org/software/wraith-v1.4.10a.tar.gz|patched version of the source]] that has been tested to work on OpenBSD 6.8 stable.%0a%0a[@%0a$ doas pkg_add gmake-4.3%0a$ doas pkg_add g++-8.4.0%0a$ cd ~%0a$ ftp https://ircnow.org/software/wraith-v1.4.10a.tar.gz%0a$ tar xvzf wraith-v1.4.10a.tar.gz%0a$ cd wraith-v1.4.10/%0a$ ./configure%0a$ gmake%0a@]%0a%0aThen, copy this install script into ~/wraith-setup.sh:%0a%0a[@%0aWRAITHPATH=~/wraith-v1.4.10/wraith%0a%0awhile [[ -n $USER ]]%0ado%0a        print -n "Create new bot (WARNING: WILL DELETE!): ";%0a        read USER;%0a        doas userdel -rv $USER;%0a        doas groupdel -v $USER;%0a        doas useradd -m -g =uid -c "$USER" -d /home/$USER -s /bin/ksh $USER%0a        doas mkdir -p /home/$USER/usr/lib/%0a        doas mkdir -p /home/$USER/usr/libexec/%0a        doas mkdir -p /home/$USER/etc/%0a        doas mkdir -p /home/$USER/tmp/%0a        doas mkdir -p /home/$USER/.../%0a        doas cp $WRAITHPATH /home/$USER/%0a        doas cp /usr/lib/libssl.so.48.1 /home/$USER/usr/lib/%0a        doas cp /usr/lib/libm.so.10.1 /home/$USER/usr/lib/%0a        doas cp /usr/lib/libc.so.96.0 /home/$USER/usr/lib/%0a        doas cp /usr/lib/libcrypto.so.46.1 /home/$USER/usr/lib/%0a        doas cp /usr/lib/libstdc++.so.57.0 /home/$USER/usr/lib/%0a        doas cp /usr/libexec/ld.so /home/$USER/usr/libexec/%0a        doas cp /etc/resolv.conf /home/$USER/etc/%0a        doas chown -R $USER:$USER /home/$USER%0a        doas su -l $USER -c "/home/$USER/wraith -Q"%0a        print -n "Botpack configured! Press enter to continue";%0a        read IGNORE;%0a        doas su -l $USER -c "/home/$USER/wraith -C"%0a        doas chsh -s /sbin/nologin $USER%0a        print -n "Bots configured! Press enter to continue";%0a        read IGNORE;%0adone%0a@]%0a%0a'''WARNING''': Do not run this script twice with the same user, it will delete old data!%0a%0aRun the script:%0a%0a[@%0a$ sh ~/wraith-setup.sh%0a@]%0a%0a!! Hub%0a%0aIf you are creating a hub, name the hub after the network (efnet, ircnet, undernet). The script will ask you to provide the packconfig you generated and saved above. Paste it.%0a%0a[@%0a$  sh wraith-setup.sh  %0aCreate new bot (WARNING: WILL DELETE!): networkname%0aCommand: /bin/rm -rf /home/undernet > /dev/null 2>&1 || true%0a// Paste in your PACKCONFIG. Reference https://github.com/wraith/wraith/wiki/PackConfig%0a// Press %3center> if it gets hung up. If that doesn't work hit ^D (CTRL+d)%0a@]%0a%0aWe paste something like this:%0a%0a[@%0aPACKNAME yourpackname%0aBINARYPASS +dURT8$6e8e5b2448356bb48f642dd18115aaaaca7b6dcb%0aDCCPREFIX .%0aOWNER yournick +SUXSC$d2312f8fcd9de09574d7370e8de058d91322686c%0aHUB yourhubname hub.network.ircnow.org 12742%0aSALT1 nuUlSail2TyDzZhWOX9Paz1L6SBoVLvX%0aSALT2 ThTQF8IFeEe5ox0i%0a@]%0a%0aThe terminal will show:%0a%0a[@%0a........%0a* Wrote settings to binary.%0aBotpack configured! Press enter to continue%0aEnter your binary password: %0a@]%0a%0aAfterwards, it will ask for your OWNER password and bot configuration information. You will want to these three lines at the top:%0a%0a[@%0ahubnick hub.network.ircnow.org%0a! portmin 64000%0a! portmax 64100%0a@]%0a%0aReplace hubnick with your network name (efnet, ircnet, undernet) and hub.network.ircnow.org with your hostname. If you want to use IPv6, include a +. You will then want to specify a min port and max port for updating bot info.%0a%0aIt should look like this:%0a%0a[@%0ahubnick hub.network.ircnow.org%0a! portmin 64000%0a! portmax 64100%0a%0a# Automatically updated with -C%0a! uid 1025%0a#! uid -1%0a%0a! username undernet%0a! homedir /home/undernet%0a%0a# Hubs this bot will connect to%0a! hub networkname hub.network.ircnow.org 12742%0a%0a# '|' means OR, [] means the enclosed is optional%0a# A '+' in front of HOST means the HOST is ipv6%0a# A '/' in front of BOT will disable that bot.%0a#[/]BOT IP|* [+]HOST|* [IPV6-IP]%0a#bot ip vhost%0a#bot2 * vhost%0a#bot3 ip%0a#bot4 * +ipv6.vhost.com%0a#bot5 * * ip:v6:ip:goes:here::%0a### Hubs should have their own binary ###%0a@]%0a%0aSave and quit.%0a%0a'''WARNING''': Don't connect the hub to IRC directly! The hub contains data that if stolen, can cause your entire botnet to get compromised. It is better if the hub is not on a public IP address.%0a%0a!! Bots%0a%0aIf you are creating a leaf node, name each leaf node after your server's fruit name (fruit01, fruit02, fruit03). You want three separate shell accounts, one for each bot. Do not put all three leaf nodes in the same shell account. Don't create any more than three shell accounts since more than three bots will waste your IP connection limit without providing much additional protection.%0a%0a[@%0abotnick vhost%0a@]%0a%0aReplace botnick with your fruit name (fruit01, fruit02, fruit03) and vhost with your IPv6 hostname (fruit.network.ircnow.org).%0a%0a!! Backup and Delete Wraith%0a%0aAfter you are done, make sure to copy the dynamic wraith binary to somewhere safe and delete it for security reasons.%0a%0aRun this on your backup PC:%0a%0a[@%0a$ scp fruit.ircnow.org:/home/username/wraith-v1.4.10/wraith /path/to/dest/%0a@]%0a%0aThen on the server:%0a%0a[@%0a$ rm -rf /home/username/wraith-v1.4.10/%0a@]%0a%0a!! Controlling Wraith%0a%0aTo administer wraith, you will need to log in to your server using ssh:%0a%0a[@%0a$ ssh network.ircnow.org%0a@]%0a%0aOnce connected, run [[openbsd/netcat|netcat]] to your host and port:%0a%0a[@%0a$ nc network.ircnow.org 12742%0a@]%0a%0a!!! Joining channels%0a%0aTo make the bot join and leave a channel:%0a%0a[@%0a.+chan #chan%0a.-chan #chan%0a@]%0a%0aIf the channel is keyed:%0a%0a[@%0a.chanset #chan chanmode { +ntk key }%0a@]%0a%0a!!! Giving users ops%0a%0a[@%0a.op #chan %3cnick>%0a@]%0a%0aTo use a specific bot:%0a%0a[@%0a.botcmd botnick op user *%0a.bl op user *%0a@]%0a%0a!!! Cookie-ops%0a%0aCookie-ops help ensure an op is valid and secure. It takes who was opped, who opped them, a timestamp, and channel state and sends a hash of this info.%0a%0a'''NOTE''': If ops are not working, disable op cookies.%0a%0aTo use op cookies:%0a%0a[@%0a.chanset #chan -fastop%0a@]%0a%0aTo disable op cookies:%0a%0a[@%0a.chanset #chan +fastop%0a@]%0a%0a!!! Voice and Limits%0a%0aUse +y to voice and +l to set limits:%0a%0a[@%0a.chattr bot +ly%0a@]%0a%0a!!! DCC into a leaf%0a%0aIf your hostmask is recognized by the bot, then in your IRC client, type:%0a%0a[@%0a/DCC CHAT botnick%0a@]%0a%0aEnter your password.%0a%0aIf your hostmask is not recognized, type:%0a%0a[@%0a/CTCP botnick CHAT%0a@]%0a%0aEnter your username, then enter your password.%0a%0a!! Default Secure Channel%0a%0aFor an explanation of the channel settings:%0a%0a[@%0a.help chaninfo%0a@]%0a%0aThis will make your channel secure by default:%0a%0a[@%0a.chanset #chan -fastop mdop deop manop deop mop deop -autoop +private bad-cookie kick flood-mjoin 6:1 flood-kick 2:30 +protect%0a@]%0a%0a!! Unable to op%0a%0aIf you find yourself unable to op a user:%0a%0a[@%0a.op #ircnow user%0a[03:43:28] @ #user# [op -> botcmd ? op] ...%0a[03:43:28] #user# botcmd cherry07 op ...%0a[03:43:29] (cherry07) #user# (#ircnow) op user%0a[cherry07] You don't have access to op on #ircnow%0a@]%0a%0aIt may be because there is a +d flag set. Run whois on the user:%0a%0a[@%0a.whois user%0a[03:45:57] #user# whois user%0aHANDLE                           PASS FLAGS           LAST%0auser                             yes  Oaijmnop        02:47 (#ircnow   )%0a...%0aCOMMENT: +d: Manual op in -manop channel              (user!user@user.users.undernet.org MODE #ircnow +o user2)%0a@]%0a%0aTo fix this, drop the +d flag:%0a%0a[@%0a.chattr user -d #ircnow                                                                              %0a@]%0a
+time=1700938157
 title=Wraith
+author:1700938157=jrmu
+diff:1700938157:1612239752:=93,94d92%0a%3c %0a%3c '''WARNING''': Do not run this script twice with the same user, it will delete old data!%0a
+host:1700938157=38.87.162.8
 author:1612239752=jrmu
 diff:1612239752:1611923481:=300,329c300%0a%3c @]%0a%3c %0a%3c !! Unable to op%0a%3c %0a%3c If you find yourself unable to op a user:%0a%3c %0a%3c [@%0a%3c .op #ircnow user%0a%3c [03:43:28] @ #user# [op -> botcmd ? op] ...%0a%3c [03:43:28] #user# botcmd cherry07 op ...%0a%3c [03:43:29] (cherry07) #user# (#ircnow) op user%0a%3c [cherry07] You don't have access to op on #ircnow%0a%3c @]%0a%3c %0a%3c It may be because there is a +d flag set. Run whois on the user:%0a%3c %0a%3c [@%0a%3c .whois user%0a%3c [03:45:57] #user# whois user%0a%3c HANDLE                           PASS FLAGS           LAST%0a%3c user                             yes  Oaijmnop        02:47 (#ircnow   )%0a%3c ...%0a%3c COMMENT: +d: Manual op in -manop channel              (user!user@user.users.undernet.org MODE #ircnow +o user2)%0a%3c @]%0a%3c %0a%3c To fix this, drop the +d flag:%0a%3c %0a%3c [@%0a%3c .chattr user -d #ircnow                                                                              %0a%3c @]%0a---%0a> @]%0a\ No newline at end of file%0a
 host:1612239752=198.251.81.119
blob - 1c24cfb3fa583b73e43a45d222156c2d513877a0
blob + 1f995746f2884fb9edf7b6225e03b02a23d50053
--- wiki.d/Site.AllRecentChanges
+++ wiki.d/Site.AllRecentChanges
@@ -4,8 +4,8 @@ charset=UTF-8
 ctime=1596101899
 host=38.87.162.8
 name=Site.AllRecentChanges
-rev=12478
-text=* [[Openbsd.Host]]  . . . @2023-11-24T22:51:07Z by [[~jrmu]]: [==]%0a* [[Hunchentoot.Install]]  . . . @2023-11-24T19:50:41Z by [[~Posterdati]]: [==]%0a* [[Almanack.Almanack]]  . . . @2023-11-24T18:32:27Z by [[~Posterdati]]: [==]%0a* [[Ircnow.Minutemin]]  . . . @2023-11-21T15:25:43Z by [[~jrmu]]: [==]%0a* [[Shelllabs.Openaccess]]  . . . @2023-11-19T16:10:42Z by [[~hed0x]]: [=added section to list dataset repositories=]%0a* [[SiteAdmin.AuthUser]]  . . . @2023-11-19T16:08:42Z by [[~jrmu]]: [==]%0a* [[Openbsd.Ngircd]]  . . . @2023-11-19T01:45:08Z by [[~jrmu]]: [==]%0a* [[Openbsd.Pkg]]  . . . @2023-11-19T01:35:10Z by [[~jrmu]]: [==]%0a* [[Syspatch.Syspatch]]  . . . @2023-11-19T01:33:36Z by [[~jrmu]]: [==]%0a* [[Openbsd.Intro]]  . . . @2023-11-19T01:12:27Z by [[~jrmu]]: [==]%0a* [[Openbsd.Upgrade74]]  . . . @2023-11-18T06:31:09Z by [[~jrmu]]: [==]%0a* [[Openbsd.Install73]]  . . . @2023-11-18T05:32:17Z by [[~jrmu]]: [==]%0a* [[Minutemin.Bootcamp]]  . . . @2023-11-18T05:14:56Z by [[~jrmu]]: [==]%0a* [[Openbsd.Install74]]  . . . @2023-11-18T05:06:51Z by [[~jrmu]]: [==]%0a* [[Openbsd.Sysupgrade74]]  . . . @2023-11-16T00:15:28Z by [[~jrmu]]: [==]%0a* [[Openbsd.Tcltls]]  . . . @2023-11-06T20:19:24Z by [[~jrmu]]: [==]%0a* [[Olympics.Games]]  . . . @2023-11-05T18:39:36Z by [[~jrmu]]: [==]%0a* [[Team.Security]]  . . . @2023-11-04T18:45:38Z by [[~jrmu]]: [==]%0a* [[Linux.Reading]]  . . . @2023-11-01T03:47:13Z by [[~jrmu]]: [==]%0a* [[Shelllabs.Tools]]  . . . @2023-10-28T17:41:59Z by [[~hed0x]]: [==]%0a* [[Ircnow.Explorer]]  . . . @2023-10-28T17:29:29Z by [[~hed0x]]: [==]%0a* [[Shelllabs.Intro]]  . . . @2023-10-28T17:04:45Z by [[~redrum88]]: [==]%0a* [[Openbsd.PFStable]]  . . . @2023-10-27T19:07:16Z by [[~sylv1a]]: [=Revise ICMP section in accordance with RFCs. Fix icmp6 syntax issue.=]%0a* [[Openbsd.Dump]]  . . . @2023-10-26T18:08:08Z by [[~miniontoby]]: [=missing a dash before an h=]%0a* [[Znc.Chroot]]  . . . @2023-10-26T16:51:57Z by [[~jrmu]]: [==]%0a* [[Ircnow.Roadmap2024]]  . . . @2023-10-23T03:33:27Z by [[~jrmu]]: [==]%0a* [[Ircnow.Roadmap]]  . . . @2023-10-23T03:02:14Z by [[~jrmu]]: [==]%0a* [[Dovecot.Install]]  . . . @2023-10-19T19:17:58Z by [[~sylv1a]]: [=Fix file permission and owners section=]%0a* [[DNS.DKIM]]  . . . @2023-10-19T19:11:28Z by [[~sylv1a]]: [=Add this note here too (already present in DNS.Mail)=]%0a* [[DNS.Mail]]  . . . @2023-10-19T19:09:57Z by [[~sylv1a]]: [=Change so _dkimsign is used for /etc/mail/dkim. _dovecot never needs to access that folder.=]%0a* [[Opensmtpd.Configure]]  . . . @2023-10-19T19:05:37Z by [[~sylv1a]]: [=Change so that _dkimsign is used for signing. Change perms section too.=]%0a* [[Pmwiki.Replace]]  . . . @2023-10-19T17:19:19Z by [[~sylv1a]]: [=Fix IndentationError, although the script seems to have other issues (blank output)=]%0a* [[Police.Intro]]  . . . @2023-10-08T05:05:25Z by [[~jrmu]]: [==]%0a* [[Unbound.DNSSEC]]  . . . @2023-10-08T02:32:13Z by [[~sylv1a]]: [=nitpick: Restart/Reload rather than Restart/reload=]%0a* [[Unbound.Configure]]  . . . @2023-10-07T23:19:54Z by [[~sylv1a]]: [=Edit after revert to include more accurate information, discussed with jrmu=]%0a* [[Openbsd.Hopm-NowWithInit]]  . . . @2023-10-07T05:20:56Z by [[~Maddie]]: [=[Minor]: Cleaned ansible code for more efficency.=]%0a* [[C.Cprimer]]  . . . @2023-10-05T18:57:29Z by [[~jrmu]]: [==]%0a* [[Tor.Hidden]]  . . . @2023-10-04T18:19:36Z by [[~sylv1a]]: [=Add authorization section for hidden services=]%0a* [[Openbsd.FilePermissions]]  . . . @2023-10-04T02:15:54Z by [[~sylv1a]]: [=Replace `$ doas` with `#`=]%0a* [[Dns.TroubleshootingDNS]]  . . . @2023-10-03T06:23:08Z by [[~jrmu]]: [==]%0a* [[Dns.Troubleshooting]]  . . . @2023-10-03T06:21:21Z by [[~jrmu]]: [==]%0a* [[Openbsd.Anope]]  . . . @2023-10-03T02:51:27Z by [[~jrmu]]: [==]%0a* [[9.Ramfs]]  . . . @2023-09-27T15:43:55Z by [[~jrmu]]: [==]%0a* [[Main.HomePage]]  . . . @2023-09-24T18:25:53Z by [[~dennis]]: [==]%0a* [[Ngircd.Loginconf]]  . . . @2023-09-22T14:40:06Z by [[~Yonle]]: [=Probably need some revertion.=]%0a* [[Openbsd.Loginconf]]  . . . @2023-09-15T12:06:06Z by [[~jrmu]]: [==]%0a* [[Hosting.Providers]]  . . . @2023-09-12T04:58:26Z by [[~jrmu]]: [==]%0a* [[Got.Repo]]  . . . @2023-09-10T23:25:41Z by [[~jrmu]]: [==]%0a* [[Jrmu.Bio]]  . . . @2023-09-09T17:14:26Z by [[~jrmu]]: [==]%0a* [[Site.SideBar]]  . . . @2023-09-06T07:50:20Z by [[~jrmu]]: [==]%0a* [[Ircnow.Roadmap2023]]  . . . @2023-09-06T07:48:43Z by [[~jrmu]]: [==]%0a* [[Ircnow.Milestones]]  . . . @2023-09-06T07:45:31Z by [[~jrmu]]: [==]%0a* [[Unix.Reading]]  . . . @2023-09-06T05:36:09Z by [[~jrmu]]: [==]%0a* [[Openbsd.CPAN]]  . . . @2023-09-05T03:25:21Z by [[~jrmu]]: [==]%0a* [[9.Drawterm]]  . . . @2023-09-04T12:29:31Z by [[~mkf]]: [=debian includes drawterm-9front now=]%0a* [[9.9pideas]]  . . . @2023-09-03T18:58:43Z by [[~jrmu]]: [==]%0a* [[9.9gridchan]]  . . . @2023-09-03T06:16:25Z by [[~jrmu]]: [==]%0a* [[Openbsd.Pleroma]]  . . . @2023-09-03T01:21:36Z by [[~Yonle]]: [=Instead of using append, use set=]%0a* [[Openbsd.Akkoma]]  . . . @2023-09-03T01:21:12Z by [[~Yonle]]: [=Instead of using append, use set=]%0a* [[Openbsd.Prosody]]  . . . @2023-09-02T02:58:33Z by [[~izzyb]]: [==]%0a* [[9.Acmemail]]  . . . @2023-09-01T18:05:18Z by [[~jrmu]]: [==]%0a* [[9.Account]]  . . . @2023-09-01T17:09:51Z by [[~zleap]]: [==]%0a* [[9.Date]]  . . . @2023-09-01T13:46:05Z by [[~jrmu]]: [==]%0a* [[Rio.Customize]]  . . . @2023-08-29T03:10:09Z by [[~jrmu]]: [==]%0a* [[9.Shell]]  . . . @2023-08-27T18:52:33Z by [[~jrmu]]: [==]%0a* [[9.Why9]]  . . . @2023-08-25T17:15:16Z by [[~jrmu]]: [==]%0a* [[9.Splinternet]]  . . . @2023-08-24T02:31:30Z by [[~jrmu]]: [==]%0a* [[9.PKI]]  . . . @2023-08-23T19:47:46Z by [[~jrmu]]: [==]%0a* [[9.IP]]  . . . @2023-08-23T00:12:14Z by [[~jrmu]]: [==]%0a* [[9.Inter9]]  . . . @2023-08-23T00:11:11Z by [[~jrmu]]: [==]%0a* [[9.Irc]]  . . . @2023-08-22T14:15:24Z by [[~xfnw]]: [=spelling=]%0a* [[9.Rcpu]]  . . . @2023-08-21T17:21:54Z by [[~jrmu]]: [==]%0a* [[9.FNS]]  . . . @2023-08-19T17:30:06Z by [[~jrmu]]: [==]%0a* [[9.PNS]]  . . . @2023-08-19T17:05:01Z by [[~jrmu]]: [==]%0a* [[Ircnow.SSHFingerprints]]  . . . @2023-08-19T03:25:45Z by [[~jacobk]]: [=Update SSH fingerprints for shelltalk.net=]%0a* [[Shelllabs.Reading]]  . . . @2023-08-17T18:18:38Z by [[~jrmu]]: [==]%0a* [[9C.Exits]]  . . . @2023-08-16T11:50:49Z by [[~mkf]]: [==]%0a* [[9C.Intro]]  . . . @2023-08-15T22:57:20Z by [[~mkf]]: [==]%0a* [[Hw.X230]]  . . . @2023-08-15T12:46:43Z by [[~mkf]]: [==]%0a* [[9.Reading]]  . . . @2023-08-14T02:37:46Z by [[~jrmu]]: [==]%0a* [[Netcat.Irc]]  . . . @2023-08-07T01:37:18Z by [[~xfnw]]: [=correct (unused) USER parameters=]%0a* [[Openbsd.Sysupgrade71]]  . . . @2023-07-27T20:09:43Z by [[~xfnw]]: [=using both -U and -u at the same time is pointless=]%0a* [[Openbsd.Snac]]  . . . @2023-07-21T04:45:35Z by [[~Yonle]]: [==]%0a* [[Profiles.Yonle]]  . . . @2023-07-17T15:08:57Z by [[~Yonle]]: [==]%0a* [[Openbsd.ZNCModules]]  . . . @2023-07-16T20:56:32Z by [[~izzyb]]: [=Added links to more modules=]%0a* [[Pbug.Bio]]  . . . @2023-07-08T13:53:57Z by [[~pbug]]: [==]%0a* [[Vmm.DebianIso]]  . . . @2023-07-05T19:58:36Z by [[~TheLion]]: [==]%0a* [[Certbot.Nginx]]  . . . @2023-07-04T13:58:54Z by [[~Yonle]]: [==]%0a* [[Pf.Vpn]]  . . . @2023-07-04T05:59:40Z by [[~jrmu]]: [==]%0a* [[I2Pd.Install]]  . . . @2023-07-03T16:46:53Z by [[~Yonle]]: [==]%0a* [[Ircnow.Perl]]  . . . @2023-07-02T21:08:34Z by [[~izzyb]]: [==]%0a* [[Shelllabs.Manifesto]]  . . . @2023-07-02T18:39:22Z by [[~jrmu]]: [==]%0a* [[Iked.Configure]]  . . . @2023-07-02T06:47:04Z by [[~jrmu]]: [==]%0a* [[Vpn.VpnIos]]  . . . @2023-07-01T21:21:46Z by [[~jrmu]]: [==]%0a* [[Ircnow.Servers]]  . . . @2023-07-01T20:43:05Z by [[~Naglfar]]: [=remove deprecated subdomains=]%0a* [[Terms.Terms]]  . . . @2023-06-30T14:35:54Z by [[~jrmu]]: [==]%0a* [[Team.Announce]]  . . . @2023-06-29T23:11:19Z by [[~jrmu]]: [==]%0a* [[Openbsd.Biboumi]]  . . . @2023-06-27T10:13:30Z by [[~Yonle]]: [==]%0a* [[Donations.Donations]]  . . . @2023-06-22T20:58:37Z by [[~jrmu]]: [==]%0a* [[Shell.Cronjobs]]  . . . @2023-06-17T04:44:44Z by [[~jrmu]]: [==]%0a* [[Openbsd.Orangepi3lts]]  . . . @2023-06-12T00:06:06Z by [[~jrmu]]: [==]%0a* [[Openbsd.Xenodm]]  . . . @2023-06-11T16:30:39Z by [[~Posterdati]]: [=OpenBSD, xorg, xenodm, monitors=]%0a* [[Team.Welcome]]  . . . @2023-06-10T15:37:17Z by [[~jrmu]]: [==]%0a* [[Ircnow.Education]]  . . . @2023-06-10T06:13:37Z by [[~jrmu]]: [==]%0a* [[DNS.RDNS]]  . . . @2023-06-10T05:27:27Z by [[~jacobk]]: [=fix link to Ipv6rdns=]%0a* [[Ngircd.Sins]]  . . . @2023-06-09T20:20:11Z by [[~jrmu]]: [==]%0a* [[Ngircd.Bugs]]  . . . @2023-06-09T19:46:55Z by [[~jrmu]]: [==]%0a* [[Jujube.Jujube]]  . . . @2023-06-08T21:38:47Z by [[~Naglfar]]: [=Update domain name=]%0a* [[Ikiwiki.Install]]  . . . @2023-06-07T22:48:44Z by [[~jrmu]]: [==]%0a* [[Openbsd.Pmwiki]]  . . . @2023-06-07T04:56:11Z by [[~jrmu]]: [==]%0a* [[Shell.Limits]]  . . . @2023-06-06T20:12:08Z by [[~jrmu]]: [==]%0a* [[Openbsd.Hopm]]  . . . @2023-06-06T05:52:47Z by [[~Yonle]]: [==]%0a* [[Freedom.Universal]]  . . . @2023-05-31T19:02:56Z by [[~jrmu]]: [==]%0a* [[Openbsd.Gnost-relay]]  . . . @2023-05-31T10:53:55Z by [[~Yonle]]: [=There's a reason why i connect to IPv6 instead of IPv4=]%0a* [[Freedom.Radio]]  . . . @2023-05-29T16:10:59Z by [[~jrmu]]: [==]%0a* [[Tmux.Config]]  . . . @2023-05-29T03:16:54Z by [[~izzyb]]: [=cleanup and added instructions for changing tmux hotkey from ^b:=]%0a* [[Got.RemoteRepo]]  . . . @2023-05-28T04:26:48Z by [[~izzyb]]: [==]%0a* [[C101.C101]]  . . . @2023-05-25T14:31:30Z by [[~jrmu]]: [==]%0a* [[Openbsd.BBB]]  . . . @2023-05-24T15:03:59Z by [[~devune]]: [==]%0a* [[Freedom.Privacy]]  . . . @2023-05-22T19:09:22Z by [[~jrmu]]: [==]%0a* [[Psotnic.Install]]  . . . @2023-05-22T16:03:20Z by [[~devune]]: [==]%0a* [[Vmm.DevuanIso]]  . . . @2023-05-21T18:54:36Z by [[~pbug]]: [==]%0a* [[Ngircd.Ircnow]]  . . . @2023-05-19T21:54:04Z by [[~izzyb]]: [=Setup to match Ianj's version.=]%0a* [[NewsNow.NewsNow]]  . . . @2023-05-18T12:51:42Z by [[~miniontoby]]: [==]%0a* [[Nsd.Masterslave]]  . . . @2023-05-18T10:44:43Z by [[~Naglfar]]: [==]%0a* [[Nsd.Configure]]  . . . @2023-05-17T19:46:17Z by [[~Naglfar]]: [=add url to Nsd.Masterslave=]%0a* [[Openbsd.Restore]]  . . . @2023-05-16T04:37:15Z by [[~izzyb]]: [=Added documents on using the interactive restore feature=]%0a* [[Botnow.Install]]  . . . @2023-05-09T19:17:22Z by [[~izzyb]]: [=added bots tag=]%0a* [[Bouncer.Ircrc]]  . . . @2023-05-09T04:40:42Z by [[~jrmu]]: [==]%0a* [[Bouncer.Bouncer]]  . . . @2023-05-09T04:37:54Z by [[~jrmu]]: [==]%0a* [[WikiTips.Cookbooks]]  . . . @2023-05-04T21:30:21Z by [[~izzyb]]: [==]%0a* [[Openbsd.MlmmjWebArchiver]]  . . . @2023-05-04T00:33:10Z by [[~izzyb]]: [=Added missing instructions for installing mhonarc=]%0a* [[Openbsd.Mlmmj]]  . . . @2023-05-03T21:19:16Z by [[~izzyb]]: [=Added link to mlmmj-WebArchiver=]%0a* [[Lists.Ircnow]]  . . . @2023-05-03T21:11:00Z by [[~izzyb]]: [=Added Jobs and some formatting=]%0a* [[Bots.Basicbot]]  . . . @2023-04-30T21:47:44Z by [[~izzyb]]: [=fixed missing ; in my $mod={}=]%0a* [[Bots.BasicbotWiki]]  . . . @2023-04-30T02:59:37Z by [[~izzyb]]: [=Initial post=]%0a* [[Openhttpd.Perl]]  . . . @2023-04-29T22:38:05Z by [[~izzyb]]: [==]%0a* [[Perl101.Perl101]]  . . . @2023-04-29T22:34:22Z by [[~izzyb]]: [==]%0a* [[Tmux.Tmux]]  . . . @2023-04-29T21:32:15Z by [[~izzyb]]: [=Initial wikigroup page with pagelist and links to other related tools=]%0a* [[Hardware.Ps2]]  . . . @2023-04-28T08:01:37Z by [[~mkf]]: [==]%0a* [[Hardware.Ethernet]]  . . . @2023-04-26T04:23:15Z by [[~mkf]]: [=importing this new found information, thanks cinap.=]%0a* [[9.Cheatsheet]]  . . . @2023-04-26T04:06:46Z by [[~jrmu]]: [==]%0a* [[Atheme.Install]]  . . . @2023-04-24T17:19:00Z by [[~DragonMaster]]: [==]%0a* [[Mutt.Connect]]  . . . @2023-04-23T20:19:43Z by [[~jrmu]]: [==]%0a* [[WikiTips.GroupsTagsCategories]]  . . . @2023-04-22T16:12:01Z by [[~izzyb]]: [==]%0a* [[WikiTips.WikiFormatting]]  . . . @2023-04-22T06:27:30Z by [[~izzyb]]: [==]%0a* [[WikiTips.WikiGroups]]  . . . @2023-04-22T06:04:14Z by [[~izzyb]]: [==]%0a* [[WikiTips.WikiTips]]  . . . @2023-04-22T05:11:04Z by [[~izzyb]]: [==]%0a* [[WikiTips.InterMap]]  . . . @2023-04-22T04:41:45Z by [[~izzyb]]: [=Tips for using interMap links to other data sources=]%0a* [[Cherry.Cherry]]  . . . @2023-04-22T03:53:28Z by [[~izzyb]]: [==]%0a* [[Botnow.Botnow]]  . . . @2023-04-22T02:20:54Z by [[~izzyb]]: [==]%0a* [[Bouncer.Irssi]]  . . . @2023-04-22T00:51:13Z by [[~izzyb]]: [==]%0a* [[Bots.Translator]]  . . . @2023-04-21T15:29:21Z by [[~forero]]: [==]%0a* [[Course-unix100.Course-unix100]]  . . . @2023-04-21T04:08:32Z by [[~izzyb]]: [==]%0a* [[Sylpheed.Connect]]  . . . @2023-04-20T06:21:36Z by [[~initfree]]: [==]%0a* [[Eggdrop191.Install]]  . . . @2023-04-19T16:03:48Z by [[~jrmu]]: [=updated version number=]%0a* [[WikiTips.Markup]]  . . . @2023-04-19T04:01:20Z by [[~izzyb]]: [=Added notes on markdown cookbook=]%0a* [[OpenSSH.Keygen]]  . . . @2023-04-19T00:30:11Z by [[~izzyb]]: [=softened the language on setting a passphrase to 'should set' instead of 'always set'=]%0a* [[Password.Schemes]]  . . . @2023-04-17T20:46:42Z by [[~izzyb]]: [==]%0a* [[Openbsd.KnownIssues]]  . . . @2023-04-10T22:02:38Z by [[~izzyb]]: [==]%0a* [[Fics.Install]]  . . . @2023-04-08T01:47:11Z by [[~jrmu]]: [==]%0a* [[Chess.Limitsbot]]  . . . @2023-04-02T01:49:23Z by [[~jrmu]]: [==]%0a* [[Relayd.TLSMulti]]  . . . @2023-03-31T14:16:54Z by [[~jrmu]]: [==]%0a* [[Relayd.Acceleration]]  . . . @2023-03-30T15:26:20Z by [[~jrmu]]: [==]%0a* [[Chess.Tournament]]  . . . @2023-03-28T00:50:21Z by [[~jrmu]]: [==]%0a* [[Ambassador.Ilines]]  . . . @2023-03-26T07:00:25Z by [[~jrmu]]: [==]%0a* [[Bots.Bots]]  . . . @2023-03-25T04:16:10Z by [[~izzyb]]: [==]%0a* [[Eggdrop.Eggdrop]]  . . . @2023-03-25T04:12:34Z by [[~izzyb]]: [==]%0a* [[Eggdrop.DuckHunt]]  . . . @2023-03-25T04:11:04Z by [[~izzyb]]: [==]%0a* [[Eggdrop.BotZNC]]  . . . @2023-03-25T04:10:26Z by [[~izzyb]]: [==]%0a* [[Eggdrop184.Install]]  . . . @2023-03-25T04:04:13Z by [[~izzyb]]: [==]%0a* [[Bots.Botnow]]  . . . @2023-03-24T17:57:43Z by [[~izzyb]]: [=Added redirect link for botnow=]%0a* [[Unix101.Unix101]]  . . . @2023-03-23T18:04:36Z by [[~izzyb]]: [==]%0a* [[9.9p]]  . . . @2023-03-23T12:00:13Z by [[~mkf]]: [==]%0a* [[Openbsd.Psybnc]]  . . . @2023-03-22T03:53:44Z by [[~Naglfar]]: [=Update download url=]%0a* [[Openbsd.Upgrade72]]  . . . @2023-03-22T02:48:07Z by [[~izzyb]]: [=Simple stub to upgrade68=]%0a* [[Openbsd.Upgrade69]]  . . . @2023-03-22T02:45:25Z by [[~izzyb]]: [==]%0a* [[Doas.Configure]]  . . . @2023-03-22T01:29:02Z by [[~boxette]]: [==]%0a* [[Openbsd.Upgrade71]]  . . . @2023-03-22T01:24:24Z by [[~izzyb]]: [==]%0a* [[Openbsd.Upgrade70]]  . . . @2023-03-22T01:23:31Z by [[~izzyb]]: [==]%0a* [[Openbsd.Upgrade68]]  . . . @2023-03-22T01:19:01Z by [[~izzyb]]: [=Added drop screen definitions and info re sysupgrade=]%0a* [[Terms.Privacy]]  . . . @2023-03-21T20:09:01Z by [[~mkf]]: [==]%0a* [[Opensmtpd.Test]]  . . . @2023-03-21T16:12:17Z by [[~Yonle]]: [==]%0a* [[Eggdrop.TCLErorrWhileExecutingPackage]]  . . . @2023-03-21T03:01:23Z by [[~GuardiaN]]: [==]%0a* [[Xmpp.Xmpp]]  . . . @2023-03-20T16:59:36Z by [[~izzyb]]: [==]%0a* [[Letsencrypt.Expired]]  . . . @2023-03-19T03:46:41Z by [[~xfnw]]: [=add command for counting certs=]%0a* [[Hardware.Psp]]  . . . @2023-03-16T18:44:50Z by [[~mkf]]: [==]%0a* [[Cloud9p.Roadmap]]  . . . @2023-03-16T09:29:23Z by [[~mkf]]: [==]%0a* [[Pgp.Create]]  . . . @2023-03-13T14:54:27Z by [[~baytuch]]: [=Added export pub key=]%0a* [[OpenBSD.Cheatsheet]]  . . . @2023-03-12T09:52:16Z by [[~Yonle]]: [==]%0a* [[Minetest.Minetest]]  . . . @2023-03-12T05:12:30Z by [[~izzyb]]: [=Added web assembly client link=]%0a* [[9front.Netsurf]]  . . . @2023-03-10T15:08:21Z by [[~Yonle]]: [==]%0a* [[Dovecot.SharedMailboxes]]  . . . @2023-03-10T14:16:57Z by [[~izzyb]]: [==]%0a* [[Squirrelmail.Install]]  . . . @2023-03-10T00:33:25Z by [[~pos]]: [==]%0a* [[Profiles.Xfnw]]  . . . @2023-03-07T21:55:06Z by [[~xfnw]]: [=update expiration=]%0a* [[FreeIRC.About]]  . . . March 05, 2023, at 03:51 PM by [[~kilroy]]: [==]%0a* [[Openbsd.OpenTracker]]  . . . March 03, 2023, at 04:37 PM by [[~baytuch]]: [==]%0a* [[Oidentd.ZNC]]  . . . February 28, 2023, at 02:34 AM by [[~jrmu]]: [==]%0a* [[Oidentd.Changeident]]  . . . February 28, 2023, at 02:33 AM by [[~jrmu]]: [=This was suggested by another author, but because the solution is not permanent, we move it to a sep=]%0a* [[Acme-client.Configure]]  . . . February 26, 2023, at 10:06 PM by [[~jrmu]]: [=Revert as I'm not sure if /etc/daily.local is better=]%0a* [[Stagit.Install]]  . . . February 26, 2023, at 05:24 PM by [[~fossdev]]: [==]%0a* [[Openbsd.Gotweb]]  . . . February 26, 2023, at 05:04 PM by [[~fossdev]]: [==]%0a* [[Oidentd.Install]]  . . . February 26, 2023, at 01:59 AM by [[~jrmu]]: [=Revert erroneous change=]%0a* [[Ircnow.Codeforce]]  . . . February 26, 2023, at 01:03 AM by [[~jrmu]]: [==]%0a* [[Vps.Vps]]  . . . February 25, 2023, at 12:31 AM by [[~jrmu]]: [==]%0a* [[Baytuch.Bio]]  . . . February 17, 2023, at 12:00 PM by [[~baytuch]]: [==]%0a* [[Openhttpd.Configure]]  . . . February 17, 2023, at 11:39 AM by [[~baytuch]]: [==]%0a* [[Openbsd.Plermoa]]  . . . February 16, 2023, at 04:52 AM by [[~Yonle]]: [=Redirect=]%0a* [[Akkoma.Install]]  . . . February 09, 2023, at 12:49 PM by [[~Yonle]]: [==]%0a* [[Google.Sins]]  . . . February 08, 2023, at 05:13 AM by [[~Yonle]]: [==]%0a* [[Debate.Googledanger]]  . . . February 08, 2023, at 05:01 AM by [[~Yonle]]: [==]%0a* [[Debate.Outreachkids]]  . . . February 08, 2023, at 04:34 AM by [[~Yonle]]: [==]%0a* [[Openbsd.Mosh]]  . . . February 07, 2023, at 11:30 AM by [[~Yonle]]: [==]%0a* [[Route.Usage]]  . . . February 06, 2023, at 02:38 PM by [[~mkf]]: [==]%0a* [[Mkf.Wikiv1]]  . . . February 06, 2023, at 02:31 PM by [[~mkf]]: [==]%0a* [[Psybnc.Install]]  . . . February 06, 2023, at 02:31 PM by [[~mkf]]: [==]%0a* [[Debate.Openweb]]  . . . February 06, 2023, at 02:15 PM by [[~Yonle]]: [==]%0a* [[Debate.Youtubedanger]]  . . . February 06, 2023, at 02:10 PM by [[~Yonle]]: [==]%0a* [[Debate.Providers]]  . . . February 06, 2023, at 01:41 PM by [[~Yonle]]: [==]%0a* [[Paster.Install]]  . . . February 06, 2023, at 10:22 AM by [[~mkf]]: [==]%0a* [[Anope.Install]]  . . . February 06, 2023, at 09:46 AM by [[~mkf]]: [==]%0a* [[Password.Hashes]]  . . . February 04, 2023, at 07:27 AM by [[~izzyb]]: [=formatting fixes=]%0a* [[Chess.Chessgogi]]  . . . February 04, 2023, at 03:49 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Passwords]]  . . . February 03, 2023, at 07:49 PM by [[~izzyb]]: [==]%0a* [[Password.Management]]  . . . February 03, 2023, at 07:44 PM by [[~izzyb]]: [==]%0a* [[DNS.Ipv4rDNS]]  . . . February 01, 2023, at 08:31 PM by [[~izzyb]]: [=added note to clarify what address needs to be specified.=]%0a* [[Dovecot.SharedFolders]]  . . . January 31, 2023, at 06:03 AM by [[~izzyb]]: [=renaming to sharedMailboxes=]%0a* [[Soju.Install]]  . . . January 24, 2023, at 11:29 AM by [[~mkf]]: [=minor changes on style=]%0a* [[Lilywhitebot.Install]]  . . . January 24, 2023, at 11:23 AM by [[~mkf]]: [==]%0a* [[SendMoneyToSplinter0616Outlook.Com]]  . . . January 24, 2023, at 11:19 AM by [[~mkf]]: [==]%0a* [[Biboumi.Install]]  . . . January 20, 2023, at 08:10 PM by [[~mkf]]: [==]%0a* [[Texlive.Install]]  . . . January 20, 2023, at 08:05 PM by [[~mkf]]: [==]%0a* [[Rcctl.Rcctl]]  . . . January 20, 2023, at 08:00 PM by [[~mkf]]: [==]%0a* [[Vmm.Configure]]  . . . January 20, 2023, at 07:59 PM by [[~mkf]]: [==]%0a* [[Hopm.Install]]  . . . January 20, 2023, at 07:32 PM by [[~mkf]]: [==]%0a* [[Openbsd.Unrealircd]]  . . . January 20, 2023, at 07:27 PM by [[~mkf]]: [==]%0a* [[Unrealircd.Install]]  . . . January 20, 2023, at 07:24 PM by [[~mkf]]: [==]%0a* [[Pleroma.Install]]  . . . January 20, 2023, at 07:18 PM by [[~mkf]]: [==]%0a* [[Gomuks.Install]]  . . . January 20, 2023, at 07:08 PM by [[~mkf]]: [==]%0a* [[Gotweb.Install]]  . . . January 20, 2023, at 07:02 PM by [[~mkf]]: [==]%0a* [[Webnews.Install]]  . . . January 20, 2023, at 06:57 PM by [[~mkf]]: [==]%0a* [[Php.Install]]  . . . January 20, 2023, at 06:52 PM by [[~mkf]]: [==]%0a* [[Mlmmj.Install]]  . . . January 20, 2023, at 06:48 PM by [[~mkf]]: [==]%0a* [[Fiche.Install]]  . . . January 20, 2023, at 06:44 PM by [[~mkf]]: [==]%0a* [[Prosody.Install]]  . . . January 20, 2023, at 06:42 PM by [[~mkf]]: [==]%0a* [[Bitlbee.Install]]  . . . January 20, 2023, at 06:36 PM by [[~mkf]]: [==]%0a* [[TigerVNC.Install]]  . . . January 20, 2023, at 06:30 PM by [[~mkf]]: [==]%0a* [[NodeJS.Install]]  . . . January 20, 2023, at 06:27 PM by [[~mkf]]: [==]%0a* [[Pmwiki.Install]]  . . . January 20, 2023, at 06:19 PM by [[~mkf]]: [==]%0a* [[Xfce.Install]]  . . . January 20, 2023, at 06:17 PM by [[~mkf]]: [==]%0a* [[Ngircd.Install]]  . . . January 20, 2023, at 06:08 PM by [[~mkf]]: [==]%0a* [[Openbsd.Vipw]]  . . . January 18, 2023, at 11:01 PM by [[~zen]]: [=added two spaces=]%0a* [[Grep.Usage]]  . . . January 18, 2023, at 10:54 PM by [[~zen]]: [==]%0a* [[Openbsd.Singleuser]]  . . . January 18, 2023, at 10:26 PM by [[~zen]]: [=changed the link reference=]%0a* [[Ssh.Fingerprints]]  . . . January 14, 2023, at 04:31 PM by [[~izzyb]]: [=added link to ircnow network ssh fingerprints as example.=]%0a* [[Team.Networks]]  . . . January 12, 2023, at 06:36 PM by [[~kilroy]]: [=Updated Sturtz IRC=]%0a* [[Znc.Install]]  . . . January 07, 2023, at 11:58 PM by [[~jrmu]]: [==]%0a* [[Rspamd.Configure]]  . . . January 03, 2023, at 04:55 PM by [[~mkf]]: [==]%0a* [[Dovecot.Pigeonhole]]  . . . December 30, 2022, at 04:24 PM by [[~mkf]]: [=style 2=]%0a* [[Openbsd.Quota]]  . . . December 29, 2022, at 06:51 PM by [[~mkf]]: [==]%0a* [[Profiles.Miniontoby]]  . . . December 26, 2022, at 07:26 PM by [[~miniontoby]]: [=Created=]%0a* [[Openbsd.Minetest]]  . . . December 26, 2022, at 07:23 PM by [[~miniontoby]]: [=Added more ways to install=]%0a* [[Splinter0616Outlook.Com]]  . . . December 25, 2022, at 02:37 AM by [[~SplinTer]]: [==]%0a* [[Ngircd.Oper]]  . . . December 25, 2022, at 12:03 AM by [[~forero]]: [==]%0a* [[Openbsd.Honk]]  . . . December 17, 2022, at 08:45 AM by [[~Yonle]]: [==]%0a* [[Yonle.Bio]]  . . . December 13, 2022, at 05:18 PM by [[~Yonle]]: [==]%0a* [[Camping.Gear]]  . . . December 12, 2022, at 04:39 AM by [[~jrmu]]: [==]%0a* [[Vhost.Vhost]]  . . . December 12, 2022, at 03:36 AM by [[~xfnw]]: [==]%0a* [[Vhost.Ircnow]]  . . . December 12, 2022, at 03:13 AM by [[~xfnw]]: [=ircfree.com is not an ircnow domain=]%0a* [[I2Pd.Tunnels]]  . . . December 06, 2022, at 02:52 PM by [[~Yonle]]: [=There we go. =]%0a* [[I2pd.Tunnels]]  . . . December 06, 2022, at 02:45 PM by [[~Yonle]]: [==]%0a* [[Unwind.Configure]]  . . . November 26, 2022, at 09:23 PM by [[~akoizumi]]: [=add unwind=]%0a* [[Openbsd.Icecast]]  . . . November 17, 2022, at 11:35 AM by [[~Yonle]]: [==]%0a* [[Debian.Install]]  . . . November 13, 2022, at 11:43 AM by [[~suzerain]]: [=writing=]%0a* [[Lemon.Lemon]]  . . . November 10, 2022, at 01:48 PM by [[~mkf]]: [==]%0a* [[Bouncer.JmIRC]]  . . . November 04, 2022, at 06:18 PM by [[~baytuch]]: [=Added screenshots about setup=]%0a* [[Bouncer.XChat]]  . . . October 16, 2022, at 11:09 PM by [[~xfnw]]: [=XChat is unmaintained=]%0a* [[Eggdrop.VHost]]  . . . October 02, 2022, at 01:05 PM by [[~sulieztya]]: [==]%0a* [[Eggdrop.VhostTCL]]  . . . October 02, 2022, at 07:06 AM by [[~sulieztya]]: [==]%0a* [[He.IPv6Certification]]  . . . September 16, 2022, at 05:32 PM by [[~xfnw]]: [=create page=]%0a* [[Shelllabs.Education]]  . . . September 14, 2022, at 07:30 PM by [[~jrmu]]: [==]%0a* [[About.AboutUs]]  . . . September 13, 2022, at 06:42 PM by [[~zleap]]: [==]%0a* [[LegalAndSafety.LegalAndSafety]]  . . . September 13, 2022, at 05:19 PM by [[~zleap]]: [==]%0a* [[LegalAndSafety.LegalAmpSafety]]  . . . September 13, 2022, at 05:17 PM by [[~zleap]]: [==]%0a* [[LegalAmpSafety.Subheading]]  . . . September 13, 2022, at 05:15 PM by [[~zleap]]: [==]%0a* [[Acmesh.Configure]]  . . . September 11, 2022, at 06:03 PM by [[~akoizumi]]: [=Added acme.sh (currently a WIP)=]%0a* [[Dehydrated.Configure]]  . . . September 11, 2022, at 02:52 PM by [[~akoizumi]]: [=Add dehydrated=]%0a* [[Profiles.Izzyb]]  . . . September 11, 2022, at 06:28 AM by [[~izzyb]]: [==]%0a* [[Site.EditForm]]  . . . September 11, 2022, at 06:22 AM by [[~izzyb]]: [=Make Author none editable field=]%0a* [[Openbsd.Geomyidae]]  . . . September 10, 2022, at 02:31 AM by [[~akoizumi]]: [==]%0a* [[Openbsd.INN]]  . . . September 10, 2022, at 02:23 AM by [[~akoizumi]]: [=Fix some types=]%0a* [[Heading.Subheading]]  . . . September 07, 2022, at 07:23 PM by [[~zleap]]: [==]%0a* [[Eggdrop193.Install]]  . . . September 07, 2022, at 04:48 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Pioneer]]  . . . August 14, 2022, at 05:06 AM by [[~jrmu]]: [==]%0a* [[Openbsd.VsFTP]]  . . . August 10, 2022, at 03:18 PM by [[~mkf]]: [=snipped unneeded output=]%0a* [[C.Scanf]]  . . . August 10, 2022, at 09:51 AM by [[~mkf]]: [==]%0a* [[Vmm.Install]]  . . . August 10, 2022, at 08:05 AM by [[~miniontoby]]: [=coconut to host=]%0a* [[Orange.CertsReissue]]  . . . August 08, 2022, at 05:35 AM by [[~baytuch]]: [==]%0a* [[Netcat.Usage]]  . . . August 04, 2022, at 01:12 AM by [[~tiramisu]]: [==]%0a* [[Pgp.Upload]]  . . . August 01, 2022, at 01:21 PM by [[~jan6]]: [=keys.openpgp.org uses a superior implementation, less vulnerable to various issues=]%0a* [[Lemon.Packages]]  . . . July 30, 2022, at 07:52 PM by [[~mkf]]: [==]%0a* [[Netizen.Ellisisland]]  . . . July 27, 2022, at 07:05 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Newdeal]]  . . . July 27, 2022, at 06:55 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Daughtersofliberty]]  . . . July 27, 2022, at 06:45 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Womenstem]]  . . . July 21, 2022, at 05:59 PM by [[~jrmu]]: [==]%0a* [[Eggdrop.RC]]  . . . July 20, 2022, at 06:55 PM by [[~baytuch]]: [==]%0a* [[Opensmtpd.Troubleshoot]]  . . . July 20, 2022, at 03:58 PM by [[~jlj]]: [=Added notes about how I resolved the first two errors, on nastycode=]%0a* [[Eggdrop.Nickserv]]  . . . July 19, 2022, at 10:05 AM by [[~baytuch]]: [==]%0a* [[Chroot.Intro]]  . . . July 18, 2022, at 04:23 PM by [[~mkf]]: [==]%0a* [[Ircnow.Media]]  . . . July 15, 2022, at 05:54 AM by [[~jrmu]]: [==]%0a* [[Iked.Linuxstrongswan]]  . . . July 03, 2022, at 11:29 PM by [[~jrmu]]: [==]%0a* [[Acme-client.AutoRenew]]  . . . July 03, 2022, at 11:50 AM by [[~mkf]]: [==]%0a* [[Openbsd.Apmd]]  . . . July 03, 2022, at 11:36 AM by [[~mkf]]: [==]%0a* [[Ircnow.Roadmap2022]]  . . . July 03, 2022, at 11:04 AM by [[~mkf]]: [==]%0a* [[Iked.Android]]  . . . July 01, 2022, at 12:14 AM by [[~jrmu]]: [==]%0a* [[Vpn.Myipaddress]]  . . . June 30, 2022, at 09:51 PM by [[~jrmu]]: [==]%0a* [[Unbound.Blacklists]]  . . . June 25, 2022, at 06:02 AM by [[~jrmu]]: [==]%0a* [[Iked.Linux]]  . . . June 23, 2022, at 07:10 AM by [[~jrmu]]: [==]%0a* [[Vpn.Vpn]]  . . . June 23, 2022, at 06:42 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Nsf]]  . . . June 20, 2022, at 05:05 PM by [[~jrmu]]: [==]%0a* [[Debate.Debate]]  . . . June 19, 2022, at 04:12 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Metrics]]  . . . June 19, 2022, at 04:12 PM by [[~jrmu]]: [==]%0a* [[Dns.Overview]]  . . . June 19, 2022, at 05:45 AM by [[~jrmu]]: [==]%0a* [[Dns.Records]]  . . . June 19, 2022, at 05:44 AM by [[~jrmu]]: [==]%0a* [[Vmm.Alpine]]  . . . June 13, 2022, at 05:42 PM by [[~fossdev]]: [==]%0a* [[Vmm.Arch]]  . . . June 12, 2022, at 04:11 PM by [[~g1n]]: [=Added article about Arch Linux setup on VMM=]%0a* [[Znc.Patch]]  . . . June 12, 2022, at 12:48 AM by [[~jrmu]]: [==]%0a* [[Unveil.Intro]]  . . . June 12, 2022, at 12:40 AM by [[~jrmu]]: [==]%0a* [[Pledge.Intro]]  . . . June 12, 2022, at 12:39 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Bsdrd]]  . . . June 09, 2022, at 07:17 AM by [[~jrmu]]: [==]%0a* [[Vnc.Vnc]]  . . . June 08, 2022, at 04:04 PM by [[~miniontoby]]: [=Added RealVNC Viewer to the list (might need some more extra stuff, but yeah its fine)=]%0a* [[Openbsd.Growfs]]  . . . June 01, 2022, at 12:34 AM by [[~jrmu]]: [==]%0a* [[Hostnameif.Static-v2]]  . . . May 23, 2022, at 06:29 AM by [[~theguest]]: [==]%0a* [[Hostnameif.Static]]  . . . May 23, 2022, at 05:01 AM by [[~theguest]]: [==]%0a* [[Ircnow.Team]]  . . . May 12, 2022, at 03:44 PM by [[~jrmu]]: [==]%0a* [[Grape.Minetest]]  . . . May 10, 2022, at 10:48 AM by [[~baytuch]]: [==]%0a* [[Irc.Emoji]]  . . . May 10, 2022, at 10:23 AM by [[~baytuch]]: [==]%0a* [[Openbsd.Nsd]]  . . . May 10, 2022, at 12:33 AM by [[~jrmu]]: [==]%0a* [[Opsofliberty.Bootcamp]]  . . . May 09, 2022, at 08:38 AM by [[~mkf]]: [==]%0a* [[Openbsd.Ports]]  . . . May 09, 2022, at 05:54 AM by [[~mkf]]: [==]%0a* [[Openbsd.Rcctl]]  . . . May 09, 2022, at 05:53 AM by [[~mkf]]: [==]%0a* [[Ngircd.Ssl]]  . . . May 08, 2022, at 03:30 PM by [[~miniontoby]]: [=fixed the text=]%0a* [[Codeforce.Training]]  . . . May 03, 2022, at 03:02 AM by [[~jrmu]]: [==]%0a* [[Civics.Intro]]  . . . May 03, 2022, at 01:06 AM by [[~jrmu]]: [==]%0a* [[OpenBSD.EdgeRouter-Lite]]  . . . April 28, 2022, at 02:50 PM by [[~pufferf]]: [==]%0a* [[Math.Reading]]  . . . April 27, 2022, at 08:23 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Install71]]  . . . April 24, 2022, at 09:55 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Botnow]]  . . . April 24, 2022, at 06:14 AM by [[~jrmu]]: [==]%0a* [[Buyvm.Ipv6]]  . . . April 24, 2022, at 06:10 AM by [[~jrmu]]: [==]%0a* [[Eggdrop.Rss]]  . . . April 23, 2022, at 04:20 PM by [[~jrmu]]: [==]%0a* [[Team.Testing]]  . . . April 20, 2022, at 09:45 PM by [[~jrmu]]: [==]%0a* [[Dns.Registrars]]  . . . April 20, 2022, at 09:30 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Gopher]]  . . . April 20, 2022, at 08:29 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Adduser]]  . . . April 20, 2022, at 08:07 PM by [[~jrmu]]: [==]%0a* [[Signify.Verify]]  . . . April 20, 2022, at 06:24 PM by [[~jrmu]]: [==]%0a* [[Almanack.Route]]  . . . April 20, 2022, at 06:23 AM by [[~jrmu]]: [==]%0a* [[Ntpd.Configure]]  . . . April 20, 2022, at 06:17 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Ntpd]]  . . . April 20, 2022, at 06:16 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Vmmlinux]]  . . . April 20, 2022, at 05:33 AM by [[~jrmu]]: [==]%0a* [[Vmm.Linux]]  . . . April 20, 2022, at 05:33 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Iked]]  . . . April 20, 2022, at 05:16 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Team]]  . . . April 20, 2022, at 04:54 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Networks]]  . . . April 19, 2022, at 04:22 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Announce]]  . . . April 19, 2022, at 04:14 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Ally]]  . . . April 19, 2022, at 04:11 PM by [[~jrmu]]: [==]%0a* [[Openhttpd.Chroot]]  . . . April 19, 2022, at 04:05 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Install70]]  . . . April 19, 2022, at 06:52 AM by [[~jrmu]]: [==]%0a* [[CodeForce.Bootcamp]]  . . . April 19, 2022, at 06:29 AM by [[~jrmu]]: [==]%0a* [[Vmm.Vmm]]  . . . April 15, 2022, at 12:20 PM by [[~Naglfar]]: [=Update: report from PiRATA=]%0a* [[Ngircd.Link]]  . . . April 07, 2022, at 06:52 AM by [[~jrmu]]: [==]%0a* [[Minutemin.Minutemin]]  . . . April 06, 2022, at 02:55 AM by [[~jrmu]]: [==]%0a* [[Openhttpd.CGI]]  . . . April 05, 2022, at 04:22 PM by [[~gtlsgamr]]: [==]%0a* [[Openbsd.Censord]]  . . . April 05, 2022, at 06:16 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Dns]]  . . . April 05, 2022, at 05:24 AM by [[~jrmu]]: [==]%0a* [[Debate.Zncflaws]]  . . . April 05, 2022, at 05:18 AM by [[~jrmu]]: [==]%0a* [[Debate.Debiandanger]]  . . . April 04, 2022, at 04:30 AM by [[~jrmu]]: [==]%0a* [[Openhttpd.Tls]]  . . . April 04, 2022, at 04:25 AM by [[~jrmu]]: [==]%0a* [[Openhttpd.Website]]  . . . April 03, 2022, at 11:03 PM by [[~jrmu]]: [==]%0a* [[Soju.Guide]]  . . . April 02, 2022, at 03:46 PM by [[~Yonle]]: [==]%0a* [[Nitter.Install]]  . . . April 02, 2022, at 01:08 AM by [[~fallback]]: [=first nitter install page=]%0a* [[Debiankaios.Bio]]  . . . April 01, 2022, at 05:10 PM by [[~debiankaios]]: [==]%0a* [[Sshd.Disablepassword]]  . . . March 30, 2022, at 08:27 PM by [[~xfnw]]: [=undo accidental revert=]%0a* [[Tor.Irc]]  . . . March 30, 2022, at 12:40 PM by [[~m16]]: [==]%0a* [[Chess.Reading]]  . . . March 29, 2022, at 10:02 PM by [[~jrmu]]: [==]%0a* [[Irc.Services]]  . . . March 25, 2022, at 04:29 AM by [[~jrmu]]: [==]%0a* [[Syslogd.Configure]]  . . . March 25, 2022, at 04:07 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Ddos]]  . . . March 24, 2022, at 04:22 PM by [[~jrmu]]: [==]%0a* [[Ddos.Intro]]  . . . March 24, 2022, at 04:22 PM by [[~jrmu]]: [==]%0a* [[Bouncer.ZNC]]  . . . March 19, 2022, at 07:31 AM by [[~fallback]]: [==]%0a* [[ISCABBS.DownloadingAndInstalling]]  . . . March 15, 2022, at 10:42 PM by [[~Mandarax]]: [==]%0a* [[ISCABBS.ISCABBS]]  . . . March 15, 2022, at 09:24 PM by [[~Mandarax]]: [==]%0a* [[Unix.History]]  . . . March 14, 2022, at 06:07 PM by [[~jrmu]]: [==]%0a* [[Unix.Exhibit]]  . . . March 13, 2022, at 11:37 PM by [[~jrmu]]: [==]%0a* [[Debate.Dogfooding]]  . . . March 10, 2022, at 05:14 AM by [[~jrmu]]: [==]%0a* [[Irc.Easy]]  . . . March 05, 2022, at 08:56 PM by [[~jrmu]]: [==]%0a* [[Doxing.Defense]]  . . . March 05, 2022, at 08:54 PM by [[~jrmu]]: [==]%0a* [[Mlmmj-archivist.Install]]  . . . March 03, 2022, at 05:26 AM by [[~error]]: [==]%0a* [[Openbsd.IRCBridge]]  . . . February 28, 2022, at 02:59 AM by [[~suzerain]]: [==]%0a* [[Unix101.Vi]]  . . . February 27, 2022, at 08:16 PM by [[~jrmu]]: [==]%0a* [[Vi.Intro]]  . . . February 27, 2022, at 04:16 PM by [[~Limits]]: [=Add Introduction to Vi=]%0a* [[Irc201.Irc201]]  . . . February 27, 2022, at 04:21 AM by [[~suzerain]]: [==]%0a* [[9.Ideas]]  . . . February 23, 2022, at 05:19 PM by [[~mkf]]: [==]%0a* [[Main.WikiSandbox]]  . . . February 22, 2022, at 11:05 PM by [[~mkf]]: [==]%0a* [[Openbsd.Wesnothd]]  . . . February 21, 2022, at 06:28 AM by [[~mkf]]: [=Wesnothd=]%0a* [[9.Audio]]  . . . February 20, 2022, at 08:07 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Xonotic]]  . . . February 20, 2022, at 07:43 AM by [[~mkf]]: [=A xonotic server has apperad! pt.2=]%0a* [[PuTTY.PuTTYgen]]  . . . February 16, 2022, at 05:24 AM by [[~jrmu]]: [==]%0a* [[Rcd.Configure]]  . . . February 15, 2022, at 04:46 PM by [[~xfnw]]: [=fix title formatting=]%0a* [[Debate.Ircnowd]]  . . . February 14, 2022, at 06:24 PM by [[~jrmu]]: [==]%0a* [[Stopm.Stopm]]  . . . February 14, 2022, at 06:16 PM by [[~jrmu]]: [==]%0a* [[Police.Fingerprints]]  . . . February 12, 2022, at 02:09 PM by [[~xfnw]]: [=ip addresses should be sorted with sort -V=]%0a* [[Openbsd.Police]]  . . . February 10, 2022, at 07:36 PM by [[~jrmu]]: [==]%0a* [[Dns.Dns]]  . . . February 10, 2022, at 07:39 AM by [[~nixdork]]: [=Fix typo=]%0a* [[Dns.BindResolver]]  . . . February 10, 2022, at 07:30 AM by [[~nixdork]]: [=First draft of bind resolver howto=]%0a* [[Botnow.SqliteViews]]  . . . February 10, 2022, at 02:00 AM by [[~xfnw]]: [==]%0a* [[AncientWisdom.Bio]]  . . . February 07, 2022, at 01:18 PM by [[~AncientWisdom]]: [==]%0a* [[Minutemin.Questions]]  . . . February 05, 2022, at 09:16 AM by [[~jrmu]]: [==]%0a* [[Minutemin.Server]]  . . . February 05, 2022, at 08:14 AM by [[~jrmu]]: [==]%0a* [[Vmm.SlackwareIso]]  . . . February 03, 2022, at 10:53 PM by [[~Naglfar]]: [=Slackware 15.0 x86 stable is released=]%0a* [[Vmctl.Usage]]  . . . February 03, 2022, at 06:24 PM by [[~miniontoby]]: [=fixed attachment=]%0a* [[Duplicity.Usage]]  . . . February 02, 2022, at 10:31 AM by [[~jrmu]]: [==]%0a* [[Openssl.Encryptfile]]  . . . February 02, 2022, at 09:29 AM by [[~jrmu]]: [==]%0a* [[Openrsync.Usage]]  . . . January 29, 2022, at 09:04 AM by [[~Naglfar]]: [=update from rsync to openrsync=]%0a* [[Openbsd.Tcpip]]  . . . January 24, 2022, at 05:45 PM by [[~jrmu]]: [==]%0a* [[Synclient.Configure]]  . . . January 24, 2022, at 06:02 AM by [[~jrmu]]: [==]%0a* [[Crontab.Edit]]  . . . January 23, 2022, at 05:46 PM by [[~mkf]]: [==]%0a* [[9.Install]]  . . . January 22, 2022, at 06:57 AM by [[~mkf]]: [==]%0a* [[Asterisk.Install]]  . . . January 19, 2022, at 05:34 AM by [[~jrmu]]: [==]%0a* [[9.Ndb]]  . . . January 16, 2022, at 06:46 PM by [[~mkf]]: [==]%0a* [[Openbsd.U9fs]]  . . . January 16, 2022, at 06:23 PM by [[~mkf]]: [==]%0a* [[Dns.FQDN]]  . . . January 15, 2022, at 10:16 PM by [[~jrmu]]: [==]%0a* [[Nsd.DNSSec]]  . . . January 14, 2022, at 02:53 AM by [[~pyr3x]]: [==]%0a* [[Openbsd.Locale]]  . . . January 12, 2022, at 01:23 PM by [[~baytuch]]: [==]%0a* [[Openbsd.Openbsd]]  . . . January 12, 2022, at 01:19 PM by [[~baytuch]]: [==]%0a* [[Ksh.Autocomplete]]  . . . January 11, 2022, at 01:44 PM by [[~miniontoby]]: [=updated url=]%0a* [[Gpg.Verify]]  . . . January 08, 2022, at 09:48 PM by [[~Naglfar]]: [=Add description=]%0a* [[Mlmmj.Archive]]  . . . January 06, 2022, at 10:52 PM by [[~Hawk]]: [==]%0a* [[9.Hostowner]]  . . . January 06, 2022, at 11:29 AM by [[~mkf]]: [==]%0a* [[Ircnow.Dogfood]]  . . . January 06, 2022, at 08:48 AM by [[~jrmu]]: [==]%0a* [[9.Authsrv]]  . . . January 05, 2022, at 04:59 AM by [[~mkf]]: [=hmm=]%0a* [[9.Chording]]  . . . January 03, 2022, at 02:40 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Status]]  . . . January 03, 2022, at 06:06 AM by [[~jrmu]]: [==]%0a* [[Got.Server]]  . . . January 02, 2022, at 05:42 PM by [[~jrmu]]: [==]%0a* [[Census.Census]]  . . . January 02, 2022, at 11:27 AM by [[~jrmu]]: [==]%0a* [[Bncnow.Bncnow]]  . . . January 02, 2022, at 11:18 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Projects]]  . . . January 02, 2022, at 11:09 AM by [[~jrmu]]: [==]%0a* [[Ircfs.Intro]]  . . . January 02, 2022, at 10:49 AM by [[~jrmu]]: [==]%0a* [[Ircnowd.Ircnowd]]  . . . January 02, 2022, at 06:32 AM by [[~jrmu]]: [==]%0a* [[Marketing.Marketing]]  . . . January 02, 2022, at 06:20 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Sonsofliberty]]  . . . January 02, 2022, at 06:06 AM by [[~jrmu]]: [==]%0a* [[Pkgadd.CheckUpdates]]  . . . January 01, 2022, at 04:29 AM by [[~pyr3x]]: [==]%0a* [[Ircnow.Roadmap2021]]  . . . December 30, 2021, at 06:31 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Sftp]]  . . . December 30, 2021, at 06:01 AM by [[~jrmu]]: [==]%0a* [[Sftp.Chroot]]  . . . December 30, 2021, at 06:01 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Status2022]]  . . . December 30, 2021, at 05:35 AM by [[~jrmu]]: [==]%0a* [[Eggdrop.UTF8]]  . . . December 28, 2021, at 08:21 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Uim]]  . . . December 26, 2021, at 01:45 AM by [[~jrmu]]: [==]%0a* [[Sshwifty.Install]]  . . . December 23, 2021, at 02:49 PM by [[~miniontoby]]: [=created=]%0a* [[Nsd.Zone]]  . . . December 23, 2021, at 10:33 AM by [[~jrmu]]: [==]%0a* [[Openhttpd.Hosting]]  . . . December 23, 2021, at 03:06 AM by [[~jrmu]]: [==]%0a* [[OpenSSH.RSAkeys]]  . . . December 22, 2021, at 03:18 PM by [[~miniontoby]]: [==]%0a* [[Openbsd.Wifi]]  . . . December 22, 2021, at 02:59 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Recordaudio]]  . . . December 22, 2021, at 01:24 PM by [[~jrmu]]: [==]%0a* [[9.9]]  . . . December 22, 2021, at 11:30 AM by [[~xfnw]]: [=fix some grammatical errors=]%0a* [[Parec.Record]]  . . . December 22, 2021, at 07:02 AM by [[~jrmu]]: [==]%0a* [[Sox.Concat]]  . . . December 22, 2021, at 07:01 AM by [[~jrmu]]: [==]%0a* [[Ffmpeg.Recordscreen]]  . . . December 22, 2021, at 07:00 AM by [[~jrmu]]: [==]%0a* [[JuiceSSH.Connect]]  . . . December 20, 2021, at 01:03 PM by [[~jrmu]]: [==]%0a* [[Marketing.Memes]]  . . . December 20, 2021, at 12:55 PM by [[~jrmu]]: [==]%0a* [[9.Independent]]  . . . December 20, 2021, at 12:47 PM by [[~jrmu]]: [==]%0a* [[MacScreenSharing.Connect]]  . . . December 20, 2021, at 11:57 AM by [[~jrmu]]: [==]%0a* [[9.Partdisk]]  . . . December 20, 2021, at 11:39 AM by [[~jrmu]]: [==]%0a* [[Got.Usage]]  . . . December 17, 2021, at 04:44 PM by [[~jrmu]]: [==]%0a* [[Irc.Federation]]  . . . December 17, 2021, at 02:03 PM by [[~jrmu]]: [==]%0a* [[Irc.Chanop]]  . . . December 14, 2021, at 04:58 AM by [[~mkf]]: [==]%0a* [[9.Todo]]  . . . December 03, 2021, at 07:52 PM by [[~mkf]]: [==]%0a* [[Pylink.Chroot]]  . . . December 02, 2021, at 02:03 PM by [[~jrmu]]: [==]%0a* [[Pylink.Install]]  . . . December 02, 2021, at 02:02 PM by [[~jrmu]]: [==]%0a* [[Jrmu.Marriage]]  . . . December 02, 2021, at 06:09 AM by [[~jrmu]]: [==]%0a* [[Hosting.Hosting]]  . . . December 01, 2021, at 02:01 PM by [[~jrmu]]: [==]%0a* [[Mc.Usage]]  . . . November 29, 2021, at 07:53 PM by [[~mkf]]: [==]%0a* [[PuTTY.Connect]]  . . . November 29, 2021, at 12:13 PM by [[~jrmu]]: [==]%0a* [[Email.Email]]  . . . November 29, 2021, at 04:19 AM by [[~mkf]]: [==]%0a* [[Texlive.Sinhala]]  . . . November 28, 2021, at 06:35 AM by [[~jrmu]]: [==]%0a* [[MailWindows.Connect]]  . . . November 27, 2021, at 03:12 PM by [[~jrmu]]: [==]%0a* [[Gajim.Biboumi]]  . . . November 27, 2021, at 01:02 PM by [[~jrmu]]: [==]%0a* [[Mcabber.Connect]]  . . . November 26, 2021, at 01:38 PM by [[~jrmu]]: [==]%0a* [[ChatSecure.Connect]]  . . . November 26, 2021, at 11:36 AM by [[~jrmu]]: [==]%0a* [[9.9pfs]]  . . . November 24, 2021, at 02:00 PM by [[~mkf]]: [==]%0a* [[Vmm.DebianInstall]]  . . . November 24, 2021, at 11:44 AM by [[~nicoz]]: [==]%0a* [[Siskin.Connect]]  . . . November 23, 2021, at 04:38 PM by [[~jrmu]]: [==]%0a* [[Dino.Connect]]  . . . November 23, 2021, at 02:10 PM by [[~mkf]]: [==]%0a* [[Monal.Connect]]  . . . November 23, 2021, at 10:32 AM by [[~jrmu]]: [==]%0a* [[Xabber.Connect]]  . . . November 23, 2021, at 10:20 AM by [[~jrmu]]: [==]%0a* [[DNS.DMARC]]  . . . November 22, 2021, at 10:52 PM by [[~Hawk]]: [==]%0a* [[StorkIM.Connect]]  . . . November 21, 2021, at 05:03 AM by [[~jrmu]]: [==]%0a* [[Conversations.Connect]]  . . . November 20, 2021, at 05:37 PM by [[~jrmu]]: [==]%0a* [[Yaxim.Connect]]  . . . November 20, 2021, at 05:09 PM by [[~jrmu]]: [==]%0a* [[Adium.Connect]]  . . . November 20, 2021, at 07:32 AM by [[~jrmu]]: [==]%0a* [[Vmm.AlmaLinux]]  . . . November 20, 2021, at 06:47 AM by [[~dodocrypto]]: [==]%0a* [[Psi.Connect]]  . . . November 17, 2021, at 03:23 PM by [[~jrmu]]: [==]%0a* [[Pidgin.Connect]]  . . . November 17, 2021, at 10:18 AM by [[~jrmu]]: [==]%0a* [[Gajim.Connect]]  . . . November 17, 2021, at 08:01 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Training]]  . . . November 16, 2021, at 03:30 PM by [[~Hawk]]: [==]%0a* [[Opera.Connect]]  . . . November 16, 2021, at 12:12 AM by [[~wiz]]: [==]%0a* [[0dev.0dev]]  . . . November 12, 2021, at 03:00 AM by [[~dodocrypto]]: [==]%0a* [[Vmm.RockyLinux]]  . . . November 11, 2021, at 10:51 AM by [[~dodocrypto]]: [==]%0a* [[Opensmtpd.Openrelay]]  . . . November 11, 2021, at 10:37 AM by [[~mkf]]: [==]%0a* [[Sandbox.0dev]]  . . . November 11, 2021, at 01:45 AM by [[~dodocrypto]]: [==]%0a* [[Got.Mirror]]  . . . November 07, 2021, at 05:22 PM by [[~jrmu]]: [==]%0a* [[Vpn.OpenIKED]]  . . . November 07, 2021, at 03:45 PM by [[~gloNO]]: [==]%0a* [[Openbsd.Got]]  . . . November 07, 2021, at 03:16 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Opsofliberty]]  . . . November 06, 2021, at 05:15 PM by [[~jrmu]]: [==]%0a* [[Emacs.Emacs]]  . . . November 06, 2021, at 04:39 PM by [[~LohanG]]: [==]%0a* [[ZNC.Support]]  . . . November 06, 2021, at 03:53 PM by [[~LohanG]]: [=added libera=]%0a* [[Vmm.Plan9]]  . . . November 05, 2021, at 09:31 PM by [[~mkf]]: [=???=]%0a* [[9.Stone]]  . . . November 04, 2021, at 04:09 PM by [[~meeekeeef]]: [==]%0a* [[9.Zuke]]  . . . November 04, 2021, at 04:01 PM by [[~meeekeeef]]: [==]%0a* [[Openbsd.Drawtermssh]]  . . . November 04, 2021, at 03:54 PM by [[~meeekeeef]]: [=ssh bad >:[=]%0a* [[Netcat.Http]]  . . . November 03, 2021, at 02:30 PM by [[~jrmu]]: [==]%0a* [[Telnet.Http]]  . . . November 03, 2021, at 02:18 PM by [[~jrmu]]: [==]%0a* [[Znc.Relayd]]  . . . November 03, 2021, at 10:18 AM by [[~jrmu]]: [==]%0a* [[ZNC.Admin]]  . . . November 02, 2021, at 05:44 PM by [[~jrmu]]: [==]%0a* [[Znc.Debug]]  . . . November 02, 2021, at 03:23 PM by [[~jrmu]]: [==]%0a* [[Znc.Usage]]  . . . November 02, 2021, at 03:09 PM by [[~jrmu]]: [==]%0a* [[Ambassador.Markets]]  . . . November 02, 2021, at 01:29 PM by [[~jrmu]]: [==]%0a* [[Almanack.Rewrite]]  . . . October 31, 2021, at 10:30 PM by [[~hydragyrum]]: [==]%0a* [[9.Sysupdate]]  . . . October 31, 2021, at 10:21 PM by [[~meeekeeef]]: [==]%0a* [[Debian.Debian]]  . . . October 31, 2021, at 12:34 PM by [[~monaco]]: [==]%0a* [[Ircnow.Victorycpus]]  . . . October 30, 2021, at 08:17 AM by [[~jrmu]]: [==]%0a* [[Gnus.Connect]]  . . . October 30, 2021, at 01:32 AM by [[~hydragyrum]]: [==]%0a* [[Ircnow.Settler]]  . . . October 29, 2021, at 04:03 PM by [[~jrmu]]: [==]%0a* [[Debian.Nginxphpfpm]]  . . . October 29, 2021, at 12:26 PM by [[~monaco]]: [==]%0a* [[Debian.Nginx]]  . . . October 29, 2021, at 12:18 PM by [[~monaco]]: [==]%0a* [[Vmm.Homerouter]]  . . . October 26, 2021, at 05:08 PM by [[~jrmu]]: [==]%0a* [[9.Netcat]]  . . . October 25, 2021, at 03:40 PM by [[~jrmu]]: [==]%0a* [[9.Plan9ini]]  . . . October 24, 2021, at 04:30 PM by [[~jrmu]]: [==]%0a* [[Iked.Newconfig]]  . . . October 24, 2021, at 03:49 PM by [[~tool]]: [==]%0a* [[Lua.Minetest-1]]  . . . October 24, 2021, at 10:30 AM by [[~debiankaios]]: [==]%0a* [[9.Links]]  . . . October 24, 2021, at 06:29 AM by [[~mkf]]: [==]%0a* [[9.Keybindings]]  . . . October 24, 2021, at 06:15 AM by [[~mkf]]: [=heheheheheh=]%0a* [[Xdefaults.Configure]]  . . . October 23, 2021, at 02:40 PM by [[~jrmu]]: [==]%0a* [[TigerVNC.SSH]]  . . . October 23, 2021, at 11:56 AM by [[~Hawk]]: [==]%0a* [[9.Ssh]]  . . . October 22, 2021, at 12:54 AM by [[~jrmu]]: [==]%0a* [[Vmm.Devuan4Iso]]  . . . October 21, 2021, at 04:29 PM by [[~debiankaios]]: [=changed beowulf_3.1.1 to chimaera_4.0.0=]%0a* [[9.101]]  . . . October 20, 2021, at 04:53 PM by [[~jrmu]]: [==]%0a* [[Fvwm.Configure]]  . . . October 18, 2021, at 10:20 AM by [[~jrmu]]: [==]%0a* [[KISSmo.KISSmo]]  . . . October 18, 2021, at 09:58 AM by [[~monaco]]: [==]%0a* [[KISSmo.Download]]  . . . October 18, 2021, at 09:53 AM by [[~monaco]]: [==]%0a* [[KISSmo.About]]  . . . October 18, 2021, at 09:52 AM by [[~monaco]]: [==]%0a* [[KISSmo.Install]]  . . . October 18, 2021, at 09:44 AM by [[~monaco]]: [==]%0a* [[Cvs.Repo]]  . . . October 17, 2021, at 08:32 AM by [[~jrmu]]: [==]%0a* [[Cvs.Anoncvs]]  . . . October 17, 2021, at 04:00 AM by [[~jrmu]]: [==]%0a* [[Cvs.Commit]]  . . . October 17, 2021, at 03:58 AM by [[~jrmu]]: [==]%0a* [[Cvs.Cvsweb]]  . . . October 17, 2021, at 03:28 AM by [[~jrmu]]: [==]%0a* [[9.Cvsfs]]  . . . October 15, 2021, at 12:58 PM by [[~mkf]]: [==]%0a* [[Openbsd.Sysupgrade70]]  . . . October 15, 2021, at 11:02 AM by [[~mkf]]: [=humans are easily confused.=]%0a* [[Openbsd.Ilines]]  . . . October 15, 2021, at 02:36 AM by [[~jrmu]]: [==]%0a* [[Vmm.Devuan-ISO]]  . . . October 14, 2021, at 09:50 AM by [[~siva]]: [==]%0a* [[Vmm.Devuan-Simple]]  . . . October 14, 2021, at 09:48 AM by [[~siva]]: [=Tutorial Created=]%0a* [[Cvs.Intro]]  . . . October 13, 2021, at 03:49 PM by [[~jrmu]]: [==]%0a* [[Synapse.Install]]  . . . October 12, 2021, at 02:49 PM by [[~miniontoby]]: [=Created=]%0a* [[Ircnow.Oper]]  . . . October 12, 2021, at 03:02 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Diversity]]  . . . October 09, 2021, at 02:56 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Linux]]  . . . October 08, 2021, at 04:51 AM by [[~jrmu]]: [==]%0a* [[OpenBSD.ResetPassword]]  . . . October 07, 2021, at 03:56 AM by [[~jrmu]]: [==]%0a* [[Terms.Vps]]  . . . October 06, 2021, at 12:30 AM by [[~jrmu]]: [==]%0a* [[9.JSDrawterm]]  . . . September 30, 2021, at 06:06 PM by [[~jrmu]]: [==]%0a* [[9.Fonts]]  . . . September 28, 2021, at 05:13 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Install69]]  . . . September 27, 2021, at 05:59 PM by [[~jrmu]]: [==]%0a* [[Cvs.Guide]]  . . . September 26, 2021, at 02:28 PM by [[~Miniontoby]]: [==]%0a* [[License.IrcnowV2]]  . . . September 21, 2021, at 03:53 AM by [[~jrmu]]: [==]%0a* [[Dhcpd.Configure]]  . . . September 15, 2021, at 04:02 PM by [[~jrmu]]: [==]%0a* [[Vmm.Router]]  . . . September 14, 2021, at 12:11 PM by [[~jrmu]]: [==]%0a* [[Weechat.Relay]]  . . . September 11, 2021, at 05:46 PM by [[~mkf]]: [==]%0a* [[Gry.Bio]]  . . . September 11, 2021, at 02:49 AM by [[~jrmu]]: [==]%0a* [[Hopm.Telnet]]  . . . September 10, 2021, at 06:13 AM by [[~mkf]]: [==]%0a* [[Wraith.Chroot]]  . . . September 10, 2021, at 06:11 AM by [[~mkf]]: [==]%0a* [[ZNC.Skins]]  . . . September 06, 2021, at 07:58 AM by [[~mkf]]: [="Huh, pmwiki has a bug." no numbered list if use monospaced text. :(=]%0a* [[Seamonkey.Connect]]  . . . August 28, 2021, at 01:05 PM by [[~mkf]]: [==]%0a* [[Debate.Wikistyle]]  . . . August 27, 2021, at 03:29 PM by [[~mkf]]: [==]%0a* [[Email.EmailAndroidEmailApp]]  . . . August 27, 2021, at 02:37 PM by [[~mkf]]: [==]%0a* [[Tmux.Shortcuts]]  . . . August 27, 2021, at 12:56 PM by [[~mkf]]: [==]%0a* [[Vmm.Haiku]]  . . . August 27, 2021, at 12:53 PM by [[~mkf]]: [==]%0a* [[Openbsd.Mailopenproxy]]  . . . August 25, 2021, at 08:19 PM by [[~mkf]]: [==]%0a* [[Openbsd.Two-FactorAuth]]  . . . August 23, 2021, at 07:39 PM by [[~mkf]]: [=login.db compiling is no longer recommended.=]%0a* [[Vmm.DragonflyBSD]]  . . . August 23, 2021, at 07:31 PM by [[~mkf]]: [=logs=]%0a* [[Vmm.NetBSD]]  . . . August 23, 2021, at 07:01 PM by [[~mkf]]: [=better logs?=]%0a* [[Mariadb.Install]]  . . . August 23, 2021, at 04:42 PM by [[~wiz]]: [==]%0a* [[DNS.Ipv6rDNS]]  . . . August 23, 2021, at 11:55 AM by [[~jrmu]]: [==]%0a* [[Pipes.Redirection]]  . . . August 23, 2021, at 03:50 AM by [[~jrmu]]: [==]%0a* [[Ksh.Redirection]]  . . . August 23, 2021, at 03:50 AM by [[~jrmu]]: [==]%0a* [[Rbldnsd.Install]]  . . . August 22, 2021, at 07:58 PM by [[~mkf]]: [=wiki-ish.=]%0a* [[Netcat.Smtp]]  . . . August 22, 2021, at 06:58 PM by [[~mkf]]: [=byebye=]%0a* [[Vmm.UbuntuIso]]  . . . August 22, 2021, at 06:40 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Npppd]]  . . . August 21, 2021, at 01:43 PM by [[~mkf]]: [==]%0a* [[Shell.Shell]]  . . . August 21, 2021, at 11:42 AM by [[~jrmu]]: [==]%0a* [[Tls.CA]]  . . . August 21, 2021, at 11:10 AM by [[~jrmu]]: [==]%0a* [[Openssl.Imap]]  . . . August 21, 2021, at 04:05 AM by [[~AncientWisdom]]: [==]%0a* [[Ircnow.Todo]]  . . . August 17, 2021, at 08:41 AM by [[~mkf]]: [==]%0a* [[Vmm.GuixIso]]  . . . August 16, 2021, at 05:12 PM by [[~jrmu]]: [==]%0a* [[Vmm.VoidIso]]  . . . August 16, 2021, at 06:19 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Gophernicus]]  . . . August 15, 2021, at 02:06 AM by [[~mkf]]: [==]%0a* [[Gazette.Gazette]]  . . . August 15, 2021, at 01:14 AM by [[~mkf]]: [=a bit polishing=]%0a* [[EmailTray.Connect]]  . . . August 15, 2021, at 12:11 AM by [[~mkf]]: [==]%0a* [[Bouncer.Konversation]]  . . . August 14, 2021, at 02:46 PM by [[~mkf]]: [==]%0a* [[Squirrelmail.Connect]]  . . . August 14, 2021, at 04:47 AM by [[~mkf]]: [==]%0a* [[Termius.Connect]]  . . . August 14, 2021, at 04:42 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Openhttpd]]  . . . August 13, 2021, at 07:29 AM by [[~jrmu]]: [==]%0a* [[ConnectBot.Keys]]  . . . August 12, 2021, at 06:58 AM by [[~jrmu]]: [==]%0a* [[Debate.Monopolydanger]]  . . . August 11, 2021, at 07:01 PM by [[~mkf]]: [==]%0a* [[ConnectBot.Connect]]  . . . August 11, 2021, at 04:34 PM by [[~jrmu]]: [==]%0a* [[Termux.Connect]]  . . . August 11, 2021, at 05:28 AM by [[~jrmu]]: [==]%0a* [[Web101.Web101]]  . . . August 10, 2021, at 04:20 PM by [[~craziness]]: [=started web101=]%0a* [[Openbsd.Bitlbee]]  . . . August 10, 2021, at 12:03 PM by [[~mkf]]: [==]%0a* [[Openbsd.Pppoe]]  . . . August 10, 2021, at 11:56 AM by [[~mkf]]: [==]%0a* [[MacTerminal.Connect]]  . . . August 10, 2021, at 10:33 AM by [[~jrmu]]: [==]%0a* [[OpenSSH.Connect]]  . . . August 10, 2021, at 10:19 AM by [[~jrmu]]: [==]%0a* [[Fdroid.Install]]  . . . August 10, 2021, at 09:05 AM by [[~jrmu]]: [==]%0a* [[Shell.Sshfingerprints]]  . . . August 10, 2021, at 08:55 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Sshkeys]]  . . . August 09, 2021, at 04:42 PM by [[~jrmu]]: [==]%0a* [[Vmm.9front]]  . . . August 09, 2021, at 06:16 AM by [[~mkf]]: [==]%0a* [[Bouncer.WinIRC]]  . . . August 09, 2021, at 06:03 AM by [[~mkf]]: [==]%0a* [[IP.Myaddress]]  . . . August 07, 2021, at 05:14 PM by [[~jrmu]]: [==]%0a* [[SerFISH.Connect]]  . . . August 06, 2021, at 05:05 PM by [[~jrmu]]: [==]%0a* [[Sshwifty.Connect]]  . . . August 06, 2021, at 05:00 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Squirrelmail]]  . . . August 06, 2021, at 10:32 AM by [[~baytuch]]: [==]%0a* [[Eggdrop.NickServ]]  . . . August 05, 2021, at 07:27 AM by [[~jrmu]]: [==]%0a* [[Medals.Intro]]  . . . August 04, 2021, at 08:34 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Dnszones]]  . . . August 03, 2021, at 09:26 AM by [[~jrmu]]: [==]%0a* [[Dns.Zonefile]]  . . . August 03, 2021, at 09:21 AM by [[~jrmu]]: [==]%0a* [[Irc.Clients]]  . . . August 02, 2021, at 02:54 PM by [[~mkf]]: [==]%0a* [[Minutemin.Ifconfig]]  . . . August 02, 2021, at 12:59 PM by [[~mkf]]: [==]%0a* [[Openbsd.Matterbridge]]  . . . August 02, 2021, at 12:33 PM by [[~mkf]]: [==]%0a* [[Znc.I18n]]  . . . August 02, 2021, at 09:12 AM by [[~mkf]]: [==]%0a* [[Almanack.Alt]]  . . . August 02, 2021, at 07:52 AM by [[~jrmu]]: [==]%0a* [[Eggdrop.Simple]]  . . . August 02, 2021, at 07:49 AM by [[~jrmu]]: [==]%0a* [[Eggdrop.Install]]  . . . August 02, 2021, at 05:11 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Vhost]]  . . . August 02, 2021, at 02:32 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Hardware]]  . . . August 01, 2021, at 01:48 PM by [[~jrmu]]: [==]%0a* [[Thunderirc.Hardware]]  . . . August 01, 2021, at 01:47 PM by [[~jrmu]]: [==]%0a* [[Planetofnix.Hardware]]  . . . August 01, 2021, at 01:46 PM by [[~jrmu]]: [==]%0a* [[Bsdforall.Hardware]]  . . . August 01, 2021, at 01:45 PM by [[~jrmu]]: [==]%0a* [[Oddprotocol.Hardware]]  . . . August 01, 2021, at 01:28 PM by [[~jrmu]]: [==]%0a* [[Lecturify.Hardware]]  . . . August 01, 2021, at 01:27 PM by [[~jrmu]]: [==]%0a* [[Congress.Procedure]]  . . . August 01, 2021, at 06:41 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Chroot]]  . . . July 31, 2021, at 02:47 AM by [[~jrmu]]: [==]%0a* [[Syslogd.Remote]]  . . . July 30, 2021, at 03:30 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Vmmuser]]  . . . July 29, 2021, at 05:31 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Vmminstall]]  . . . July 29, 2021, at 05:28 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Vmm]]  . . . July 29, 2021, at 05:24 AM by [[~jrmu]]: [==]%0a* [[Openbsd.ZNCAdmin]]  . . . July 28, 2021, at 06:14 AM by [[~jrmu]]: [==]%0a* [[Openbsd.ZNCSupport]]  . . . July 28, 2021, at 06:14 AM by [[~jrmu]]: [==]%0a* [[ZNC.Troubleshoot]]  . . . July 28, 2021, at 06:12 AM by [[~jrmu]]: [==]%0a* [[Znc.Troubleshoot]]  . . . July 28, 2021, at 06:11 AM by [[~jrmu]]: [==]%0a* [[Kill.Usage]]  . . . July 28, 2021, at 03:42 AM by [[~jrmu]]: [==]%0a* [[Ps.Usage]]  . . . July 28, 2021, at 03:42 AM by [[~jrmu]]: [==]%0a* [[Dns.Vhost]]  . . . July 28, 2021, at 03:05 AM by [[~jrmu]]: [==]%0a* [[Host.Usage]]  . . . July 28, 2021, at 01:57 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Php]]  . . . July 27, 2021, at 02:53 PM by [[~jrmu]]: [==]%0a* [[UsersCategoryMirrory.IRCFreeHomesteadVPS]]  . . . July 26, 2021, at 06:12 AM by [[~category_mirror]]: [==]%0a* [[Ircnow.PioneerTldr]]  . . . July 26, 2021, at 06:04 AM by [[~jrmu]]: [==]%0a* [[UsersCategoryMirrory.Pioneer]]  . . . July 26, 2021, at 04:22 AM by [[~category_mirror]]: [==]%0a* [[Openbsd.Dig]]  . . . July 25, 2021, at 06:50 AM by [[~jrmu]]: [==]%0a* [[Openbsd.RDNS]]  . . . July 23, 2021, at 06:44 AM by [[~jrmu]]: [==]%0a* [[Wordpress.Install]]  . . . July 21, 2021, at 06:59 PM by [[~mkf]]: [==]%0a* [[Bouncer.All]]  . . . July 21, 2021, at 06:37 PM by [[~mkf]]: [==]%0a* [[Lemon.Todo]]  . . . July 21, 2021, at 06:21 PM by [[~mkf]]: [==]%0a* [[Irc.Guide]]  . . . July 21, 2021, at 06:02 PM by [[~mkf]]: [=client -> clients=]%0a* [[Openbsd.Sic]]  . . . July 21, 2021, at 05:57 PM by [[~mkf]]: [=first edit.=]%0a* [[Minutemin.Progress]]  . . . July 21, 2021, at 08:10 AM by [[~jrmu]]: [==]%0a* [[Openssl.Check]]  . . . July 20, 2021, at 01:27 PM by [[~jrmu]]: [==]%0a* [[Rsync.Usage]]  . . . July 19, 2021, at 02:30 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Openrsync]]  . . . July 18, 2021, at 02:01 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Znc]]  . . . July 16, 2021, at 10:43 AM by [[~jrmu]]: [==]%0a* [[Netizen.Become]]  . . . July 14, 2021, at 09:47 AM by [[~jrmu]]: [==]%0a* [[Freedom.Bearcode]]  . . . July 14, 2021, at 09:42 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Staticnet]]  . . . July 12, 2021, at 05:48 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Dovecot]]  . . . July 12, 2021, at 02:58 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Relayd]]  . . . July 12, 2021, at 02:45 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Spf]]  . . . July 12, 2021, at 03:08 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Eggdrop]]  . . . July 02, 2021, at 03:20 AM by [[~jrmu]]: [==]%0a* [[Openssl.Http]]  . . . June 30, 2021, at 04:44 AM by [[~mkf]]: [==]%0a* [[Debate.Oldsoftware]]  . . . June 29, 2021, at 03:56 PM by [[~mkf]]: [==]%0a* [[Debate.Xmlflaws]]  . . . June 29, 2021, at 03:54 PM by [[~mkf]]: [==]%0a* [[Debate.Wikipediadanger]]  . . . June 29, 2021, at 03:51 PM by [[~mkf]]: [==]%0a* [[Debate.DCC]]  . . . June 29, 2021, at 03:49 PM by [[~mkf]]: [==]%0a* [[Debate.Matrixflaws]]  . . . June 29, 2021, at 03:48 PM by [[~mkf]]: [==]%0a* [[Debate.Webirc]]  . . . June 29, 2021, at 03:48 PM by [[~mkf]]: [==]%0a* [[Debate.Nodejstrap]]  . . . June 29, 2021, at 03:48 PM by [[~mkf]]: [==]%0a* [[Debate.Ircv3defense]]  . . . June 29, 2021, at 03:45 PM by [[~mkf]]: [==]%0a* [[Openbsd.Newdisk]]  . . . June 29, 2021, at 03:23 PM by [[~jrmu]]: [==]%0a* [[AndroidEmail.AndroidEmail]]  . . . June 29, 2021, at 03:11 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Ed]]  . . . June 28, 2021, at 04:04 PM by [[~mkf]]: [==]%0a* [[Openbsd.Unbound]]  . . . June 27, 2021, at 12:12 PM by [[~jrmu]]: [==]%0a* [[Freedom.Religion]]  . . . June 27, 2021, at 02:02 AM by [[~jrmu]]: [==]%0a* [[Freedom.Union]]  . . . June 26, 2021, at 01:01 PM by [[~jrmu]]: [==]%0a* [[Freedom.Firstamendment]]  . . . June 26, 2021, at 11:45 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Dkimproxy]]  . . . June 25, 2021, at 12:56 PM by [[~jrmu]]: [==]%0a* [[MIF.Test]]  . . . June 25, 2021, at 12:42 PM by [[~nsturtz]]: [==]%0a* [[Openbsd.Sysupgrade69]]  . . . June 25, 2021, at 05:46 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Opensmtpd]]  . . . June 23, 2021, at 02:21 AM by [[~jrmu]]: [==]%0a* [[Openbsd.NgircdLink]]  . . . June 22, 2021, at 07:50 PM by [[~mkf]]: [=delete=]%0a* [[File.File]]  . . . June 22, 2021, at 07:43 PM by [[~mkf]]: [=linking=]%0a* [[Debate.Linuxflaws]]  . . . June 20, 2021, at 08:03 AM by [[~mkf]]: [=making hyperlinks=]%0a* [[Freedom.Destiny]]  . . . June 18, 2021, at 05:31 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Doas]]  . . . June 13, 2021, at 01:19 PM by [[~jrmu]]: [==]%0a* [[Freedom.Freedom]]  . . . June 13, 2021, at 09:13 AM by [[~jrmu]]: [==]%0a* [[Freedom.Press]]  . . . June 13, 2021, at 09:12 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Shell]]  . . . June 11, 2021, at 09:36 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Constitution]]  . . . June 10, 2021, at 03:48 PM by [[~jrmu]]: [==]%0a* [[Netizen.Rights]]  . . . June 10, 2021, at 03:21 PM by [[~jrmu]]: [==]%0a* [[IPv4.Overview]]  . . . June 10, 2021, at 10:13 AM by [[~jrmu]]: [==]%0a* [[Ksh.Bash]]  . . . June 09, 2021, at 11:31 AM by [[~jrmu]]: [==]%0a* [[PowerShell.Connect]]  . . . June 09, 2021, at 11:10 AM by [[~jrmu]]: [==]%0a* [[Code.Code]]  . . . June 08, 2021, at 05:24 PM by [[~mkf]]: [=better formating=]%0a* [[Grape.DonateUs]]  . . . June 06, 2021, at 03:41 PM by [[~fizi]]: [==]%0a* [[Openbsd.Books]]  . . . June 06, 2021, at 12:46 PM by [[~jrmu]]: [==]%0a* [[Grape.Grape]]  . . . June 06, 2021, at 11:39 AM by [[~fizi]]: [==]%0a* [[Openbsd.Pfa]]  . . . June 06, 2021, at 03:49 AM by [[~navic]]: [==]%0a* [[Vmm.Debian]]  . . . June 04, 2021, at 07:48 PM by [[~mkf]]: [="LOL"=]%0a* [[DNS.Dnswl]]  . . . June 04, 2021, at 11:11 AM by [[~jrmu]]: [==]%0a* [[Netcat.SMTP]]  . . . June 04, 2021, at 09:59 AM by [[~jrmu]]: [==]%0a* [[Dkim.Dkimsign]]  . . . June 04, 2021, at 09:07 AM by [[~jrmu]]: [==]%0a* [[Tor.Torsocks]]  . . . June 04, 2021, at 06:16 AM by [[~jrmu]]: [==]%0a* [[Vpn.VpnMac]]  . . . June 04, 2021, at 05:40 AM by [[~jrmu]]: [==]%0a* [[Fdisk.Usage]]  . . . June 04, 2021, at 05:04 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Wordpress]]  . . . June 04, 2021, at 04:55 AM by [[~jrmu]]: [==]%0a* [[DNS.SPF]]  . . . June 03, 2021, at 01:27 PM by [[~jrmu]]: [==]%0a* [[HostServ.Rules]]  . . . June 01, 2021, at 08:11 AM by [[~jrmu]]: [==]%0a* [[Openbsd.ACKFlood]]  . . . May 29, 2021, at 06:20 AM by [[~mkf]]: [==]%0a* [[Openbsd.SSDP]]  . . . May 29, 2021, at 06:18 AM by [[~mkf]]: [==]%0a* [[Openbsd.Anycast]]  . . . May 29, 2021, at 06:01 AM by [[~mkf]]: [==]%0a* [[Ambassador.Networks]]  . . . May 27, 2021, at 04:05 PM by [[~jrmu]]: [==]%0a* [[Marketing.Rules]]  . . . May 26, 2021, at 06:15 AM by [[~jrmu]]: [==]%0a* [[Freenode.Power]]  . . . May 26, 2021, at 04:38 AM by [[~jrmu]]: [==]%0a* [[Freenode.Money]]  . . . May 25, 2021, at 03:29 PM by [[~jrmu]]: [==]%0a* [[Freenode.Takeover]]  . . . May 25, 2021, at 05:28 AM by [[~jrmu]]: [==]%0a* [[Freedom.Freenode]]  . . . May 25, 2021, at 01:48 AM by [[~jrmu]]: [==]%0a* [[Bouncer.Atomic]]  . . . May 24, 2021, at 03:22 PM by [[~mkf]]: [=spacing=]%0a* [[Minetest.Updating]]  . . . May 24, 2021, at 08:10 AM by [[~mkf]]: [=monospaced commands=]%0a* [[Shell.Putty]]  . . . May 24, 2021, at 06:16 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Dmarc]]  . . . May 21, 2021, at 09:22 AM by [[~jrmu]]: [==]%0a* [[Vmm.Optimize]]  . . . May 19, 2021, at 04:04 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Stable]]  . . . May 18, 2021, at 10:15 AM by [[~mkf]]: [==]%0a* [[Ircnow.VicePresident]]  . . . May 18, 2021, at 08:15 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Sheriff]]  . . . May 18, 2021, at 08:00 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Ambassador]]  . . . May 18, 2021, at 07:42 AM by [[~jrmu]]: [==]%0a* [[Pf.Guide]]  . . . May 17, 2021, at 03:37 AM by [[~bejelentkezni]]: [==]%0a* [[Openbsd.Disklabel]]  . . . May 17, 2021, at 03:33 AM by [[~bejelentkezni]]: [==]%0a* [[Openbsd.Fdisk]]  . . . May 17, 2021, at 03:27 AM by [[~bejelentkezni]]: [==]%0a* [[NewsNow.Install]]  . . . May 16, 2021, at 06:49 AM by [[~mkf]]: [="$"=]%0a* [[Tmux.Share]]  . . . May 15, 2021, at 02:27 AM by [[~mistera]]: [==]%0a* [[Openbsd.Security]]  . . . May 14, 2021, at 03:14 AM by [[~caesar]]: [==]%0a* [[Bouncer.Vision]]  . . . May 13, 2021, at 09:47 AM by [[~mkf]]: [=added home page, removed "..."s=]%0a* [[Minetest.Worldbackup]]  . . . May 12, 2021, at 11:02 AM by [[~AES]]: [==]%0a* [[Minetest.Texturestyle]]  . . . May 12, 2021, at 11:00 AM by [[~AES]]: [==]%0a* [[Minetest.Serverlocations]]  . . . May 12, 2021, at 10:59 AM by [[~AES]]: [==]%0a* [[Minetest.Addingarenas]]  . . . May 12, 2021, at 10:58 AM by [[~jrmu]]: [==]%0a* [[Relay.Relay]]  . . . May 12, 2021, at 09:10 AM by [[~jrmu]]: [==]%0a* [[Ngircd.Install-bej]]  . . . May 11, 2021, at 05:26 AM by [[~bejelentkezni]]: [==]%0a* [[Openbsd.Hopm-Arthur]]  . . . May 07, 2021, at 12:28 PM by [[~Arthur]]: [==]%0a* [[Znc.Chroot69]]  . . . May 06, 2021, at 03:36 AM by [[~bejelentkezni]]: [=back to 6.9 to see real changes=]%0a* [[Dig.Usage]]  . . . May 04, 2021, at 02:36 AM by [[~sarah]]: [==]%0a* [[Bgpd.Configure]]  . . . May 03, 2021, at 06:26 AM by [[~jrmu]]: [==]%0a* [[Freedom.Unix]]  . . . April 29, 2021, at 03:39 PM by [[~jrmu]]: [==]%0a* [[Pmwiki.Simpleurl]]  . . . April 29, 2021, at 02:46 PM by [[~punk]]: [==]%0a* [[Gpl.Flaws]]  . . . April 24, 2021, at 04:56 PM by [[~jrmu]]: [==]%0a* [[Iked.Windows]]  . . . April 18, 2021, at 07:38 PM by [[~st13g]]: [==]%0a* [[Freedom.Libertyordeath]]  . . . April 17, 2021, at 12:35 PM by [[~jrmu]]: [==]%0a* [[Minetest.Economy]]  . . . April 15, 2021, at 02:32 PM by [[~jrmu]]: [==]%0a* [[Vim.Vim]]  . . . April 11, 2021, at 11:14 PM by [[~monaco]]: [==]%0a* [[Minutemin.Duty]]  . . . April 11, 2021, at 04:53 AM by [[~jrmu]]: [==]%0a* [[License.License]]  . . . April 04, 2021, at 02:00 AM by [[~jrmu]]: [==]%0a* [[EthicalSource.HolierThanThou]]  . . . April 04, 2021, at 01:56 AM by [[~jrmu]]: [==]%0a* [[Jrmu.Rmsboycott]]  . . . April 03, 2021, at 01:36 AM by [[~jrmu]]: [==]%0a* [[Jrmu.Libertyordeath]]  . . . April 02, 2021, at 12:56 PM by [[~jrmu]]: [==]%0a* [[Fig.Fig]]  . . . March 31, 2021, at 10:15 AM by [[~chewy]]: [==]%0a* [[Coconut.Coconut]]  . . . March 29, 2021, at 12:28 PM by [[~jrmu]]: [==]%0a* [[Ircnow.CodeForce]]  . . . March 29, 2021, at 12:04 PM by [[~jrmu]]: [==]%0a* [[ClawsMail.Connect]]  . . . March 29, 2021, at 08:42 AM by [[~miniontoby]]: [==]%0a* [[Freedom.Madeonirc]]  . . . March 27, 2021, at 11:48 AM by [[~jrmu]]: [==]%0a* [[Third.Devs]]  . . . March 27, 2021, at 11:41 AM by [[~jrmu]]: [==]%0a* [[Minutemin.Code]]  . . . March 24, 2021, at 03:26 AM by [[~jrmu]]: [==]%0a* [[Cherry.Todo]]  . . . March 23, 2021, at 03:23 PM by [[~Oz]]: [==]%0a* [[Freedom.Independence]]  . . . March 22, 2021, at 01:13 PM by [[~wiz]]: [==]%0a* [[Ifconfig.Change]]  . . . March 20, 2021, at 11:15 AM by [[~jrmu]]: [==]%0a* [[Marketing.Founders]]  . . . March 20, 2021, at 01:40 AM by [[~jrmu]]: [==]%0a* [[NewsNow.Teams]]  . . . March 18, 2021, at 09:47 AM by [[~miniontoby]]: [=banana=]%0a* [[Vhost.Freedns]]  . . . March 16, 2021, at 12:22 PM by [[~wiz]]: [==]%0a* [[Marketing.Freedom]]  . . . March 15, 2021, at 01:30 PM by [[~jrmu]]: [==]%0a* [[Bsd.Labor]]  . . . March 15, 2021, at 06:12 AM by [[~jrmu]]: [==]%0a* [[License.Discriminatory]]  . . . March 15, 2021, at 06:12 AM by [[~jrmu]]: [==]%0a* [[Bsd.Hope]]  . . . March 14, 2021, at 11:05 PM by [[~jrmu]]: [==]%0a* [[License.Publicdomain]]  . . . March 14, 2021, at 10:02 AM by [[~jrmu]]: [==]%0a* [[Linux.Flaws]]  . . . March 14, 2021, at 05:13 AM by [[~jrmu]]: [==]%0a* [[NewsNow.Browser]]  . . . March 12, 2021, at 08:00 AM by [[~miniontoby]]: [==]%0a* [[Abuse.Code]]  . . . March 09, 2021, at 03:44 PM by [[~jrmu]]: [==]%0a* [[Congress.Documents]]  . . . March 07, 2021, at 04:50 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Goals]]  . . . March 06, 2021, at 09:33 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Chatforce]]  . . . March 05, 2021, at 02:15 PM by [[~jrmu]]: [==]%0a* [[Shell.Bash]]  . . . March 05, 2021, at 10:19 AM by [[~jrmu]]: [==]%0a* [[User.Welcome]]  . . . March 05, 2021, at 07:34 AM by [[~jrmu]]: [==]%0a* [[Immigrant.Welcome]]  . . . March 05, 2021, at 06:59 AM by [[~jrmu]]: [==]%0a* [[Mail.Openrelay]]  . . . March 04, 2021, at 03:20 PM by [[~jrmu]]: [==]%0a* [[Mail.Test]]  . . . March 04, 2021, at 03:07 PM by [[~jrmu]]: [==]%0a* [[Minutemin.Game]]  . . . March 04, 2021, at 10:16 AM by [[~jrmu]]: [==]%0a* [[Marketing.Recruit]]  . . . March 04, 2021, at 09:39 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Howtoask]]  . . . March 03, 2021, at 12:35 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Netizen]]  . . . February 28, 2021, at 03:18 PM by [[~jrmu]]: [==]%0a* [[Servers.Rights]]  . . . February 28, 2021, at 12:37 PM by [[~jrmu]]: [==]%0a* [[Marketing.Enterprise]]  . . . February 28, 2021, at 11:52 AM by [[~jrmu]]: [==]%0a* [[Minutemin.Creed]]  . . . February 28, 2021, at 03:21 AM by [[~jrmu]]: [==]%0a* [[Ln.Intro]]  . . . February 25, 2021, at 12:20 PM by [[~jrmu]]: [==]%0a* [[Leafnode.Install]]  . . . February 25, 2021, at 10:56 AM by [[~jrmu]]: [==]%0a* [[Guava.Todo]]  . . . February 23, 2021, at 10:47 AM by [[~quofan]]: [==]%0a* [[Relays.Relays]]  . . . February 22, 2021, at 04:22 PM by [[~jrmu]]: [==]%0a* [[PSFTP.Connect]]  . . . February 21, 2021, at 03:57 PM by [[~jrmu]]: [==]%0a* [[Outlook.Connect]]  . . . February 21, 2021, at 03:23 PM by [[~jrmu]]: [==]%0a* [[AppleMail.Connect]]  . . . February 20, 2021, at 04:38 PM by [[~jrmu]]: [==]%0a* [[Thunderbird.Pgp]]  . . . February 19, 2021, at 04:44 PM by [[~jrmu]]: [==]%0a* [[License.Ircnow]]  . . . February 19, 2021, at 09:45 AM by [[~miniontoby]]: [=2021=]%0a* [[Thunderbird.Connect]]  . . . February 19, 2021, at 09:36 AM by [[~jrmu]]: [==]%0a* [[Shell.Mac]]  . . . February 19, 2021, at 09:14 AM by [[~jrmu]]: [==]%0a* [[Minutemin.Training]]  . . . February 18, 2021, at 06:42 AM by [[~jrmu]]: [==]%0a* [[Freedom.Openforeveryone]]  . . . February 16, 2021, at 04:33 AM by [[~jrmu]]: [==]%0a* [[Ircnow.IRCitizen]]  . . . February 15, 2021, at 05:32 AM by [[~jrmu]]: [==]%0a* [[IPv6.Overview]]  . . . February 14, 2021, at 11:09 AM by [[~jrmu]]: [==]%0a* [[Tcpip.Overview]]  . . . February 14, 2021, at 11:02 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Syspatch]]  . . . February 14, 2021, at 11:00 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Netadmin]]  . . . February 14, 2021, at 10:56 AM by [[~jrmu]]: [==]%0a* [[Marketing.Religion]]  . . . February 14, 2021, at 10:37 AM by [[~jrmu]]: [==]%0a* [[Marketing.Independence]]  . . . February 13, 2021, at 04:59 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Leafnode]]  . . . February 12, 2021, at 01:40 PM by [[~chewy]]: [==]%0a* [[Oidentd.Pylink]]  . . . February 12, 2021, at 01:25 PM by [[~jrmu]]: [==]%0a* [[Marketing.Opportunity]]  . . . February 11, 2021, at 12:58 PM by [[~jrmu]]: [==]%0a* [[Marketing.Republic]]  . . . February 11, 2021, at 06:45 AM by [[~jrmu]]: [==]%0a* [[Achurch.Install]]  . . . February 10, 2021, at 04:33 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Pylink]]  . . . February 08, 2021, at 08:33 AM by [[~jrmu]]: [==]%0a* [[Ircnow.OpofLiberty]]  . . . February 06, 2021, at 12:53 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Allies]]  . . . February 06, 2021, at 12:47 PM by [[~jrmu]]: [==]%0a* [[Freedom.Dueprocess]]  . . . February 06, 2021, at 12:25 PM by [[~jrmu]]: [==]%0a* [[Freedom.Checks]]  . . . February 06, 2021, at 12:21 PM by [[~jrmu]]: [==]%0a* [[Freedom.Rulebylaw]]  . . . February 06, 2021, at 12:12 PM by [[~jrmu]]: [==]%0a* [[Freedom.Startupdream]]  . . . February 06, 2021, at 12:12 PM by [[~jrmu]]: [==]%0a* [[Freedom.Federation]]  . . . February 06, 2021, at 11:44 AM by [[~jrmu]]: [==]%0a* [[Freedom.Selfadmin]]  . . . February 06, 2021, at 11:26 AM by [[~jrmu]]: [==]%0a* [[Ircnow.OpsofLiberty]]  . . . February 06, 2021, at 02:13 AM by [[~jrmu]]: [==]%0a* [[Freedom.Homestead]]  . . . February 05, 2021, at 12:49 PM by [[~jrmu]]: [==]%0a* [[Freedom.Software]]  . . . February 05, 2021, at 11:31 AM by [[~jrmu]]: [==]%0a* [[Freedom.Opportunity]]  . . . February 05, 2021, at 08:55 AM by [[~jrmu]]: [==]%0a* [[Unix.Workethic]]  . . . February 05, 2021, at 08:49 AM by [[~jrmu]]: [==]%0a* [[Unix.Ethic]]  . . . February 05, 2021, at 08:48 AM by [[~jrmu]]: [==]%0a* [[Debate.Privacy]]  . . . February 05, 2021, at 07:05 AM by [[~jrmu]]: [==]%0a* [[Team.Policy]]  . . . February 04, 2021, at 04:08 PM by [[~jrmu]]: [==]%0a* [[Freedom.Serversrights]]  . . . February 04, 2021, at 02:43 PM by [[~jrmu]]: [==]%0a* [[Freedom.Serverrights]]  . . . February 04, 2021, at 02:42 PM by [[~jrmu]]: [==]%0a* [[Freedom.Fork]]  . . . February 04, 2021, at 02:39 PM by [[~jrmu]]: [==]%0a* [[Freedom.Lanofopportunity]]  . . . February 04, 2021, at 01:24 PM by [[~jrmu]]: [==]%0a* [[Freedom.Opentoall]]  . . . February 04, 2021, at 01:17 PM by [[~jrmu]]: [==]%0a* [[Freedom.Refuge]]  . . . February 04, 2021, at 09:31 AM by [[~jrmu]]: [==]%0a* [[Dns.Providers]]  . . . February 04, 2021, at 04:27 AM by [[~jrmu]]: [==]%0a* [[Guava.Guava]]  . . . February 03, 2021, at 02:30 AM by [[~st13g]]: [==]%0a* [[Openbsd.Stable]]  . . . February 02, 2021, at 02:25 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Base64]]  . . . February 02, 2021, at 06:37 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Unboundadblock]]  . . . February 02, 2021, at 04:29 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Pfbadhost]]  . . . February 02, 2021, at 04:29 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Wraith]]  . . . February 02, 2021, at 04:22 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Delphinusdnsd]]  . . . February 02, 2021, at 01:51 AM by [[~jrmu]]: [==]%0a* [[Mango.Mango]]  . . . January 31, 2021, at 12:01 PM by [[~nix]]: [==]%0a* [[Openbsd.Abuse]]  . . . January 31, 2021, at 05:33 AM by [[~jrmu]]: [==]%0a* [[Freedom.Censorship]]  . . . January 31, 2021, at 05:23 AM by [[~jrmu]]: [==]%0a* [[Debate.Firstamendment]]  . . . January 31, 2021, at 05:20 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Phishing]]  . . . January 31, 2021, at 05:02 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Audit]]  . . . January 31, 2021, at 04:46 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Ongoing]]  . . . January 31, 2021, at 01:19 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Partners]]  . . . January 31, 2021, at 12:32 AM by [[~jrmu]]: [==]%0a* [[Orange.Todo]]  . . . January 30, 2021, at 11:31 AM by [[~jrmu]]: [==]%0a* [[Pear.Pear]]  . . . January 29, 2021, at 06:09 PM by [[~dennis]]: [==]%0a* [[Openbsd.Httpopenproxy]]  . . . January 29, 2021, at 11:01 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Zncadmin]]  . . . January 29, 2021, at 10:00 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Rbldns]]  . . . January 29, 2021, at 05:45 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Setuid]]  . . . January 28, 2021, at 06:53 AM by [[~jrmu]]: [==]%0a* [[Openbsd.PFTesting]]  . . . January 25, 2021, at 03:28 PM by [[~jrmu]]: [==]%0a* [[Openbsd.ZNCDaily]]  . . . January 25, 2021, at 11:35 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Irssi]]  . . . January 25, 2021, at 07:08 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Sysadmins]]  . . . January 24, 2021, at 10:36 AM by [[~jrmu]]: [==]%0a* [[Debate.UnixPhilosophy]]  . . . January 18, 2021, at 05:05 AM by [[~category_mirror]]: [==]%0a* [[Openbsd.XTerm]]  . . . January 17, 2021, at 01:48 PM by [[~miniontoby]]: [=copyright=]%0a* [[UsersCategoryMirrory.Statement]]  . . . January 17, 2021, at 02:44 AM by [[~category_mirror]]: [==]%0a* [[Email.Outlook]]  . . . January 16, 2021, at 05:13 PM by [[~Zouheir]]: [==]%0a* [[Plum.Todo]]  . . . January 16, 2021, at 12:09 AM by [[~st13g]]: [==]%0a* [[Debate.Ipsec]]  . . . January 13, 2021, at 10:39 AM by [[~jrmu]]: [==]%0a* [[Plum.Plum]]  . . . January 12, 2021, at 03:02 PM by [[~wiz]]: [==]%0a* [[Openbsd.Slrn]]  . . . January 12, 2021, at 02:40 PM by [[~Noxturnix]]: [==]%0a* [[OpenBSD.CPAN]]  . . . January 12, 2021, at 01:48 PM by [[~Dima]]: [==]%0a* [[Jujube.Todo]]  . . . January 11, 2021, at 05:13 PM by [[~fizi]]: [==]%0a* [[Ircnow.Ilines]]  . . . January 11, 2021, at 09:55 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Netcat]]  . . . January 09, 2021, at 02:20 PM by [[~jrmu]]: [==]%0a* [[OpenBSD.Perl]]  . . . January 09, 2021, at 02:04 PM by [[~dima]]: [==]%0a* [[Openbsd.Perl]]  . . . January 09, 2021, at 01:52 PM by [[~jrmu]]: [==]%0a* [[Fig.Log]]  . . . January 07, 2021, at 11:23 AM by [[~dima]]: [=test=]%0a* [[Fig.Todo]]  . . . January 06, 2021, at 01:06 PM by [[~jrmu]]: [==]%0a* [[Grape.Todo]]  . . . January 06, 2021, at 01:05 PM by [[~jrmu]]: [==]%0a* [[Pear.Todo]]  . . . January 06, 2021, at 01:05 PM by [[~jrmu]]: [==]%0a* [[Jujube.Team]]  . . . January 06, 2021, at 01:04 PM by [[~jrmu]]: [==]%0a* [[Mango.Todo]]  . . . January 06, 2021, at 01:04 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Censorship]]  . . . January 06, 2021, at 03:01 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Pentesters]]  . . . January 05, 2021, at 11:17 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Coders]]  . . . January 05, 2021, at 11:11 AM by [[~jrmu]]: [==]%0a* [[Banana.Todo]]  . . . January 04, 2021, at 09:41 AM by [[~miniontoby]]: [=znc=]%0a* [[Users.CategoryMirrory]]  . . . January 04, 2021, at 01:10 AM by [[~category_mirror]]: [==]%0a* [[UsersCategoryMirrory.Test]]  . . . January 03, 2021, at 08:17 PM by [[~category_mirrory]]: [==]%0a* [[Users.Categorymirrory]]  . . . January 03, 2021, at 08:12 PM by [[~category_mirrory]]: [=wrong caps=]%0a* [[Banana.Banana]]  . . . January 03, 2021, at 02:39 PM by [[~miniontoby]]: [==]%0a* [[Orange.Orange]]  . . . January 03, 2021, at 02:10 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Backup]]  . . . January 03, 2021, at 01:46 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Backups]]  . . . January 02, 2021, at 11:44 AM by [[~jrmu]]: [==]%0a* [[Debate.Appledanger]]  . . . January 02, 2021, at 01:35 AM by [[~jrmu]]: [==]%0a* [[Grape.Tasks]]  . . . January 01, 2021, at 07:52 PM by [[~fizi]]: [==]%0a* [[Ircnow.Helpers]]  . . . January 01, 2021, at 04:36 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Finances]]  . . . January 01, 2021, at 04:15 AM by [[~jrmu]]: [==]%0a* [[Tutorial.Tutorial]]  . . . January 01, 2021, at 03:25 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Testing]]  . . . December 30, 2020, at 12:58 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Sshbackdoor]]  . . . December 30, 2020, at 12:14 PM by [[~jrmu]]: [==]%0a* [[Mango.Packages]]  . . . December 30, 2020, at 10:48 AM by [[~nix]]: [==]%0a* [[Ircnow.Contact]]  . . . December 30, 2020, at 03:18 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Pf-bnc]]  . . . December 29, 2020, at 06:30 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Partners2]]  . . . December 29, 2020, at 02:52 PM by [[~jrmu]]: [==]%0a* [[Debate.Mozilladanger]]  . . . December 27, 2020, at 03:05 AM by [[~jrmu]]: [==]%0a* [[Debate.Controlcomputer]]  . . . December 27, 2020, at 03:02 AM by [[~jrmu]]: [==]%0a* [[Debate.Facebookdanger]]  . . . December 27, 2020, at 03:01 AM by [[~jrmu]]: [==]%0a* [[Debate.Slackdanger]]  . . . December 27, 2020, at 02:56 AM by [[~jrmu]]: [==]%0a* [[Debate.Freespeech]]  . . . December 27, 2020, at 02:36 AM by [[~jrmu]]: [==]%0a* [[Debate.Ethicalflaws]]  . . . December 27, 2020, at 02:31 AM by [[~jrmu]]: [==]%0a* [[Debate.Hatespeech]]  . . . December 27, 2020, at 02:20 AM by [[~jrmu]]: [==]%0a* [[Debate.Monero]]  . . . December 27, 2020, at 02:02 AM by [[~jrmu]]: [==]%0a* [[Debate.WhyNotC]]  . . . December 26, 2020, at 06:43 PM by [[~searchsocial]]: [==]%0a* [[Debate.Python]]  . . . December 26, 2020, at 06:21 PM by [[~jrmu]]: [==]%0a* [[Debate.Cash]]  . . . December 26, 2020, at 06:18 PM by [[~jrmu]]: [==]%0a* [[Debate.Uberdanger]]  . . . December 26, 2020, at 06:16 PM by [[~jrmu]]: [==]%0a* [[Debate.Microsoftdanger]]  . . . December 26, 2020, at 06:15 PM by [[~jrmu]]: [==]%0a* [[Debate.Accessibility]]  . . . December 26, 2020, at 06:14 PM by [[~jrmu]]: [==]%0a* [[Debate.Zoomdanger]]  . . . December 26, 2020, at 06:08 PM by [[~jrmu]]: [==]%0a* [[Shell.Applications]]  . . . December 19, 2020, at 06:21 PM by [[~fizi]]: [==]%0a* [[Third.Dillo]]  . . . December 19, 2020, at 01:52 PM by [[~jrmu]]: [==]%0a* [[Third.Basilisk]]  . . . December 19, 2020, at 01:38 PM by [[~jrmu]]: [==]%0a* [[Third.Directory]]  . . . December 19, 2020, at 01:35 PM by [[~jrmu]]: [==]%0a* [[Guava.Packages]]  . . . December 19, 2020, at 06:14 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Amplification]]  . . . December 19, 2020, at 05:42 AM by [[~jrmu]]: [==]%0a* [[Openbsd.UDPFlood]]  . . . December 18, 2020, at 10:39 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Tcpdump]]  . . . December 18, 2020, at 09:12 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Tcpackflood]]  . . . December 17, 2020, at 10:36 AM by [[~jrmu]]: [==]%0a* [[Openbsd.RSTFlood]]  . . . December 17, 2020, at 10:34 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Tcpresetflood]]  . . . December 17, 2020, at 10:34 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Ssdp]]  . . . December 15, 2020, at 12:59 PM by [[~jrmu]]: [==]%0a* [[Bouncer.Igloo]]  . . . December 14, 2020, at 09:39 AM by [[~Noxturnix]]: [==]%0a* [[Main.Terms]]  . . . December 13, 2020, at 01:35 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Pf]]  . . . December 13, 2020, at 12:03 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Install68]]  . . . December 13, 2020, at 10:13 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Upgrade67]]  . . . December 13, 2020, at 04:02 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Sysupgrade68]]  . . . December 11, 2020, at 10:27 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Dokuwiki]]  . . . December 10, 2020, at 02:23 PM by [[~miniontoby]]: [=code blocks fixed=]%0a* [[Openbsd.Acme-client]]  . . . December 09, 2020, at 06:47 PM by [[~miniontoby]]: [=fixed troubleshooting links=]%0a* [[Freedom.Christian]]  . . . December 08, 2020, at 01:12 AM by [[~jrmu]]: [==]%0a* [[Freedom.Finances]]  . . . December 08, 2020, at 01:04 AM by [[~jrmu]]: [==]%0a* [[Shell.Sshkeys]]  . . . December 07, 2020, at 10:36 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Install67]]  . . . December 06, 2020, at 11:03 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Buyvm]]  . . . December 06, 2020, at 02:42 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Install]]  . . . December 04, 2020, at 04:15 PM by [[~jrmu]]: [==]%0a* [[Opernbsd.Buyvm]]  . . . December 04, 2020, at 12:06 PM by [[~jrmu]]: [==]%0a* [[Bouncer.WeeChat]]  . . . December 02, 2020, at 12:43 PM by [[~jrmu]]: [==]%0a* [[Bouncer.SimpleIRC]]  . . . December 02, 2020, at 12:31 PM by [[~jrmu]]: [==]%0a* [[Freedom.Militia]]  . . . December 02, 2020, at 04:18 AM by [[~jrmu]]: [==]%0a* [[Third.Third]]  . . . December 01, 2020, at 01:49 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Oidentd]]  . . . November 30, 2020, at 11:42 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Helper]]  . . . November 28, 2020, at 02:21 AM by [[~jrmu]]: [==]%0a* [[Bouncer.Hexchat]]  . . . November 27, 2020, at 12:52 PM by [[~jrmu]]: [==]%0a* [[Bouncer.IRCCloud]]  . . . November 24, 2020, at 11:53 AM by [[~jrmu]]: [==]%0a* [[Bouncer.AdiIRC]]  . . . November 24, 2020, at 11:42 AM by [[~jrmu]]: [==]%0a* [[Bouncer.RevolutionIRC]]  . . . November 24, 2020, at 11:35 AM by [[~jrmu]]: [==]%0a* [[Bouncer.KiwiIRC]]  . . . November 24, 2020, at 11:34 AM by [[~jrmu]]: [==]%0a* [[Bouncer.KVIrc]]  . . . November 24, 2020, at 11:33 AM by [[~jrmu]]: [==]%0a* [[Bouncer.IceChat]]  . . . November 24, 2020, at 11:27 AM by [[~jrmu]]: [==]%0a* [[Bouncer.IRCCloudiOS]]  . . . November 24, 2020, at 11:20 AM by [[~jrmu]]: [==]%0a* [[Bouncer.IRCCloudAndroid]]  . . . November 24, 2020, at 11:20 AM by [[~jrmu]]: [==]%0a* [[Bouncer.IRCCloudWeb]]  . . . November 24, 2020, at 11:19 AM by [[~jrmu]]: [==]%0a* [[Third.Catalog]]  . . . November 23, 2020, at 07:52 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Checklist]]  . . . November 20, 2020, at 12:44 AM by [[~gry]]: [=+=]%0a* [[Openbsd.Acopm]]  . . . November 04, 2020, at 03:32 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Achurch]]  . . . November 04, 2020, at 02:25 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Vi]]  . . . November 04, 2020, at 12:51 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Sudo]]  . . . November 04, 2020, at 12:38 PM by [[~jrmu]]: [==]%0a* [[Freedom.Denomination]]  . . . October 23, 2020, at 09:20 AM by [[~jrmu]]: [==]%0a* [[Vps.Intro]]  . . . October 10, 2020, at 08:22 AM by [[~jrmu]]: [==]%0a* [[Ircweb.Ircweb]]  . . . October 05, 2020, at 01:10 AM by [[~jrmu]]: [==]%0a* [[Http2irc.Http2irc]]  . . . October 05, 2020, at 01:04 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Easyapp]]  . . . September 29, 2020, at 12:13 PM by [[~jrmu]]: [==]%0a* [[Orange.Nl]]  . . . September 17, 2020, at 08:43 AM by [[~miniontoby]]: [=Dutch correct page=]%0a* [[Grape.Guide]]  . . . September 16, 2020, at 08:42 AM by [[~baytuch]]: [==]%0a* [[Orange.Id]]  . . . September 08, 2020, at 09:51 AM by [[~gry]]: [=+=]%0a* [[Orange.Ru]]  . . . September 07, 2020, at 11:29 PM by [[~gry]]: [=+=]%0a* [[Bouncer.MIRC]]  . . . September 06, 2020, at 03:59 AM by [[~jrmu]]: [==]%0a* [[Debate.Bncnow]]  . . . September 04, 2020, at 04:36 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Cgit]]  . . . September 01, 2020, at 05:51 PM by [[~baytuch]]: [==]%0a* [[Orange.Notes]]  . . . August 27, 2020, at 03:38 AM by [[~gry]]: [=expanded=]%0a* [[Shell.ShellSSHKEYS]]  . . . August 25, 2020, at 10:00 PM by [[~gry]]: [=permissions added=]%0a* [[Bouncer.Irccloud]]  . . . August 24, 2020, at 12:20 PM by [[~jrmu]]: [==]%0a* [[GrapeTeam.Tracker]]  . . . August 24, 2020, at 10:16 AM by [[~gry]]: [=+=]%0a* [[GrapeTeam.GrapeTeam]]  . . . August 24, 2020, at 10:13 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Course]]  . . . August 21, 2020, at 05:01 AM by [[~gry]]: [==]%0a* [[Openbsd.Bchs]]  . . . August 20, 2020, at 07:11 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Todo]]  . . . August 20, 2020, at 06:48 AM by [[~jrmu]]: on_is_active php_session_active squirrelmailing sqsession_start troubleshooting authentication session_status config_default webmail_access modifications configuration unfortunately accessibility administrator webmail_error compatibility acceleration default_pref organization replacement disposition alternative information sourceforge permissions certificate interactive configuring preferences letsencrypt development compatible javascript configtest connection additional nameserver configured afterwards extracting attempting installing documents complains openhttpd functions localhost opensmtpd challenge supported subdomain receiving databases recommend necessary following languages delimiter directory debugging fusername essential addresses installed chrooted smtphost projects browsers normally location provides tlsmulti 26214400 required remember original security listener optional settings sendmail properly software specific licensed messages brackets instance writable services browsing defaults drawback continue opening control dovecot fastcgi already contact defines example initial unbound folders unusual request plugins general command servers defined private options however records contrib include restart because nologin disable exiting keypair baytuch strings misused charset appears content instead openbsd release sending mt_rand another subject version tarball warning charlie without changes resolve foxtrot uploads written client relayd needed return logout syntax longer cannot latest htdocs braces rather offset typing before themes ircnow frames across making should switch please detect secure invert readme global create update system locale report serial delete femail myname daemon lookup socket number errors trying issues actual stable inline attach master reload touch could color chown check chmod needs first intro shell rcctl php74 mkdir books hosts write above https there false using might every ascii happy delta curly array fatal bravo query where since which setup exist works notes saved files press alpha enter means class block title index chain strip lines known worry based ifend about zones this doas 2001 imap will well page your real acme make sure that aaaa ipv4 does fccf want 1008 2602 than sbin chsh help bind body some copy runs both must logs like when ctrl type echo xvzf find uses html many wiki easy fees more exec text once were have made mime done next move into ipv6 pop3 menu sign quit full motd hide give edit time www ssl etc var 127 day see has 162 bad gpl 451 fix ksh 644 zip its 755 ftp net way crt 634 usr 403 src nsd fpm dns max few db8 143 via by gz 22 cd rx 38 87 mv 80 9
-time=1700866267
+rev=12481
+text=* [[Almanack.Almanack]]  . . . @2023-11-25T18:51:17Z by [[~jrmu]]: [==]%0a* [[Openbsd.Wraith]]  . . . @2023-11-25T18:49:17Z by [[~jrmu]]: [==]%0a* [[Openbsd.Host]]  . . . @2023-11-24T22:51:07Z by [[~jrmu]]: [==]%0a* [[Hunchentoot.Install]]  . . . @2023-11-24T19:50:41Z by [[~Posterdati]]: [==]%0a* [[Ircnow.Minutemin]]  . . . @2023-11-21T15:25:43Z by [[~jrmu]]: [==]%0a* [[Shelllabs.Openaccess]]  . . . @2023-11-19T16:10:42Z by [[~hed0x]]: [=added section to list dataset repositories=]%0a* [[SiteAdmin.AuthUser]]  . . . @2023-11-19T16:08:42Z by [[~jrmu]]: [==]%0a* [[Openbsd.Ngircd]]  . . . @2023-11-19T01:45:08Z by [[~jrmu]]: [==]%0a* [[Openbsd.Pkg]]  . . . @2023-11-19T01:35:10Z by [[~jrmu]]: [==]%0a* [[Syspatch.Syspatch]]  . . . @2023-11-19T01:33:36Z by [[~jrmu]]: [==]%0a* [[Openbsd.Intro]]  . . . @2023-11-19T01:12:27Z by [[~jrmu]]: [==]%0a* [[Openbsd.Upgrade74]]  . . . @2023-11-18T06:31:09Z by [[~jrmu]]: [==]%0a* [[Openbsd.Install73]]  . . . @2023-11-18T05:32:17Z by [[~jrmu]]: [==]%0a* [[Minutemin.Bootcamp]]  . . . @2023-11-18T05:14:56Z by [[~jrmu]]: [==]%0a* [[Openbsd.Install74]]  . . . @2023-11-18T05:06:51Z by [[~jrmu]]: [==]%0a* [[Openbsd.Sysupgrade74]]  . . . @2023-11-16T00:15:28Z by [[~jrmu]]: [==]%0a* [[Openbsd.Tcltls]]  . . . @2023-11-06T20:19:24Z by [[~jrmu]]: [==]%0a* [[Olympics.Games]]  . . . @2023-11-05T18:39:36Z by [[~jrmu]]: [==]%0a* [[Team.Security]]  . . . @2023-11-04T18:45:38Z by [[~jrmu]]: [==]%0a* [[Linux.Reading]]  . . . @2023-11-01T03:47:13Z by [[~jrmu]]: [==]%0a* [[Shelllabs.Tools]]  . . . @2023-10-28T17:41:59Z by [[~hed0x]]: [==]%0a* [[Ircnow.Explorer]]  . . . @2023-10-28T17:29:29Z by [[~hed0x]]: [==]%0a* [[Shelllabs.Intro]]  . . . @2023-10-28T17:04:45Z by [[~redrum88]]: [==]%0a* [[Openbsd.PFStable]]  . . . @2023-10-27T19:07:16Z by [[~sylv1a]]: [=Revise ICMP section in accordance with RFCs. Fix icmp6 syntax issue.=]%0a* [[Openbsd.Dump]]  . . . @2023-10-26T18:08:08Z by [[~miniontoby]]: [=missing a dash before an h=]%0a* [[Znc.Chroot]]  . . . @2023-10-26T16:51:57Z by [[~jrmu]]: [==]%0a* [[Ircnow.Roadmap2024]]  . . . @2023-10-23T03:33:27Z by [[~jrmu]]: [==]%0a* [[Ircnow.Roadmap]]  . . . @2023-10-23T03:02:14Z by [[~jrmu]]: [==]%0a* [[Dovecot.Install]]  . . . @2023-10-19T19:17:58Z by [[~sylv1a]]: [=Fix file permission and owners section=]%0a* [[DNS.DKIM]]  . . . @2023-10-19T19:11:28Z by [[~sylv1a]]: [=Add this note here too (already present in DNS.Mail)=]%0a* [[DNS.Mail]]  . . . @2023-10-19T19:09:57Z by [[~sylv1a]]: [=Change so _dkimsign is used for /etc/mail/dkim. _dovecot never needs to access that folder.=]%0a* [[Opensmtpd.Configure]]  . . . @2023-10-19T19:05:37Z by [[~sylv1a]]: [=Change so that _dkimsign is used for signing. Change perms section too.=]%0a* [[Pmwiki.Replace]]  . . . @2023-10-19T17:19:19Z by [[~sylv1a]]: [=Fix IndentationError, although the script seems to have other issues (blank output)=]%0a* [[Police.Intro]]  . . . @2023-10-08T05:05:25Z by [[~jrmu]]: [==]%0a* [[Unbound.DNSSEC]]  . . . @2023-10-08T02:32:13Z by [[~sylv1a]]: [=nitpick: Restart/Reload rather than Restart/reload=]%0a* [[Unbound.Configure]]  . . . @2023-10-07T23:19:54Z by [[~sylv1a]]: [=Edit after revert to include more accurate information, discussed with jrmu=]%0a* [[Openbsd.Hopm-NowWithInit]]  . . . @2023-10-07T05:20:56Z by [[~Maddie]]: [=[Minor]: Cleaned ansible code for more efficency.=]%0a* [[C.Cprimer]]  . . . @2023-10-05T18:57:29Z by [[~jrmu]]: [==]%0a* [[Tor.Hidden]]  . . . @2023-10-04T18:19:36Z by [[~sylv1a]]: [=Add authorization section for hidden services=]%0a* [[Openbsd.FilePermissions]]  . . . @2023-10-04T02:15:54Z by [[~sylv1a]]: [=Replace `$ doas` with `#`=]%0a* [[Dns.TroubleshootingDNS]]  . . . @2023-10-03T06:23:08Z by [[~jrmu]]: [==]%0a* [[Dns.Troubleshooting]]  . . . @2023-10-03T06:21:21Z by [[~jrmu]]: [==]%0a* [[Openbsd.Anope]]  . . . @2023-10-03T02:51:27Z by [[~jrmu]]: [==]%0a* [[9.Ramfs]]  . . . @2023-09-27T15:43:55Z by [[~jrmu]]: [==]%0a* [[Main.HomePage]]  . . . @2023-09-24T18:25:53Z by [[~dennis]]: [==]%0a* [[Ngircd.Loginconf]]  . . . @2023-09-22T14:40:06Z by [[~Yonle]]: [=Probably need some revertion.=]%0a* [[Openbsd.Loginconf]]  . . . @2023-09-15T12:06:06Z by [[~jrmu]]: [==]%0a* [[Hosting.Providers]]  . . . @2023-09-12T04:58:26Z by [[~jrmu]]: [==]%0a* [[Got.Repo]]  . . . @2023-09-10T23:25:41Z by [[~jrmu]]: [==]%0a* [[Jrmu.Bio]]  . . . @2023-09-09T17:14:26Z by [[~jrmu]]: [==]%0a* [[Site.SideBar]]  . . . @2023-09-06T07:50:20Z by [[~jrmu]]: [==]%0a* [[Ircnow.Roadmap2023]]  . . . @2023-09-06T07:48:43Z by [[~jrmu]]: [==]%0a* [[Ircnow.Milestones]]  . . . @2023-09-06T07:45:31Z by [[~jrmu]]: [==]%0a* [[Unix.Reading]]  . . . @2023-09-06T05:36:09Z by [[~jrmu]]: [==]%0a* [[Openbsd.CPAN]]  . . . @2023-09-05T03:25:21Z by [[~jrmu]]: [==]%0a* [[9.Drawterm]]  . . . @2023-09-04T12:29:31Z by [[~mkf]]: [=debian includes drawterm-9front now=]%0a* [[9.9pideas]]  . . . @2023-09-03T18:58:43Z by [[~jrmu]]: [==]%0a* [[9.9gridchan]]  . . . @2023-09-03T06:16:25Z by [[~jrmu]]: [==]%0a* [[Openbsd.Pleroma]]  . . . @2023-09-03T01:21:36Z by [[~Yonle]]: [=Instead of using append, use set=]%0a* [[Openbsd.Akkoma]]  . . . @2023-09-03T01:21:12Z by [[~Yonle]]: [=Instead of using append, use set=]%0a* [[Openbsd.Prosody]]  . . . @2023-09-02T02:58:33Z by [[~izzyb]]: [==]%0a* [[9.Acmemail]]  . . . @2023-09-01T18:05:18Z by [[~jrmu]]: [==]%0a* [[9.Account]]  . . . @2023-09-01T17:09:51Z by [[~zleap]]: [==]%0a* [[9.Date]]  . . . @2023-09-01T13:46:05Z by [[~jrmu]]: [==]%0a* [[Rio.Customize]]  . . . @2023-08-29T03:10:09Z by [[~jrmu]]: [==]%0a* [[9.Shell]]  . . . @2023-08-27T18:52:33Z by [[~jrmu]]: [==]%0a* [[9.Why9]]  . . . @2023-08-25T17:15:16Z by [[~jrmu]]: [==]%0a* [[9.Splinternet]]  . . . @2023-08-24T02:31:30Z by [[~jrmu]]: [==]%0a* [[9.PKI]]  . . . @2023-08-23T19:47:46Z by [[~jrmu]]: [==]%0a* [[9.IP]]  . . . @2023-08-23T00:12:14Z by [[~jrmu]]: [==]%0a* [[9.Inter9]]  . . . @2023-08-23T00:11:11Z by [[~jrmu]]: [==]%0a* [[9.Irc]]  . . . @2023-08-22T14:15:24Z by [[~xfnw]]: [=spelling=]%0a* [[9.Rcpu]]  . . . @2023-08-21T17:21:54Z by [[~jrmu]]: [==]%0a* [[9.FNS]]  . . . @2023-08-19T17:30:06Z by [[~jrmu]]: [==]%0a* [[9.PNS]]  . . . @2023-08-19T17:05:01Z by [[~jrmu]]: [==]%0a* [[Ircnow.SSHFingerprints]]  . . . @2023-08-19T03:25:45Z by [[~jacobk]]: [=Update SSH fingerprints for shelltalk.net=]%0a* [[Shelllabs.Reading]]  . . . @2023-08-17T18:18:38Z by [[~jrmu]]: [==]%0a* [[9C.Exits]]  . . . @2023-08-16T11:50:49Z by [[~mkf]]: [==]%0a* [[9C.Intro]]  . . . @2023-08-15T22:57:20Z by [[~mkf]]: [==]%0a* [[Hw.X230]]  . . . @2023-08-15T12:46:43Z by [[~mkf]]: [==]%0a* [[9.Reading]]  . . . @2023-08-14T02:37:46Z by [[~jrmu]]: [==]%0a* [[Netcat.Irc]]  . . . @2023-08-07T01:37:18Z by [[~xfnw]]: [=correct (unused) USER parameters=]%0a* [[Openbsd.Sysupgrade71]]  . . . @2023-07-27T20:09:43Z by [[~xfnw]]: [=using both -U and -u at the same time is pointless=]%0a* [[Openbsd.Snac]]  . . . @2023-07-21T04:45:35Z by [[~Yonle]]: [==]%0a* [[Profiles.Yonle]]  . . . @2023-07-17T15:08:57Z by [[~Yonle]]: [==]%0a* [[Openbsd.ZNCModules]]  . . . @2023-07-16T20:56:32Z by [[~izzyb]]: [=Added links to more modules=]%0a* [[Pbug.Bio]]  . . . @2023-07-08T13:53:57Z by [[~pbug]]: [==]%0a* [[Vmm.DebianIso]]  . . . @2023-07-05T19:58:36Z by [[~TheLion]]: [==]%0a* [[Certbot.Nginx]]  . . . @2023-07-04T13:58:54Z by [[~Yonle]]: [==]%0a* [[Pf.Vpn]]  . . . @2023-07-04T05:59:40Z by [[~jrmu]]: [==]%0a* [[I2Pd.Install]]  . . . @2023-07-03T16:46:53Z by [[~Yonle]]: [==]%0a* [[Ircnow.Perl]]  . . . @2023-07-02T21:08:34Z by [[~izzyb]]: [==]%0a* [[Shelllabs.Manifesto]]  . . . @2023-07-02T18:39:22Z by [[~jrmu]]: [==]%0a* [[Iked.Configure]]  . . . @2023-07-02T06:47:04Z by [[~jrmu]]: [==]%0a* [[Vpn.VpnIos]]  . . . @2023-07-01T21:21:46Z by [[~jrmu]]: [==]%0a* [[Ircnow.Servers]]  . . . @2023-07-01T20:43:05Z by [[~Naglfar]]: [=remove deprecated subdomains=]%0a* [[Terms.Terms]]  . . . @2023-06-30T14:35:54Z by [[~jrmu]]: [==]%0a* [[Team.Announce]]  . . . @2023-06-29T23:11:19Z by [[~jrmu]]: [==]%0a* [[Openbsd.Biboumi]]  . . . @2023-06-27T10:13:30Z by [[~Yonle]]: [==]%0a* [[Donations.Donations]]  . . . @2023-06-22T20:58:37Z by [[~jrmu]]: [==]%0a* [[Shell.Cronjobs]]  . . . @2023-06-17T04:44:44Z by [[~jrmu]]: [==]%0a* [[Openbsd.Orangepi3lts]]  . . . @2023-06-12T00:06:06Z by [[~jrmu]]: [==]%0a* [[Openbsd.Xenodm]]  . . . @2023-06-11T16:30:39Z by [[~Posterdati]]: [=OpenBSD, xorg, xenodm, monitors=]%0a* [[Team.Welcome]]  . . . @2023-06-10T15:37:17Z by [[~jrmu]]: [==]%0a* [[Ircnow.Education]]  . . . @2023-06-10T06:13:37Z by [[~jrmu]]: [==]%0a* [[DNS.RDNS]]  . . . @2023-06-10T05:27:27Z by [[~jacobk]]: [=fix link to Ipv6rdns=]%0a* [[Ngircd.Sins]]  . . . @2023-06-09T20:20:11Z by [[~jrmu]]: [==]%0a* [[Ngircd.Bugs]]  . . . @2023-06-09T19:46:55Z by [[~jrmu]]: [==]%0a* [[Jujube.Jujube]]  . . . @2023-06-08T21:38:47Z by [[~Naglfar]]: [=Update domain name=]%0a* [[Ikiwiki.Install]]  . . . @2023-06-07T22:48:44Z by [[~jrmu]]: [==]%0a* [[Openbsd.Pmwiki]]  . . . @2023-06-07T04:56:11Z by [[~jrmu]]: [==]%0a* [[Shell.Limits]]  . . . @2023-06-06T20:12:08Z by [[~jrmu]]: [==]%0a* [[Openbsd.Hopm]]  . . . @2023-06-06T05:52:47Z by [[~Yonle]]: [==]%0a* [[Freedom.Universal]]  . . . @2023-05-31T19:02:56Z by [[~jrmu]]: [==]%0a* [[Openbsd.Gnost-relay]]  . . . @2023-05-31T10:53:55Z by [[~Yonle]]: [=There's a reason why i connect to IPv6 instead of IPv4=]%0a* [[Freedom.Radio]]  . . . @2023-05-29T16:10:59Z by [[~jrmu]]: [==]%0a* [[Tmux.Config]]  . . . @2023-05-29T03:16:54Z by [[~izzyb]]: [=cleanup and added instructions for changing tmux hotkey from ^b:=]%0a* [[Got.RemoteRepo]]  . . . @2023-05-28T04:26:48Z by [[~izzyb]]: [==]%0a* [[C101.C101]]  . . . @2023-05-25T14:31:30Z by [[~jrmu]]: [==]%0a* [[Openbsd.BBB]]  . . . @2023-05-24T15:03:59Z by [[~devune]]: [==]%0a* [[Freedom.Privacy]]  . . . @2023-05-22T19:09:22Z by [[~jrmu]]: [==]%0a* [[Psotnic.Install]]  . . . @2023-05-22T16:03:20Z by [[~devune]]: [==]%0a* [[Vmm.DevuanIso]]  . . . @2023-05-21T18:54:36Z by [[~pbug]]: [==]%0a* [[Ngircd.Ircnow]]  . . . @2023-05-19T21:54:04Z by [[~izzyb]]: [=Setup to match Ianj's version.=]%0a* [[NewsNow.NewsNow]]  . . . @2023-05-18T12:51:42Z by [[~miniontoby]]: [==]%0a* [[Nsd.Masterslave]]  . . . @2023-05-18T10:44:43Z by [[~Naglfar]]: [==]%0a* [[Nsd.Configure]]  . . . @2023-05-17T19:46:17Z by [[~Naglfar]]: [=add url to Nsd.Masterslave=]%0a* [[Openbsd.Restore]]  . . . @2023-05-16T04:37:15Z by [[~izzyb]]: [=Added documents on using the interactive restore feature=]%0a* [[Botnow.Install]]  . . . @2023-05-09T19:17:22Z by [[~izzyb]]: [=added bots tag=]%0a* [[Bouncer.Ircrc]]  . . . @2023-05-09T04:40:42Z by [[~jrmu]]: [==]%0a* [[Bouncer.Bouncer]]  . . . @2023-05-09T04:37:54Z by [[~jrmu]]: [==]%0a* [[WikiTips.Cookbooks]]  . . . @2023-05-04T21:30:21Z by [[~izzyb]]: [==]%0a* [[Openbsd.MlmmjWebArchiver]]  . . . @2023-05-04T00:33:10Z by [[~izzyb]]: [=Added missing instructions for installing mhonarc=]%0a* [[Openbsd.Mlmmj]]  . . . @2023-05-03T21:19:16Z by [[~izzyb]]: [=Added link to mlmmj-WebArchiver=]%0a* [[Lists.Ircnow]]  . . . @2023-05-03T21:11:00Z by [[~izzyb]]: [=Added Jobs and some formatting=]%0a* [[Bots.Basicbot]]  . . . @2023-04-30T21:47:44Z by [[~izzyb]]: [=fixed missing ; in my $mod={}=]%0a* [[Bots.BasicbotWiki]]  . . . @2023-04-30T02:59:37Z by [[~izzyb]]: [=Initial post=]%0a* [[Openhttpd.Perl]]  . . . @2023-04-29T22:38:05Z by [[~izzyb]]: [==]%0a* [[Perl101.Perl101]]  . . . @2023-04-29T22:34:22Z by [[~izzyb]]: [==]%0a* [[Tmux.Tmux]]  . . . @2023-04-29T21:32:15Z by [[~izzyb]]: [=Initial wikigroup page with pagelist and links to other related tools=]%0a* [[Hardware.Ps2]]  . . . @2023-04-28T08:01:37Z by [[~mkf]]: [==]%0a* [[Hardware.Ethernet]]  . . . @2023-04-26T04:23:15Z by [[~mkf]]: [=importing this new found information, thanks cinap.=]%0a* [[9.Cheatsheet]]  . . . @2023-04-26T04:06:46Z by [[~jrmu]]: [==]%0a* [[Atheme.Install]]  . . . @2023-04-24T17:19:00Z by [[~DragonMaster]]: [==]%0a* [[Mutt.Connect]]  . . . @2023-04-23T20:19:43Z by [[~jrmu]]: [==]%0a* [[WikiTips.GroupsTagsCategories]]  . . . @2023-04-22T16:12:01Z by [[~izzyb]]: [==]%0a* [[WikiTips.WikiFormatting]]  . . . @2023-04-22T06:27:30Z by [[~izzyb]]: [==]%0a* [[WikiTips.WikiGroups]]  . . . @2023-04-22T06:04:14Z by [[~izzyb]]: [==]%0a* [[WikiTips.WikiTips]]  . . . @2023-04-22T05:11:04Z by [[~izzyb]]: [==]%0a* [[WikiTips.InterMap]]  . . . @2023-04-22T04:41:45Z by [[~izzyb]]: [=Tips for using interMap links to other data sources=]%0a* [[Cherry.Cherry]]  . . . @2023-04-22T03:53:28Z by [[~izzyb]]: [==]%0a* [[Botnow.Botnow]]  . . . @2023-04-22T02:20:54Z by [[~izzyb]]: [==]%0a* [[Bouncer.Irssi]]  . . . @2023-04-22T00:51:13Z by [[~izzyb]]: [==]%0a* [[Bots.Translator]]  . . . @2023-04-21T15:29:21Z by [[~forero]]: [==]%0a* [[Course-unix100.Course-unix100]]  . . . @2023-04-21T04:08:32Z by [[~izzyb]]: [==]%0a* [[Sylpheed.Connect]]  . . . @2023-04-20T06:21:36Z by [[~initfree]]: [==]%0a* [[Eggdrop191.Install]]  . . . @2023-04-19T16:03:48Z by [[~jrmu]]: [=updated version number=]%0a* [[WikiTips.Markup]]  . . . @2023-04-19T04:01:20Z by [[~izzyb]]: [=Added notes on markdown cookbook=]%0a* [[OpenSSH.Keygen]]  . . . @2023-04-19T00:30:11Z by [[~izzyb]]: [=softened the language on setting a passphrase to 'should set' instead of 'always set'=]%0a* [[Password.Schemes]]  . . . @2023-04-17T20:46:42Z by [[~izzyb]]: [==]%0a* [[Openbsd.KnownIssues]]  . . . @2023-04-10T22:02:38Z by [[~izzyb]]: [==]%0a* [[Fics.Install]]  . . . @2023-04-08T01:47:11Z by [[~jrmu]]: [==]%0a* [[Chess.Limitsbot]]  . . . @2023-04-02T01:49:23Z by [[~jrmu]]: [==]%0a* [[Relayd.TLSMulti]]  . . . @2023-03-31T14:16:54Z by [[~jrmu]]: [==]%0a* [[Relayd.Acceleration]]  . . . @2023-03-30T15:26:20Z by [[~jrmu]]: [==]%0a* [[Chess.Tournament]]  . . . @2023-03-28T00:50:21Z by [[~jrmu]]: [==]%0a* [[Ambassador.Ilines]]  . . . @2023-03-26T07:00:25Z by [[~jrmu]]: [==]%0a* [[Bots.Bots]]  . . . @2023-03-25T04:16:10Z by [[~izzyb]]: [==]%0a* [[Eggdrop.Eggdrop]]  . . . @2023-03-25T04:12:34Z by [[~izzyb]]: [==]%0a* [[Eggdrop.DuckHunt]]  . . . @2023-03-25T04:11:04Z by [[~izzyb]]: [==]%0a* [[Eggdrop.BotZNC]]  . . . @2023-03-25T04:10:26Z by [[~izzyb]]: [==]%0a* [[Eggdrop184.Install]]  . . . @2023-03-25T04:04:13Z by [[~izzyb]]: [==]%0a* [[Bots.Botnow]]  . . . @2023-03-24T17:57:43Z by [[~izzyb]]: [=Added redirect link for botnow=]%0a* [[Unix101.Unix101]]  . . . @2023-03-23T18:04:36Z by [[~izzyb]]: [==]%0a* [[9.9p]]  . . . @2023-03-23T12:00:13Z by [[~mkf]]: [==]%0a* [[Openbsd.Psybnc]]  . . . @2023-03-22T03:53:44Z by [[~Naglfar]]: [=Update download url=]%0a* [[Openbsd.Upgrade72]]  . . . @2023-03-22T02:48:07Z by [[~izzyb]]: [=Simple stub to upgrade68=]%0a* [[Openbsd.Upgrade69]]  . . . @2023-03-22T02:45:25Z by [[~izzyb]]: [==]%0a* [[Doas.Configure]]  . . . @2023-03-22T01:29:02Z by [[~boxette]]: [==]%0a* [[Openbsd.Upgrade71]]  . . . @2023-03-22T01:24:24Z by [[~izzyb]]: [==]%0a* [[Openbsd.Upgrade70]]  . . . @2023-03-22T01:23:31Z by [[~izzyb]]: [==]%0a* [[Openbsd.Upgrade68]]  . . . @2023-03-22T01:19:01Z by [[~izzyb]]: [=Added drop screen definitions and info re sysupgrade=]%0a* [[Terms.Privacy]]  . . . @2023-03-21T20:09:01Z by [[~mkf]]: [==]%0a* [[Opensmtpd.Test]]  . . . @2023-03-21T16:12:17Z by [[~Yonle]]: [==]%0a* [[Eggdrop.TCLErorrWhileExecutingPackage]]  . . . @2023-03-21T03:01:23Z by [[~GuardiaN]]: [==]%0a* [[Xmpp.Xmpp]]  . . . @2023-03-20T16:59:36Z by [[~izzyb]]: [==]%0a* [[Letsencrypt.Expired]]  . . . @2023-03-19T03:46:41Z by [[~xfnw]]: [=add command for counting certs=]%0a* [[Hardware.Psp]]  . . . @2023-03-16T18:44:50Z by [[~mkf]]: [==]%0a* [[Cloud9p.Roadmap]]  . . . @2023-03-16T09:29:23Z by [[~mkf]]: [==]%0a* [[Pgp.Create]]  . . . @2023-03-13T14:54:27Z by [[~baytuch]]: [=Added export pub key=]%0a* [[OpenBSD.Cheatsheet]]  . . . @2023-03-12T09:52:16Z by [[~Yonle]]: [==]%0a* [[Minetest.Minetest]]  . . . @2023-03-12T05:12:30Z by [[~izzyb]]: [=Added web assembly client link=]%0a* [[9front.Netsurf]]  . . . @2023-03-10T15:08:21Z by [[~Yonle]]: [==]%0a* [[Dovecot.SharedMailboxes]]  . . . @2023-03-10T14:16:57Z by [[~izzyb]]: [==]%0a* [[Squirrelmail.Install]]  . . . @2023-03-10T00:33:25Z by [[~pos]]: [==]%0a* [[Profiles.Xfnw]]  . . . @2023-03-07T21:55:06Z by [[~xfnw]]: [=update expiration=]%0a* [[FreeIRC.About]]  . . . March 05, 2023, at 03:51 PM by [[~kilroy]]: [==]%0a* [[Openbsd.OpenTracker]]  . . . March 03, 2023, at 04:37 PM by [[~baytuch]]: [==]%0a* [[Oidentd.ZNC]]  . . . February 28, 2023, at 02:34 AM by [[~jrmu]]: [==]%0a* [[Oidentd.Changeident]]  . . . February 28, 2023, at 02:33 AM by [[~jrmu]]: [=This was suggested by another author, but because the solution is not permanent, we move it to a sep=]%0a* [[Acme-client.Configure]]  . . . February 26, 2023, at 10:06 PM by [[~jrmu]]: [=Revert as I'm not sure if /etc/daily.local is better=]%0a* [[Stagit.Install]]  . . . February 26, 2023, at 05:24 PM by [[~fossdev]]: [==]%0a* [[Openbsd.Gotweb]]  . . . February 26, 2023, at 05:04 PM by [[~fossdev]]: [==]%0a* [[Oidentd.Install]]  . . . February 26, 2023, at 01:59 AM by [[~jrmu]]: [=Revert erroneous change=]%0a* [[Ircnow.Codeforce]]  . . . February 26, 2023, at 01:03 AM by [[~jrmu]]: [==]%0a* [[Vps.Vps]]  . . . February 25, 2023, at 12:31 AM by [[~jrmu]]: [==]%0a* [[Baytuch.Bio]]  . . . February 17, 2023, at 12:00 PM by [[~baytuch]]: [==]%0a* [[Openhttpd.Configure]]  . . . February 17, 2023, at 11:39 AM by [[~baytuch]]: [==]%0a* [[Openbsd.Plermoa]]  . . . February 16, 2023, at 04:52 AM by [[~Yonle]]: [=Redirect=]%0a* [[Akkoma.Install]]  . . . February 09, 2023, at 12:49 PM by [[~Yonle]]: [==]%0a* [[Google.Sins]]  . . . February 08, 2023, at 05:13 AM by [[~Yonle]]: [==]%0a* [[Debate.Googledanger]]  . . . February 08, 2023, at 05:01 AM by [[~Yonle]]: [==]%0a* [[Debate.Outreachkids]]  . . . February 08, 2023, at 04:34 AM by [[~Yonle]]: [==]%0a* [[Openbsd.Mosh]]  . . . February 07, 2023, at 11:30 AM by [[~Yonle]]: [==]%0a* [[Route.Usage]]  . . . February 06, 2023, at 02:38 PM by [[~mkf]]: [==]%0a* [[Mkf.Wikiv1]]  . . . February 06, 2023, at 02:31 PM by [[~mkf]]: [==]%0a* [[Psybnc.Install]]  . . . February 06, 2023, at 02:31 PM by [[~mkf]]: [==]%0a* [[Debate.Openweb]]  . . . February 06, 2023, at 02:15 PM by [[~Yonle]]: [==]%0a* [[Debate.Youtubedanger]]  . . . February 06, 2023, at 02:10 PM by [[~Yonle]]: [==]%0a* [[Debate.Providers]]  . . . February 06, 2023, at 01:41 PM by [[~Yonle]]: [==]%0a* [[Paster.Install]]  . . . February 06, 2023, at 10:22 AM by [[~mkf]]: [==]%0a* [[Anope.Install]]  . . . February 06, 2023, at 09:46 AM by [[~mkf]]: [==]%0a* [[Password.Hashes]]  . . . February 04, 2023, at 07:27 AM by [[~izzyb]]: [=formatting fixes=]%0a* [[Chess.Chessgogi]]  . . . February 04, 2023, at 03:49 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Passwords]]  . . . February 03, 2023, at 07:49 PM by [[~izzyb]]: [==]%0a* [[Password.Management]]  . . . February 03, 2023, at 07:44 PM by [[~izzyb]]: [==]%0a* [[DNS.Ipv4rDNS]]  . . . February 01, 2023, at 08:31 PM by [[~izzyb]]: [=added note to clarify what address needs to be specified.=]%0a* [[Dovecot.SharedFolders]]  . . . January 31, 2023, at 06:03 AM by [[~izzyb]]: [=renaming to sharedMailboxes=]%0a* [[Soju.Install]]  . . . January 24, 2023, at 11:29 AM by [[~mkf]]: [=minor changes on style=]%0a* [[Lilywhitebot.Install]]  . . . January 24, 2023, at 11:23 AM by [[~mkf]]: [==]%0a* [[SendMoneyToSplinter0616Outlook.Com]]  . . . January 24, 2023, at 11:19 AM by [[~mkf]]: [==]%0a* [[Biboumi.Install]]  . . . January 20, 2023, at 08:10 PM by [[~mkf]]: [==]%0a* [[Texlive.Install]]  . . . January 20, 2023, at 08:05 PM by [[~mkf]]: [==]%0a* [[Rcctl.Rcctl]]  . . . January 20, 2023, at 08:00 PM by [[~mkf]]: [==]%0a* [[Vmm.Configure]]  . . . January 20, 2023, at 07:59 PM by [[~mkf]]: [==]%0a* [[Hopm.Install]]  . . . January 20, 2023, at 07:32 PM by [[~mkf]]: [==]%0a* [[Openbsd.Unrealircd]]  . . . January 20, 2023, at 07:27 PM by [[~mkf]]: [==]%0a* [[Unrealircd.Install]]  . . . January 20, 2023, at 07:24 PM by [[~mkf]]: [==]%0a* [[Pleroma.Install]]  . . . January 20, 2023, at 07:18 PM by [[~mkf]]: [==]%0a* [[Gomuks.Install]]  . . . January 20, 2023, at 07:08 PM by [[~mkf]]: [==]%0a* [[Gotweb.Install]]  . . . January 20, 2023, at 07:02 PM by [[~mkf]]: [==]%0a* [[Webnews.Install]]  . . . January 20, 2023, at 06:57 PM by [[~mkf]]: [==]%0a* [[Php.Install]]  . . . January 20, 2023, at 06:52 PM by [[~mkf]]: [==]%0a* [[Mlmmj.Install]]  . . . January 20, 2023, at 06:48 PM by [[~mkf]]: [==]%0a* [[Fiche.Install]]  . . . January 20, 2023, at 06:44 PM by [[~mkf]]: [==]%0a* [[Prosody.Install]]  . . . January 20, 2023, at 06:42 PM by [[~mkf]]: [==]%0a* [[Bitlbee.Install]]  . . . January 20, 2023, at 06:36 PM by [[~mkf]]: [==]%0a* [[TigerVNC.Install]]  . . . January 20, 2023, at 06:30 PM by [[~mkf]]: [==]%0a* [[NodeJS.Install]]  . . . January 20, 2023, at 06:27 PM by [[~mkf]]: [==]%0a* [[Pmwiki.Install]]  . . . January 20, 2023, at 06:19 PM by [[~mkf]]: [==]%0a* [[Xfce.Install]]  . . . January 20, 2023, at 06:17 PM by [[~mkf]]: [==]%0a* [[Ngircd.Install]]  . . . January 20, 2023, at 06:08 PM by [[~mkf]]: [==]%0a* [[Openbsd.Vipw]]  . . . January 18, 2023, at 11:01 PM by [[~zen]]: [=added two spaces=]%0a* [[Grep.Usage]]  . . . January 18, 2023, at 10:54 PM by [[~zen]]: [==]%0a* [[Openbsd.Singleuser]]  . . . January 18, 2023, at 10:26 PM by [[~zen]]: [=changed the link reference=]%0a* [[Ssh.Fingerprints]]  . . . January 14, 2023, at 04:31 PM by [[~izzyb]]: [=added link to ircnow network ssh fingerprints as example.=]%0a* [[Team.Networks]]  . . . January 12, 2023, at 06:36 PM by [[~kilroy]]: [=Updated Sturtz IRC=]%0a* [[Znc.Install]]  . . . January 07, 2023, at 11:58 PM by [[~jrmu]]: [==]%0a* [[Rspamd.Configure]]  . . . January 03, 2023, at 04:55 PM by [[~mkf]]: [==]%0a* [[Dovecot.Pigeonhole]]  . . . December 30, 2022, at 04:24 PM by [[~mkf]]: [=style 2=]%0a* [[Openbsd.Quota]]  . . . December 29, 2022, at 06:51 PM by [[~mkf]]: [==]%0a* [[Profiles.Miniontoby]]  . . . December 26, 2022, at 07:26 PM by [[~miniontoby]]: [=Created=]%0a* [[Openbsd.Minetest]]  . . . December 26, 2022, at 07:23 PM by [[~miniontoby]]: [=Added more ways to install=]%0a* [[Splinter0616Outlook.Com]]  . . . December 25, 2022, at 02:37 AM by [[~SplinTer]]: [==]%0a* [[Ngircd.Oper]]  . . . December 25, 2022, at 12:03 AM by [[~forero]]: [==]%0a* [[Openbsd.Honk]]  . . . December 17, 2022, at 08:45 AM by [[~Yonle]]: [==]%0a* [[Yonle.Bio]]  . . . December 13, 2022, at 05:18 PM by [[~Yonle]]: [==]%0a* [[Camping.Gear]]  . . . December 12, 2022, at 04:39 AM by [[~jrmu]]: [==]%0a* [[Vhost.Vhost]]  . . . December 12, 2022, at 03:36 AM by [[~xfnw]]: [==]%0a* [[Vhost.Ircnow]]  . . . December 12, 2022, at 03:13 AM by [[~xfnw]]: [=ircfree.com is not an ircnow domain=]%0a* [[I2Pd.Tunnels]]  . . . December 06, 2022, at 02:52 PM by [[~Yonle]]: [=There we go. =]%0a* [[I2pd.Tunnels]]  . . . December 06, 2022, at 02:45 PM by [[~Yonle]]: [==]%0a* [[Unwind.Configure]]  . . . November 26, 2022, at 09:23 PM by [[~akoizumi]]: [=add unwind=]%0a* [[Openbsd.Icecast]]  . . . November 17, 2022, at 11:35 AM by [[~Yonle]]: [==]%0a* [[Debian.Install]]  . . . November 13, 2022, at 11:43 AM by [[~suzerain]]: [=writing=]%0a* [[Lemon.Lemon]]  . . . November 10, 2022, at 01:48 PM by [[~mkf]]: [==]%0a* [[Bouncer.JmIRC]]  . . . November 04, 2022, at 06:18 PM by [[~baytuch]]: [=Added screenshots about setup=]%0a* [[Bouncer.XChat]]  . . . October 16, 2022, at 11:09 PM by [[~xfnw]]: [=XChat is unmaintained=]%0a* [[Eggdrop.VHost]]  . . . October 02, 2022, at 01:05 PM by [[~sulieztya]]: [==]%0a* [[Eggdrop.VhostTCL]]  . . . October 02, 2022, at 07:06 AM by [[~sulieztya]]: [==]%0a* [[He.IPv6Certification]]  . . . September 16, 2022, at 05:32 PM by [[~xfnw]]: [=create page=]%0a* [[Shelllabs.Education]]  . . . September 14, 2022, at 07:30 PM by [[~jrmu]]: [==]%0a* [[About.AboutUs]]  . . . September 13, 2022, at 06:42 PM by [[~zleap]]: [==]%0a* [[LegalAndSafety.LegalAndSafety]]  . . . September 13, 2022, at 05:19 PM by [[~zleap]]: [==]%0a* [[LegalAndSafety.LegalAmpSafety]]  . . . September 13, 2022, at 05:17 PM by [[~zleap]]: [==]%0a* [[LegalAmpSafety.Subheading]]  . . . September 13, 2022, at 05:15 PM by [[~zleap]]: [==]%0a* [[Acmesh.Configure]]  . . . September 11, 2022, at 06:03 PM by [[~akoizumi]]: [=Added acme.sh (currently a WIP)=]%0a* [[Dehydrated.Configure]]  . . . September 11, 2022, at 02:52 PM by [[~akoizumi]]: [=Add dehydrated=]%0a* [[Profiles.Izzyb]]  . . . September 11, 2022, at 06:28 AM by [[~izzyb]]: [==]%0a* [[Site.EditForm]]  . . . September 11, 2022, at 06:22 AM by [[~izzyb]]: [=Make Author none editable field=]%0a* [[Openbsd.Geomyidae]]  . . . September 10, 2022, at 02:31 AM by [[~akoizumi]]: [==]%0a* [[Openbsd.INN]]  . . . September 10, 2022, at 02:23 AM by [[~akoizumi]]: [=Fix some types=]%0a* [[Heading.Subheading]]  . . . September 07, 2022, at 07:23 PM by [[~zleap]]: [==]%0a* [[Eggdrop193.Install]]  . . . September 07, 2022, at 04:48 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Pioneer]]  . . . August 14, 2022, at 05:06 AM by [[~jrmu]]: [==]%0a* [[Openbsd.VsFTP]]  . . . August 10, 2022, at 03:18 PM by [[~mkf]]: [=snipped unneeded output=]%0a* [[C.Scanf]]  . . . August 10, 2022, at 09:51 AM by [[~mkf]]: [==]%0a* [[Vmm.Install]]  . . . August 10, 2022, at 08:05 AM by [[~miniontoby]]: [=coconut to host=]%0a* [[Orange.CertsReissue]]  . . . August 08, 2022, at 05:35 AM by [[~baytuch]]: [==]%0a* [[Netcat.Usage]]  . . . August 04, 2022, at 01:12 AM by [[~tiramisu]]: [==]%0a* [[Pgp.Upload]]  . . . August 01, 2022, at 01:21 PM by [[~jan6]]: [=keys.openpgp.org uses a superior implementation, less vulnerable to various issues=]%0a* [[Lemon.Packages]]  . . . July 30, 2022, at 07:52 PM by [[~mkf]]: [==]%0a* [[Netizen.Ellisisland]]  . . . July 27, 2022, at 07:05 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Newdeal]]  . . . July 27, 2022, at 06:55 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Daughtersofliberty]]  . . . July 27, 2022, at 06:45 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Womenstem]]  . . . July 21, 2022, at 05:59 PM by [[~jrmu]]: [==]%0a* [[Eggdrop.RC]]  . . . July 20, 2022, at 06:55 PM by [[~baytuch]]: [==]%0a* [[Opensmtpd.Troubleshoot]]  . . . July 20, 2022, at 03:58 PM by [[~jlj]]: [=Added notes about how I resolved the first two errors, on nastycode=]%0a* [[Eggdrop.Nickserv]]  . . . July 19, 2022, at 10:05 AM by [[~baytuch]]: [==]%0a* [[Chroot.Intro]]  . . . July 18, 2022, at 04:23 PM by [[~mkf]]: [==]%0a* [[Ircnow.Media]]  . . . July 15, 2022, at 05:54 AM by [[~jrmu]]: [==]%0a* [[Iked.Linuxstrongswan]]  . . . July 03, 2022, at 11:29 PM by [[~jrmu]]: [==]%0a* [[Acme-client.AutoRenew]]  . . . July 03, 2022, at 11:50 AM by [[~mkf]]: [==]%0a* [[Openbsd.Apmd]]  . . . July 03, 2022, at 11:36 AM by [[~mkf]]: [==]%0a* [[Ircnow.Roadmap2022]]  . . . July 03, 2022, at 11:04 AM by [[~mkf]]: [==]%0a* [[Iked.Android]]  . . . July 01, 2022, at 12:14 AM by [[~jrmu]]: [==]%0a* [[Vpn.Myipaddress]]  . . . June 30, 2022, at 09:51 PM by [[~jrmu]]: [==]%0a* [[Unbound.Blacklists]]  . . . June 25, 2022, at 06:02 AM by [[~jrmu]]: [==]%0a* [[Iked.Linux]]  . . . June 23, 2022, at 07:10 AM by [[~jrmu]]: [==]%0a* [[Vpn.Vpn]]  . . . June 23, 2022, at 06:42 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Nsf]]  . . . June 20, 2022, at 05:05 PM by [[~jrmu]]: [==]%0a* [[Debate.Debate]]  . . . June 19, 2022, at 04:12 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Metrics]]  . . . June 19, 2022, at 04:12 PM by [[~jrmu]]: [==]%0a* [[Dns.Overview]]  . . . June 19, 2022, at 05:45 AM by [[~jrmu]]: [==]%0a* [[Dns.Records]]  . . . June 19, 2022, at 05:44 AM by [[~jrmu]]: [==]%0a* [[Vmm.Alpine]]  . . . June 13, 2022, at 05:42 PM by [[~fossdev]]: [==]%0a* [[Vmm.Arch]]  . . . June 12, 2022, at 04:11 PM by [[~g1n]]: [=Added article about Arch Linux setup on VMM=]%0a* [[Znc.Patch]]  . . . June 12, 2022, at 12:48 AM by [[~jrmu]]: [==]%0a* [[Unveil.Intro]]  . . . June 12, 2022, at 12:40 AM by [[~jrmu]]: [==]%0a* [[Pledge.Intro]]  . . . June 12, 2022, at 12:39 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Bsdrd]]  . . . June 09, 2022, at 07:17 AM by [[~jrmu]]: [==]%0a* [[Vnc.Vnc]]  . . . June 08, 2022, at 04:04 PM by [[~miniontoby]]: [=Added RealVNC Viewer to the list (might need some more extra stuff, but yeah its fine)=]%0a* [[Openbsd.Growfs]]  . . . June 01, 2022, at 12:34 AM by [[~jrmu]]: [==]%0a* [[Hostnameif.Static-v2]]  . . . May 23, 2022, at 06:29 AM by [[~theguest]]: [==]%0a* [[Hostnameif.Static]]  . . . May 23, 2022, at 05:01 AM by [[~theguest]]: [==]%0a* [[Ircnow.Team]]  . . . May 12, 2022, at 03:44 PM by [[~jrmu]]: [==]%0a* [[Grape.Minetest]]  . . . May 10, 2022, at 10:48 AM by [[~baytuch]]: [==]%0a* [[Irc.Emoji]]  . . . May 10, 2022, at 10:23 AM by [[~baytuch]]: [==]%0a* [[Openbsd.Nsd]]  . . . May 10, 2022, at 12:33 AM by [[~jrmu]]: [==]%0a* [[Opsofliberty.Bootcamp]]  . . . May 09, 2022, at 08:38 AM by [[~mkf]]: [==]%0a* [[Openbsd.Ports]]  . . . May 09, 2022, at 05:54 AM by [[~mkf]]: [==]%0a* [[Openbsd.Rcctl]]  . . . May 09, 2022, at 05:53 AM by [[~mkf]]: [==]%0a* [[Ngircd.Ssl]]  . . . May 08, 2022, at 03:30 PM by [[~miniontoby]]: [=fixed the text=]%0a* [[Codeforce.Training]]  . . . May 03, 2022, at 03:02 AM by [[~jrmu]]: [==]%0a* [[Civics.Intro]]  . . . May 03, 2022, at 01:06 AM by [[~jrmu]]: [==]%0a* [[OpenBSD.EdgeRouter-Lite]]  . . . April 28, 2022, at 02:50 PM by [[~pufferf]]: [==]%0a* [[Math.Reading]]  . . . April 27, 2022, at 08:23 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Install71]]  . . . April 24, 2022, at 09:55 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Botnow]]  . . . April 24, 2022, at 06:14 AM by [[~jrmu]]: [==]%0a* [[Buyvm.Ipv6]]  . . . April 24, 2022, at 06:10 AM by [[~jrmu]]: [==]%0a* [[Eggdrop.Rss]]  . . . April 23, 2022, at 04:20 PM by [[~jrmu]]: [==]%0a* [[Team.Testing]]  . . . April 20, 2022, at 09:45 PM by [[~jrmu]]: [==]%0a* [[Dns.Registrars]]  . . . April 20, 2022, at 09:30 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Gopher]]  . . . April 20, 2022, at 08:29 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Adduser]]  . . . April 20, 2022, at 08:07 PM by [[~jrmu]]: [==]%0a* [[Signify.Verify]]  . . . April 20, 2022, at 06:24 PM by [[~jrmu]]: [==]%0a* [[Almanack.Route]]  . . . April 20, 2022, at 06:23 AM by [[~jrmu]]: [==]%0a* [[Ntpd.Configure]]  . . . April 20, 2022, at 06:17 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Ntpd]]  . . . April 20, 2022, at 06:16 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Vmmlinux]]  . . . April 20, 2022, at 05:33 AM by [[~jrmu]]: [==]%0a* [[Vmm.Linux]]  . . . April 20, 2022, at 05:33 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Iked]]  . . . April 20, 2022, at 05:16 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Team]]  . . . April 20, 2022, at 04:54 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Networks]]  . . . April 19, 2022, at 04:22 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Announce]]  . . . April 19, 2022, at 04:14 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Ally]]  . . . April 19, 2022, at 04:11 PM by [[~jrmu]]: [==]%0a* [[Openhttpd.Chroot]]  . . . April 19, 2022, at 04:05 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Install70]]  . . . April 19, 2022, at 06:52 AM by [[~jrmu]]: [==]%0a* [[CodeForce.Bootcamp]]  . . . April 19, 2022, at 06:29 AM by [[~jrmu]]: [==]%0a* [[Vmm.Vmm]]  . . . April 15, 2022, at 12:20 PM by [[~Naglfar]]: [=Update: report from PiRATA=]%0a* [[Ngircd.Link]]  . . . April 07, 2022, at 06:52 AM by [[~jrmu]]: [==]%0a* [[Minutemin.Minutemin]]  . . . April 06, 2022, at 02:55 AM by [[~jrmu]]: [==]%0a* [[Openhttpd.CGI]]  . . . April 05, 2022, at 04:22 PM by [[~gtlsgamr]]: [==]%0a* [[Openbsd.Censord]]  . . . April 05, 2022, at 06:16 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Dns]]  . . . April 05, 2022, at 05:24 AM by [[~jrmu]]: [==]%0a* [[Debate.Zncflaws]]  . . . April 05, 2022, at 05:18 AM by [[~jrmu]]: [==]%0a* [[Debate.Debiandanger]]  . . . April 04, 2022, at 04:30 AM by [[~jrmu]]: [==]%0a* [[Openhttpd.Tls]]  . . . April 04, 2022, at 04:25 AM by [[~jrmu]]: [==]%0a* [[Openhttpd.Website]]  . . . April 03, 2022, at 11:03 PM by [[~jrmu]]: [==]%0a* [[Soju.Guide]]  . . . April 02, 2022, at 03:46 PM by [[~Yonle]]: [==]%0a* [[Nitter.Install]]  . . . April 02, 2022, at 01:08 AM by [[~fallback]]: [=first nitter install page=]%0a* [[Debiankaios.Bio]]  . . . April 01, 2022, at 05:10 PM by [[~debiankaios]]: [==]%0a* [[Sshd.Disablepassword]]  . . . March 30, 2022, at 08:27 PM by [[~xfnw]]: [=undo accidental revert=]%0a* [[Tor.Irc]]  . . . March 30, 2022, at 12:40 PM by [[~m16]]: [==]%0a* [[Chess.Reading]]  . . . March 29, 2022, at 10:02 PM by [[~jrmu]]: [==]%0a* [[Irc.Services]]  . . . March 25, 2022, at 04:29 AM by [[~jrmu]]: [==]%0a* [[Syslogd.Configure]]  . . . March 25, 2022, at 04:07 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Ddos]]  . . . March 24, 2022, at 04:22 PM by [[~jrmu]]: [==]%0a* [[Ddos.Intro]]  . . . March 24, 2022, at 04:22 PM by [[~jrmu]]: [==]%0a* [[Bouncer.ZNC]]  . . . March 19, 2022, at 07:31 AM by [[~fallback]]: [==]%0a* [[ISCABBS.DownloadingAndInstalling]]  . . . March 15, 2022, at 10:42 PM by [[~Mandarax]]: [==]%0a* [[ISCABBS.ISCABBS]]  . . . March 15, 2022, at 09:24 PM by [[~Mandarax]]: [==]%0a* [[Unix.History]]  . . . March 14, 2022, at 06:07 PM by [[~jrmu]]: [==]%0a* [[Unix.Exhibit]]  . . . March 13, 2022, at 11:37 PM by [[~jrmu]]: [==]%0a* [[Debate.Dogfooding]]  . . . March 10, 2022, at 05:14 AM by [[~jrmu]]: [==]%0a* [[Irc.Easy]]  . . . March 05, 2022, at 08:56 PM by [[~jrmu]]: [==]%0a* [[Doxing.Defense]]  . . . March 05, 2022, at 08:54 PM by [[~jrmu]]: [==]%0a* [[Mlmmj-archivist.Install]]  . . . March 03, 2022, at 05:26 AM by [[~error]]: [==]%0a* [[Openbsd.IRCBridge]]  . . . February 28, 2022, at 02:59 AM by [[~suzerain]]: [==]%0a* [[Unix101.Vi]]  . . . February 27, 2022, at 08:16 PM by [[~jrmu]]: [==]%0a* [[Vi.Intro]]  . . . February 27, 2022, at 04:16 PM by [[~Limits]]: [=Add Introduction to Vi=]%0a* [[Irc201.Irc201]]  . . . February 27, 2022, at 04:21 AM by [[~suzerain]]: [==]%0a* [[9.Ideas]]  . . . February 23, 2022, at 05:19 PM by [[~mkf]]: [==]%0a* [[Main.WikiSandbox]]  . . . February 22, 2022, at 11:05 PM by [[~mkf]]: [==]%0a* [[Openbsd.Wesnothd]]  . . . February 21, 2022, at 06:28 AM by [[~mkf]]: [=Wesnothd=]%0a* [[9.Audio]]  . . . February 20, 2022, at 08:07 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Xonotic]]  . . . February 20, 2022, at 07:43 AM by [[~mkf]]: [=A xonotic server has apperad! pt.2=]%0a* [[PuTTY.PuTTYgen]]  . . . February 16, 2022, at 05:24 AM by [[~jrmu]]: [==]%0a* [[Rcd.Configure]]  . . . February 15, 2022, at 04:46 PM by [[~xfnw]]: [=fix title formatting=]%0a* [[Debate.Ircnowd]]  . . . February 14, 2022, at 06:24 PM by [[~jrmu]]: [==]%0a* [[Stopm.Stopm]]  . . . February 14, 2022, at 06:16 PM by [[~jrmu]]: [==]%0a* [[Police.Fingerprints]]  . . . February 12, 2022, at 02:09 PM by [[~xfnw]]: [=ip addresses should be sorted with sort -V=]%0a* [[Openbsd.Police]]  . . . February 10, 2022, at 07:36 PM by [[~jrmu]]: [==]%0a* [[Dns.Dns]]  . . . February 10, 2022, at 07:39 AM by [[~nixdork]]: [=Fix typo=]%0a* [[Dns.BindResolver]]  . . . February 10, 2022, at 07:30 AM by [[~nixdork]]: [=First draft of bind resolver howto=]%0a* [[Botnow.SqliteViews]]  . . . February 10, 2022, at 02:00 AM by [[~xfnw]]: [==]%0a* [[AncientWisdom.Bio]]  . . . February 07, 2022, at 01:18 PM by [[~AncientWisdom]]: [==]%0a* [[Minutemin.Questions]]  . . . February 05, 2022, at 09:16 AM by [[~jrmu]]: [==]%0a* [[Minutemin.Server]]  . . . February 05, 2022, at 08:14 AM by [[~jrmu]]: [==]%0a* [[Vmm.SlackwareIso]]  . . . February 03, 2022, at 10:53 PM by [[~Naglfar]]: [=Slackware 15.0 x86 stable is released=]%0a* [[Vmctl.Usage]]  . . . February 03, 2022, at 06:24 PM by [[~miniontoby]]: [=fixed attachment=]%0a* [[Duplicity.Usage]]  . . . February 02, 2022, at 10:31 AM by [[~jrmu]]: [==]%0a* [[Openssl.Encryptfile]]  . . . February 02, 2022, at 09:29 AM by [[~jrmu]]: [==]%0a* [[Openrsync.Usage]]  . . . January 29, 2022, at 09:04 AM by [[~Naglfar]]: [=update from rsync to openrsync=]%0a* [[Openbsd.Tcpip]]  . . . January 24, 2022, at 05:45 PM by [[~jrmu]]: [==]%0a* [[Synclient.Configure]]  . . . January 24, 2022, at 06:02 AM by [[~jrmu]]: [==]%0a* [[Crontab.Edit]]  . . . January 23, 2022, at 05:46 PM by [[~mkf]]: [==]%0a* [[9.Install]]  . . . January 22, 2022, at 06:57 AM by [[~mkf]]: [==]%0a* [[Asterisk.Install]]  . . . January 19, 2022, at 05:34 AM by [[~jrmu]]: [==]%0a* [[9.Ndb]]  . . . January 16, 2022, at 06:46 PM by [[~mkf]]: [==]%0a* [[Openbsd.U9fs]]  . . . January 16, 2022, at 06:23 PM by [[~mkf]]: [==]%0a* [[Dns.FQDN]]  . . . January 15, 2022, at 10:16 PM by [[~jrmu]]: [==]%0a* [[Nsd.DNSSec]]  . . . January 14, 2022, at 02:53 AM by [[~pyr3x]]: [==]%0a* [[Openbsd.Locale]]  . . . January 12, 2022, at 01:23 PM by [[~baytuch]]: [==]%0a* [[Openbsd.Openbsd]]  . . . January 12, 2022, at 01:19 PM by [[~baytuch]]: [==]%0a* [[Ksh.Autocomplete]]  . . . January 11, 2022, at 01:44 PM by [[~miniontoby]]: [=updated url=]%0a* [[Gpg.Verify]]  . . . January 08, 2022, at 09:48 PM by [[~Naglfar]]: [=Add description=]%0a* [[Mlmmj.Archive]]  . . . January 06, 2022, at 10:52 PM by [[~Hawk]]: [==]%0a* [[9.Hostowner]]  . . . January 06, 2022, at 11:29 AM by [[~mkf]]: [==]%0a* [[Ircnow.Dogfood]]  . . . January 06, 2022, at 08:48 AM by [[~jrmu]]: [==]%0a* [[9.Authsrv]]  . . . January 05, 2022, at 04:59 AM by [[~mkf]]: [=hmm=]%0a* [[9.Chording]]  . . . January 03, 2022, at 02:40 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Status]]  . . . January 03, 2022, at 06:06 AM by [[~jrmu]]: [==]%0a* [[Got.Server]]  . . . January 02, 2022, at 05:42 PM by [[~jrmu]]: [==]%0a* [[Census.Census]]  . . . January 02, 2022, at 11:27 AM by [[~jrmu]]: [==]%0a* [[Bncnow.Bncnow]]  . . . January 02, 2022, at 11:18 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Projects]]  . . . January 02, 2022, at 11:09 AM by [[~jrmu]]: [==]%0a* [[Ircfs.Intro]]  . . . January 02, 2022, at 10:49 AM by [[~jrmu]]: [==]%0a* [[Ircnowd.Ircnowd]]  . . . January 02, 2022, at 06:32 AM by [[~jrmu]]: [==]%0a* [[Marketing.Marketing]]  . . . January 02, 2022, at 06:20 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Sonsofliberty]]  . . . January 02, 2022, at 06:06 AM by [[~jrmu]]: [==]%0a* [[Pkgadd.CheckUpdates]]  . . . January 01, 2022, at 04:29 AM by [[~pyr3x]]: [==]%0a* [[Ircnow.Roadmap2021]]  . . . December 30, 2021, at 06:31 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Sftp]]  . . . December 30, 2021, at 06:01 AM by [[~jrmu]]: [==]%0a* [[Sftp.Chroot]]  . . . December 30, 2021, at 06:01 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Status2022]]  . . . December 30, 2021, at 05:35 AM by [[~jrmu]]: [==]%0a* [[Eggdrop.UTF8]]  . . . December 28, 2021, at 08:21 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Uim]]  . . . December 26, 2021, at 01:45 AM by [[~jrmu]]: [==]%0a* [[Sshwifty.Install]]  . . . December 23, 2021, at 02:49 PM by [[~miniontoby]]: [=created=]%0a* [[Nsd.Zone]]  . . . December 23, 2021, at 10:33 AM by [[~jrmu]]: [==]%0a* [[Openhttpd.Hosting]]  . . . December 23, 2021, at 03:06 AM by [[~jrmu]]: [==]%0a* [[OpenSSH.RSAkeys]]  . . . December 22, 2021, at 03:18 PM by [[~miniontoby]]: [==]%0a* [[Openbsd.Wifi]]  . . . December 22, 2021, at 02:59 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Recordaudio]]  . . . December 22, 2021, at 01:24 PM by [[~jrmu]]: [==]%0a* [[9.9]]  . . . December 22, 2021, at 11:30 AM by [[~xfnw]]: [=fix some grammatical errors=]%0a* [[Parec.Record]]  . . . December 22, 2021, at 07:02 AM by [[~jrmu]]: [==]%0a* [[Sox.Concat]]  . . . December 22, 2021, at 07:01 AM by [[~jrmu]]: [==]%0a* [[Ffmpeg.Recordscreen]]  . . . December 22, 2021, at 07:00 AM by [[~jrmu]]: [==]%0a* [[JuiceSSH.Connect]]  . . . December 20, 2021, at 01:03 PM by [[~jrmu]]: [==]%0a* [[Marketing.Memes]]  . . . December 20, 2021, at 12:55 PM by [[~jrmu]]: [==]%0a* [[9.Independent]]  . . . December 20, 2021, at 12:47 PM by [[~jrmu]]: [==]%0a* [[MacScreenSharing.Connect]]  . . . December 20, 2021, at 11:57 AM by [[~jrmu]]: [==]%0a* [[9.Partdisk]]  . . . December 20, 2021, at 11:39 AM by [[~jrmu]]: [==]%0a* [[Got.Usage]]  . . . December 17, 2021, at 04:44 PM by [[~jrmu]]: [==]%0a* [[Irc.Federation]]  . . . December 17, 2021, at 02:03 PM by [[~jrmu]]: [==]%0a* [[Irc.Chanop]]  . . . December 14, 2021, at 04:58 AM by [[~mkf]]: [==]%0a* [[9.Todo]]  . . . December 03, 2021, at 07:52 PM by [[~mkf]]: [==]%0a* [[Pylink.Chroot]]  . . . December 02, 2021, at 02:03 PM by [[~jrmu]]: [==]%0a* [[Pylink.Install]]  . . . December 02, 2021, at 02:02 PM by [[~jrmu]]: [==]%0a* [[Jrmu.Marriage]]  . . . December 02, 2021, at 06:09 AM by [[~jrmu]]: [==]%0a* [[Hosting.Hosting]]  . . . December 01, 2021, at 02:01 PM by [[~jrmu]]: [==]%0a* [[Mc.Usage]]  . . . November 29, 2021, at 07:53 PM by [[~mkf]]: [==]%0a* [[PuTTY.Connect]]  . . . November 29, 2021, at 12:13 PM by [[~jrmu]]: [==]%0a* [[Email.Email]]  . . . November 29, 2021, at 04:19 AM by [[~mkf]]: [==]%0a* [[Texlive.Sinhala]]  . . . November 28, 2021, at 06:35 AM by [[~jrmu]]: [==]%0a* [[MailWindows.Connect]]  . . . November 27, 2021, at 03:12 PM by [[~jrmu]]: [==]%0a* [[Gajim.Biboumi]]  . . . November 27, 2021, at 01:02 PM by [[~jrmu]]: [==]%0a* [[Mcabber.Connect]]  . . . November 26, 2021, at 01:38 PM by [[~jrmu]]: [==]%0a* [[ChatSecure.Connect]]  . . . November 26, 2021, at 11:36 AM by [[~jrmu]]: [==]%0a* [[9.9pfs]]  . . . November 24, 2021, at 02:00 PM by [[~mkf]]: [==]%0a* [[Vmm.DebianInstall]]  . . . November 24, 2021, at 11:44 AM by [[~nicoz]]: [==]%0a* [[Siskin.Connect]]  . . . November 23, 2021, at 04:38 PM by [[~jrmu]]: [==]%0a* [[Dino.Connect]]  . . . November 23, 2021, at 02:10 PM by [[~mkf]]: [==]%0a* [[Monal.Connect]]  . . . November 23, 2021, at 10:32 AM by [[~jrmu]]: [==]%0a* [[Xabber.Connect]]  . . . November 23, 2021, at 10:20 AM by [[~jrmu]]: [==]%0a* [[DNS.DMARC]]  . . . November 22, 2021, at 10:52 PM by [[~Hawk]]: [==]%0a* [[StorkIM.Connect]]  . . . November 21, 2021, at 05:03 AM by [[~jrmu]]: [==]%0a* [[Conversations.Connect]]  . . . November 20, 2021, at 05:37 PM by [[~jrmu]]: [==]%0a* [[Yaxim.Connect]]  . . . November 20, 2021, at 05:09 PM by [[~jrmu]]: [==]%0a* [[Adium.Connect]]  . . . November 20, 2021, at 07:32 AM by [[~jrmu]]: [==]%0a* [[Vmm.AlmaLinux]]  . . . November 20, 2021, at 06:47 AM by [[~dodocrypto]]: [==]%0a* [[Psi.Connect]]  . . . November 17, 2021, at 03:23 PM by [[~jrmu]]: [==]%0a* [[Pidgin.Connect]]  . . . November 17, 2021, at 10:18 AM by [[~jrmu]]: [==]%0a* [[Gajim.Connect]]  . . . November 17, 2021, at 08:01 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Training]]  . . . November 16, 2021, at 03:30 PM by [[~Hawk]]: [==]%0a* [[Opera.Connect]]  . . . November 16, 2021, at 12:12 AM by [[~wiz]]: [==]%0a* [[0dev.0dev]]  . . . November 12, 2021, at 03:00 AM by [[~dodocrypto]]: [==]%0a* [[Vmm.RockyLinux]]  . . . November 11, 2021, at 10:51 AM by [[~dodocrypto]]: [==]%0a* [[Opensmtpd.Openrelay]]  . . . November 11, 2021, at 10:37 AM by [[~mkf]]: [==]%0a* [[Sandbox.0dev]]  . . . November 11, 2021, at 01:45 AM by [[~dodocrypto]]: [==]%0a* [[Got.Mirror]]  . . . November 07, 2021, at 05:22 PM by [[~jrmu]]: [==]%0a* [[Vpn.OpenIKED]]  . . . November 07, 2021, at 03:45 PM by [[~gloNO]]: [==]%0a* [[Openbsd.Got]]  . . . November 07, 2021, at 03:16 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Opsofliberty]]  . . . November 06, 2021, at 05:15 PM by [[~jrmu]]: [==]%0a* [[Emacs.Emacs]]  . . . November 06, 2021, at 04:39 PM by [[~LohanG]]: [==]%0a* [[ZNC.Support]]  . . . November 06, 2021, at 03:53 PM by [[~LohanG]]: [=added libera=]%0a* [[Vmm.Plan9]]  . . . November 05, 2021, at 09:31 PM by [[~mkf]]: [=???=]%0a* [[9.Stone]]  . . . November 04, 2021, at 04:09 PM by [[~meeekeeef]]: [==]%0a* [[9.Zuke]]  . . . November 04, 2021, at 04:01 PM by [[~meeekeeef]]: [==]%0a* [[Openbsd.Drawtermssh]]  . . . November 04, 2021, at 03:54 PM by [[~meeekeeef]]: [=ssh bad >:[=]%0a* [[Netcat.Http]]  . . . November 03, 2021, at 02:30 PM by [[~jrmu]]: [==]%0a* [[Telnet.Http]]  . . . November 03, 2021, at 02:18 PM by [[~jrmu]]: [==]%0a* [[Znc.Relayd]]  . . . November 03, 2021, at 10:18 AM by [[~jrmu]]: [==]%0a* [[ZNC.Admin]]  . . . November 02, 2021, at 05:44 PM by [[~jrmu]]: [==]%0a* [[Znc.Debug]]  . . . November 02, 2021, at 03:23 PM by [[~jrmu]]: [==]%0a* [[Znc.Usage]]  . . . November 02, 2021, at 03:09 PM by [[~jrmu]]: [==]%0a* [[Ambassador.Markets]]  . . . November 02, 2021, at 01:29 PM by [[~jrmu]]: [==]%0a* [[Almanack.Rewrite]]  . . . October 31, 2021, at 10:30 PM by [[~hydragyrum]]: [==]%0a* [[9.Sysupdate]]  . . . October 31, 2021, at 10:21 PM by [[~meeekeeef]]: [==]%0a* [[Debian.Debian]]  . . . October 31, 2021, at 12:34 PM by [[~monaco]]: [==]%0a* [[Ircnow.Victorycpus]]  . . . October 30, 2021, at 08:17 AM by [[~jrmu]]: [==]%0a* [[Gnus.Connect]]  . . . October 30, 2021, at 01:32 AM by [[~hydragyrum]]: [==]%0a* [[Ircnow.Settler]]  . . . October 29, 2021, at 04:03 PM by [[~jrmu]]: [==]%0a* [[Debian.Nginxphpfpm]]  . . . October 29, 2021, at 12:26 PM by [[~monaco]]: [==]%0a* [[Debian.Nginx]]  . . . October 29, 2021, at 12:18 PM by [[~monaco]]: [==]%0a* [[Vmm.Homerouter]]  . . . October 26, 2021, at 05:08 PM by [[~jrmu]]: [==]%0a* [[9.Netcat]]  . . . October 25, 2021, at 03:40 PM by [[~jrmu]]: [==]%0a* [[9.Plan9ini]]  . . . October 24, 2021, at 04:30 PM by [[~jrmu]]: [==]%0a* [[Iked.Newconfig]]  . . . October 24, 2021, at 03:49 PM by [[~tool]]: [==]%0a* [[Lua.Minetest-1]]  . . . October 24, 2021, at 10:30 AM by [[~debiankaios]]: [==]%0a* [[9.Links]]  . . . October 24, 2021, at 06:29 AM by [[~mkf]]: [==]%0a* [[9.Keybindings]]  . . . October 24, 2021, at 06:15 AM by [[~mkf]]: [=heheheheheh=]%0a* [[Xdefaults.Configure]]  . . . October 23, 2021, at 02:40 PM by [[~jrmu]]: [==]%0a* [[TigerVNC.SSH]]  . . . October 23, 2021, at 11:56 AM by [[~Hawk]]: [==]%0a* [[9.Ssh]]  . . . October 22, 2021, at 12:54 AM by [[~jrmu]]: [==]%0a* [[Vmm.Devuan4Iso]]  . . . October 21, 2021, at 04:29 PM by [[~debiankaios]]: [=changed beowulf_3.1.1 to chimaera_4.0.0=]%0a* [[9.101]]  . . . October 20, 2021, at 04:53 PM by [[~jrmu]]: [==]%0a* [[Fvwm.Configure]]  . . . October 18, 2021, at 10:20 AM by [[~jrmu]]: [==]%0a* [[KISSmo.KISSmo]]  . . . October 18, 2021, at 09:58 AM by [[~monaco]]: [==]%0a* [[KISSmo.Download]]  . . . October 18, 2021, at 09:53 AM by [[~monaco]]: [==]%0a* [[KISSmo.About]]  . . . October 18, 2021, at 09:52 AM by [[~monaco]]: [==]%0a* [[KISSmo.Install]]  . . . October 18, 2021, at 09:44 AM by [[~monaco]]: [==]%0a* [[Cvs.Repo]]  . . . October 17, 2021, at 08:32 AM by [[~jrmu]]: [==]%0a* [[Cvs.Anoncvs]]  . . . October 17, 2021, at 04:00 AM by [[~jrmu]]: [==]%0a* [[Cvs.Commit]]  . . . October 17, 2021, at 03:58 AM by [[~jrmu]]: [==]%0a* [[Cvs.Cvsweb]]  . . . October 17, 2021, at 03:28 AM by [[~jrmu]]: [==]%0a* [[9.Cvsfs]]  . . . October 15, 2021, at 12:58 PM by [[~mkf]]: [==]%0a* [[Openbsd.Sysupgrade70]]  . . . October 15, 2021, at 11:02 AM by [[~mkf]]: [=humans are easily confused.=]%0a* [[Openbsd.Ilines]]  . . . October 15, 2021, at 02:36 AM by [[~jrmu]]: [==]%0a* [[Vmm.Devuan-ISO]]  . . . October 14, 2021, at 09:50 AM by [[~siva]]: [==]%0a* [[Vmm.Devuan-Simple]]  . . . October 14, 2021, at 09:48 AM by [[~siva]]: [=Tutorial Created=]%0a* [[Cvs.Intro]]  . . . October 13, 2021, at 03:49 PM by [[~jrmu]]: [==]%0a* [[Synapse.Install]]  . . . October 12, 2021, at 02:49 PM by [[~miniontoby]]: [=Created=]%0a* [[Ircnow.Oper]]  . . . October 12, 2021, at 03:02 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Diversity]]  . . . October 09, 2021, at 02:56 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Linux]]  . . . October 08, 2021, at 04:51 AM by [[~jrmu]]: [==]%0a* [[OpenBSD.ResetPassword]]  . . . October 07, 2021, at 03:56 AM by [[~jrmu]]: [==]%0a* [[Terms.Vps]]  . . . October 06, 2021, at 12:30 AM by [[~jrmu]]: [==]%0a* [[9.JSDrawterm]]  . . . September 30, 2021, at 06:06 PM by [[~jrmu]]: [==]%0a* [[9.Fonts]]  . . . September 28, 2021, at 05:13 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Install69]]  . . . September 27, 2021, at 05:59 PM by [[~jrmu]]: [==]%0a* [[Cvs.Guide]]  . . . September 26, 2021, at 02:28 PM by [[~Miniontoby]]: [==]%0a* [[License.IrcnowV2]]  . . . September 21, 2021, at 03:53 AM by [[~jrmu]]: [==]%0a* [[Dhcpd.Configure]]  . . . September 15, 2021, at 04:02 PM by [[~jrmu]]: [==]%0a* [[Vmm.Router]]  . . . September 14, 2021, at 12:11 PM by [[~jrmu]]: [==]%0a* [[Weechat.Relay]]  . . . September 11, 2021, at 05:46 PM by [[~mkf]]: [==]%0a* [[Gry.Bio]]  . . . September 11, 2021, at 02:49 AM by [[~jrmu]]: [==]%0a* [[Hopm.Telnet]]  . . . September 10, 2021, at 06:13 AM by [[~mkf]]: [==]%0a* [[Wraith.Chroot]]  . . . September 10, 2021, at 06:11 AM by [[~mkf]]: [==]%0a* [[ZNC.Skins]]  . . . September 06, 2021, at 07:58 AM by [[~mkf]]: [="Huh, pmwiki has a bug." no numbered list if use monospaced text. :(=]%0a* [[Seamonkey.Connect]]  . . . August 28, 2021, at 01:05 PM by [[~mkf]]: [==]%0a* [[Debate.Wikistyle]]  . . . August 27, 2021, at 03:29 PM by [[~mkf]]: [==]%0a* [[Email.EmailAndroidEmailApp]]  . . . August 27, 2021, at 02:37 PM by [[~mkf]]: [==]%0a* [[Tmux.Shortcuts]]  . . . August 27, 2021, at 12:56 PM by [[~mkf]]: [==]%0a* [[Vmm.Haiku]]  . . . August 27, 2021, at 12:53 PM by [[~mkf]]: [==]%0a* [[Openbsd.Mailopenproxy]]  . . . August 25, 2021, at 08:19 PM by [[~mkf]]: [==]%0a* [[Openbsd.Two-FactorAuth]]  . . . August 23, 2021, at 07:39 PM by [[~mkf]]: [=login.db compiling is no longer recommended.=]%0a* [[Vmm.DragonflyBSD]]  . . . August 23, 2021, at 07:31 PM by [[~mkf]]: [=logs=]%0a* [[Vmm.NetBSD]]  . . . August 23, 2021, at 07:01 PM by [[~mkf]]: [=better logs?=]%0a* [[Mariadb.Install]]  . . . August 23, 2021, at 04:42 PM by [[~wiz]]: [==]%0a* [[DNS.Ipv6rDNS]]  . . . August 23, 2021, at 11:55 AM by [[~jrmu]]: [==]%0a* [[Pipes.Redirection]]  . . . August 23, 2021, at 03:50 AM by [[~jrmu]]: [==]%0a* [[Ksh.Redirection]]  . . . August 23, 2021, at 03:50 AM by [[~jrmu]]: [==]%0a* [[Rbldnsd.Install]]  . . . August 22, 2021, at 07:58 PM by [[~mkf]]: [=wiki-ish.=]%0a* [[Netcat.Smtp]]  . . . August 22, 2021, at 06:58 PM by [[~mkf]]: [=byebye=]%0a* [[Vmm.UbuntuIso]]  . . . August 22, 2021, at 06:40 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Npppd]]  . . . August 21, 2021, at 01:43 PM by [[~mkf]]: [==]%0a* [[Shell.Shell]]  . . . August 21, 2021, at 11:42 AM by [[~jrmu]]: [==]%0a* [[Tls.CA]]  . . . August 21, 2021, at 11:10 AM by [[~jrmu]]: [==]%0a* [[Openssl.Imap]]  . . . August 21, 2021, at 04:05 AM by [[~AncientWisdom]]: [==]%0a* [[Ircnow.Todo]]  . . . August 17, 2021, at 08:41 AM by [[~mkf]]: [==]%0a* [[Vmm.GuixIso]]  . . . August 16, 2021, at 05:12 PM by [[~jrmu]]: [==]%0a* [[Vmm.VoidIso]]  . . . August 16, 2021, at 06:19 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Gophernicus]]  . . . August 15, 2021, at 02:06 AM by [[~mkf]]: [==]%0a* [[Gazette.Gazette]]  . . . August 15, 2021, at 01:14 AM by [[~mkf]]: [=a bit polishing=]%0a* [[EmailTray.Connect]]  . . . August 15, 2021, at 12:11 AM by [[~mkf]]: [==]%0a* [[Bouncer.Konversation]]  . . . August 14, 2021, at 02:46 PM by [[~mkf]]: [==]%0a* [[Squirrelmail.Connect]]  . . . August 14, 2021, at 04:47 AM by [[~mkf]]: [==]%0a* [[Termius.Connect]]  . . . August 14, 2021, at 04:42 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Openhttpd]]  . . . August 13, 2021, at 07:29 AM by [[~jrmu]]: [==]%0a* [[ConnectBot.Keys]]  . . . August 12, 2021, at 06:58 AM by [[~jrmu]]: [==]%0a* [[Debate.Monopolydanger]]  . . . August 11, 2021, at 07:01 PM by [[~mkf]]: [==]%0a* [[ConnectBot.Connect]]  . . . August 11, 2021, at 04:34 PM by [[~jrmu]]: [==]%0a* [[Termux.Connect]]  . . . August 11, 2021, at 05:28 AM by [[~jrmu]]: [==]%0a* [[Web101.Web101]]  . . . August 10, 2021, at 04:20 PM by [[~craziness]]: [=started web101=]%0a* [[Openbsd.Bitlbee]]  . . . August 10, 2021, at 12:03 PM by [[~mkf]]: [==]%0a* [[Openbsd.Pppoe]]  . . . August 10, 2021, at 11:56 AM by [[~mkf]]: [==]%0a* [[MacTerminal.Connect]]  . . . August 10, 2021, at 10:33 AM by [[~jrmu]]: [==]%0a* [[OpenSSH.Connect]]  . . . August 10, 2021, at 10:19 AM by [[~jrmu]]: [==]%0a* [[Fdroid.Install]]  . . . August 10, 2021, at 09:05 AM by [[~jrmu]]: [==]%0a* [[Shell.Sshfingerprints]]  . . . August 10, 2021, at 08:55 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Sshkeys]]  . . . August 09, 2021, at 04:42 PM by [[~jrmu]]: [==]%0a* [[Vmm.9front]]  . . . August 09, 2021, at 06:16 AM by [[~mkf]]: [==]%0a* [[Bouncer.WinIRC]]  . . . August 09, 2021, at 06:03 AM by [[~mkf]]: [==]%0a* [[IP.Myaddress]]  . . . August 07, 2021, at 05:14 PM by [[~jrmu]]: [==]%0a* [[SerFISH.Connect]]  . . . August 06, 2021, at 05:05 PM by [[~jrmu]]: [==]%0a* [[Sshwifty.Connect]]  . . . August 06, 2021, at 05:00 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Squirrelmail]]  . . . August 06, 2021, at 10:32 AM by [[~baytuch]]: [==]%0a* [[Eggdrop.NickServ]]  . . . August 05, 2021, at 07:27 AM by [[~jrmu]]: [==]%0a* [[Medals.Intro]]  . . . August 04, 2021, at 08:34 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Dnszones]]  . . . August 03, 2021, at 09:26 AM by [[~jrmu]]: [==]%0a* [[Dns.Zonefile]]  . . . August 03, 2021, at 09:21 AM by [[~jrmu]]: [==]%0a* [[Irc.Clients]]  . . . August 02, 2021, at 02:54 PM by [[~mkf]]: [==]%0a* [[Minutemin.Ifconfig]]  . . . August 02, 2021, at 12:59 PM by [[~mkf]]: [==]%0a* [[Openbsd.Matterbridge]]  . . . August 02, 2021, at 12:33 PM by [[~mkf]]: [==]%0a* [[Znc.I18n]]  . . . August 02, 2021, at 09:12 AM by [[~mkf]]: [==]%0a* [[Almanack.Alt]]  . . . August 02, 2021, at 07:52 AM by [[~jrmu]]: [==]%0a* [[Eggdrop.Simple]]  . . . August 02, 2021, at 07:49 AM by [[~jrmu]]: [==]%0a* [[Eggdrop.Install]]  . . . August 02, 2021, at 05:11 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Vhost]]  . . . August 02, 2021, at 02:32 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Hardware]]  . . . August 01, 2021, at 01:48 PM by [[~jrmu]]: [==]%0a* [[Thunderirc.Hardware]]  . . . August 01, 2021, at 01:47 PM by [[~jrmu]]: [==]%0a* [[Planetofnix.Hardware]]  . . . August 01, 2021, at 01:46 PM by [[~jrmu]]: [==]%0a* [[Bsdforall.Hardware]]  . . . August 01, 2021, at 01:45 PM by [[~jrmu]]: [==]%0a* [[Oddprotocol.Hardware]]  . . . August 01, 2021, at 01:28 PM by [[~jrmu]]: [==]%0a* [[Lecturify.Hardware]]  . . . August 01, 2021, at 01:27 PM by [[~jrmu]]: [==]%0a* [[Congress.Procedure]]  . . . August 01, 2021, at 06:41 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Chroot]]  . . . July 31, 2021, at 02:47 AM by [[~jrmu]]: [==]%0a* [[Syslogd.Remote]]  . . . July 30, 2021, at 03:30 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Vmmuser]]  . . . July 29, 2021, at 05:31 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Vmminstall]]  . . . July 29, 2021, at 05:28 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Vmm]]  . . . July 29, 2021, at 05:24 AM by [[~jrmu]]: [==]%0a* [[Openbsd.ZNCAdmin]]  . . . July 28, 2021, at 06:14 AM by [[~jrmu]]: [==]%0a* [[Openbsd.ZNCSupport]]  . . . July 28, 2021, at 06:14 AM by [[~jrmu]]: [==]%0a* [[ZNC.Troubleshoot]]  . . . July 28, 2021, at 06:12 AM by [[~jrmu]]: [==]%0a* [[Znc.Troubleshoot]]  . . . July 28, 2021, at 06:11 AM by [[~jrmu]]: [==]%0a* [[Kill.Usage]]  . . . July 28, 2021, at 03:42 AM by [[~jrmu]]: [==]%0a* [[Ps.Usage]]  . . . July 28, 2021, at 03:42 AM by [[~jrmu]]: [==]%0a* [[Dns.Vhost]]  . . . July 28, 2021, at 03:05 AM by [[~jrmu]]: [==]%0a* [[Host.Usage]]  . . . July 28, 2021, at 01:57 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Php]]  . . . July 27, 2021, at 02:53 PM by [[~jrmu]]: [==]%0a* [[UsersCategoryMirrory.IRCFreeHomesteadVPS]]  . . . July 26, 2021, at 06:12 AM by [[~category_mirror]]: [==]%0a* [[Ircnow.PioneerTldr]]  . . . July 26, 2021, at 06:04 AM by [[~jrmu]]: [==]%0a* [[UsersCategoryMirrory.Pioneer]]  . . . July 26, 2021, at 04:22 AM by [[~category_mirror]]: [==]%0a* [[Openbsd.Dig]]  . . . July 25, 2021, at 06:50 AM by [[~jrmu]]: [==]%0a* [[Openbsd.RDNS]]  . . . July 23, 2021, at 06:44 AM by [[~jrmu]]: [==]%0a* [[Wordpress.Install]]  . . . July 21, 2021, at 06:59 PM by [[~mkf]]: [==]%0a* [[Bouncer.All]]  . . . July 21, 2021, at 06:37 PM by [[~mkf]]: [==]%0a* [[Lemon.Todo]]  . . . July 21, 2021, at 06:21 PM by [[~mkf]]: [==]%0a* [[Irc.Guide]]  . . . July 21, 2021, at 06:02 PM by [[~mkf]]: [=client -> clients=]%0a* [[Openbsd.Sic]]  . . . July 21, 2021, at 05:57 PM by [[~mkf]]: [=first edit.=]%0a* [[Minutemin.Progress]]  . . . July 21, 2021, at 08:10 AM by [[~jrmu]]: [==]%0a* [[Openssl.Check]]  . . . July 20, 2021, at 01:27 PM by [[~jrmu]]: [==]%0a* [[Rsync.Usage]]  . . . July 19, 2021, at 02:30 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Openrsync]]  . . . July 18, 2021, at 02:01 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Znc]]  . . . July 16, 2021, at 10:43 AM by [[~jrmu]]: [==]%0a* [[Netizen.Become]]  . . . July 14, 2021, at 09:47 AM by [[~jrmu]]: [==]%0a* [[Freedom.Bearcode]]  . . . July 14, 2021, at 09:42 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Staticnet]]  . . . July 12, 2021, at 05:48 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Dovecot]]  . . . July 12, 2021, at 02:58 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Relayd]]  . . . July 12, 2021, at 02:45 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Spf]]  . . . July 12, 2021, at 03:08 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Eggdrop]]  . . . July 02, 2021, at 03:20 AM by [[~jrmu]]: [==]%0a* [[Openssl.Http]]  . . . June 30, 2021, at 04:44 AM by [[~mkf]]: [==]%0a* [[Debate.Oldsoftware]]  . . . June 29, 2021, at 03:56 PM by [[~mkf]]: [==]%0a* [[Debate.Xmlflaws]]  . . . June 29, 2021, at 03:54 PM by [[~mkf]]: [==]%0a* [[Debate.Wikipediadanger]]  . . . June 29, 2021, at 03:51 PM by [[~mkf]]: [==]%0a* [[Debate.DCC]]  . . . June 29, 2021, at 03:49 PM by [[~mkf]]: [==]%0a* [[Debate.Matrixflaws]]  . . . June 29, 2021, at 03:48 PM by [[~mkf]]: [==]%0a* [[Debate.Webirc]]  . . . June 29, 2021, at 03:48 PM by [[~mkf]]: [==]%0a* [[Debate.Nodejstrap]]  . . . June 29, 2021, at 03:48 PM by [[~mkf]]: [==]%0a* [[Debate.Ircv3defense]]  . . . June 29, 2021, at 03:45 PM by [[~mkf]]: [==]%0a* [[Openbsd.Newdisk]]  . . . June 29, 2021, at 03:23 PM by [[~jrmu]]: [==]%0a* [[AndroidEmail.AndroidEmail]]  . . . June 29, 2021, at 03:11 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Ed]]  . . . June 28, 2021, at 04:04 PM by [[~mkf]]: [==]%0a* [[Openbsd.Unbound]]  . . . June 27, 2021, at 12:12 PM by [[~jrmu]]: [==]%0a* [[Freedom.Religion]]  . . . June 27, 2021, at 02:02 AM by [[~jrmu]]: [==]%0a* [[Freedom.Union]]  . . . June 26, 2021, at 01:01 PM by [[~jrmu]]: [==]%0a* [[Freedom.Firstamendment]]  . . . June 26, 2021, at 11:45 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Dkimproxy]]  . . . June 25, 2021, at 12:56 PM by [[~jrmu]]: [==]%0a* [[MIF.Test]]  . . . June 25, 2021, at 12:42 PM by [[~nsturtz]]: [==]%0a* [[Openbsd.Sysupgrade69]]  . . . June 25, 2021, at 05:46 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Opensmtpd]]  . . . June 23, 2021, at 02:21 AM by [[~jrmu]]: [==]%0a* [[Openbsd.NgircdLink]]  . . . June 22, 2021, at 07:50 PM by [[~mkf]]: [=delete=]%0a* [[File.File]]  . . . June 22, 2021, at 07:43 PM by [[~mkf]]: [=linking=]%0a* [[Debate.Linuxflaws]]  . . . June 20, 2021, at 08:03 AM by [[~mkf]]: [=making hyperlinks=]%0a* [[Freedom.Destiny]]  . . . June 18, 2021, at 05:31 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Doas]]  . . . June 13, 2021, at 01:19 PM by [[~jrmu]]: [==]%0a* [[Freedom.Freedom]]  . . . June 13, 2021, at 09:13 AM by [[~jrmu]]: [==]%0a* [[Freedom.Press]]  . . . June 13, 2021, at 09:12 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Shell]]  . . . June 11, 2021, at 09:36 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Constitution]]  . . . June 10, 2021, at 03:48 PM by [[~jrmu]]: [==]%0a* [[Netizen.Rights]]  . . . June 10, 2021, at 03:21 PM by [[~jrmu]]: [==]%0a* [[IPv4.Overview]]  . . . June 10, 2021, at 10:13 AM by [[~jrmu]]: [==]%0a* [[Ksh.Bash]]  . . . June 09, 2021, at 11:31 AM by [[~jrmu]]: [==]%0a* [[PowerShell.Connect]]  . . . June 09, 2021, at 11:10 AM by [[~jrmu]]: [==]%0a* [[Code.Code]]  . . . June 08, 2021, at 05:24 PM by [[~mkf]]: [=better formating=]%0a* [[Grape.DonateUs]]  . . . June 06, 2021, at 03:41 PM by [[~fizi]]: [==]%0a* [[Openbsd.Books]]  . . . June 06, 2021, at 12:46 PM by [[~jrmu]]: [==]%0a* [[Grape.Grape]]  . . . June 06, 2021, at 11:39 AM by [[~fizi]]: [==]%0a* [[Openbsd.Pfa]]  . . . June 06, 2021, at 03:49 AM by [[~navic]]: [==]%0a* [[Vmm.Debian]]  . . . June 04, 2021, at 07:48 PM by [[~mkf]]: [="LOL"=]%0a* [[DNS.Dnswl]]  . . . June 04, 2021, at 11:11 AM by [[~jrmu]]: [==]%0a* [[Netcat.SMTP]]  . . . June 04, 2021, at 09:59 AM by [[~jrmu]]: [==]%0a* [[Dkim.Dkimsign]]  . . . June 04, 2021, at 09:07 AM by [[~jrmu]]: [==]%0a* [[Tor.Torsocks]]  . . . June 04, 2021, at 06:16 AM by [[~jrmu]]: [==]%0a* [[Vpn.VpnMac]]  . . . June 04, 2021, at 05:40 AM by [[~jrmu]]: [==]%0a* [[Fdisk.Usage]]  . . . June 04, 2021, at 05:04 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Wordpress]]  . . . June 04, 2021, at 04:55 AM by [[~jrmu]]: [==]%0a* [[DNS.SPF]]  . . . June 03, 2021, at 01:27 PM by [[~jrmu]]: [==]%0a* [[HostServ.Rules]]  . . . June 01, 2021, at 08:11 AM by [[~jrmu]]: [==]%0a* [[Openbsd.ACKFlood]]  . . . May 29, 2021, at 06:20 AM by [[~mkf]]: [==]%0a* [[Openbsd.SSDP]]  . . . May 29, 2021, at 06:18 AM by [[~mkf]]: [==]%0a* [[Openbsd.Anycast]]  . . . May 29, 2021, at 06:01 AM by [[~mkf]]: [==]%0a* [[Ambassador.Networks]]  . . . May 27, 2021, at 04:05 PM by [[~jrmu]]: [==]%0a* [[Marketing.Rules]]  . . . May 26, 2021, at 06:15 AM by [[~jrmu]]: [==]%0a* [[Freenode.Power]]  . . . May 26, 2021, at 04:38 AM by [[~jrmu]]: [==]%0a* [[Freenode.Money]]  . . . May 25, 2021, at 03:29 PM by [[~jrmu]]: [==]%0a* [[Freenode.Takeover]]  . . . May 25, 2021, at 05:28 AM by [[~jrmu]]: [==]%0a* [[Freedom.Freenode]]  . . . May 25, 2021, at 01:48 AM by [[~jrmu]]: [==]%0a* [[Bouncer.Atomic]]  . . . May 24, 2021, at 03:22 PM by [[~mkf]]: [=spacing=]%0a* [[Minetest.Updating]]  . . . May 24, 2021, at 08:10 AM by [[~mkf]]: [=monospaced commands=]%0a* [[Shell.Putty]]  . . . May 24, 2021, at 06:16 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Dmarc]]  . . . May 21, 2021, at 09:22 AM by [[~jrmu]]: [==]%0a* [[Vmm.Optimize]]  . . . May 19, 2021, at 04:04 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Stable]]  . . . May 18, 2021, at 10:15 AM by [[~mkf]]: [==]%0a* [[Ircnow.VicePresident]]  . . . May 18, 2021, at 08:15 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Sheriff]]  . . . May 18, 2021, at 08:00 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Ambassador]]  . . . May 18, 2021, at 07:42 AM by [[~jrmu]]: [==]%0a* [[Pf.Guide]]  . . . May 17, 2021, at 03:37 AM by [[~bejelentkezni]]: [==]%0a* [[Openbsd.Disklabel]]  . . . May 17, 2021, at 03:33 AM by [[~bejelentkezni]]: [==]%0a* [[Openbsd.Fdisk]]  . . . May 17, 2021, at 03:27 AM by [[~bejelentkezni]]: [==]%0a* [[NewsNow.Install]]  . . . May 16, 2021, at 06:49 AM by [[~mkf]]: [="$"=]%0a* [[Tmux.Share]]  . . . May 15, 2021, at 02:27 AM by [[~mistera]]: [==]%0a* [[Openbsd.Security]]  . . . May 14, 2021, at 03:14 AM by [[~caesar]]: [==]%0a* [[Bouncer.Vision]]  . . . May 13, 2021, at 09:47 AM by [[~mkf]]: [=added home page, removed "..."s=]%0a* [[Minetest.Worldbackup]]  . . . May 12, 2021, at 11:02 AM by [[~AES]]: [==]%0a* [[Minetest.Texturestyle]]  . . . May 12, 2021, at 11:00 AM by [[~AES]]: [==]%0a* [[Minetest.Serverlocations]]  . . . May 12, 2021, at 10:59 AM by [[~AES]]: [==]%0a* [[Minetest.Addingarenas]]  . . . May 12, 2021, at 10:58 AM by [[~jrmu]]: [==]%0a* [[Relay.Relay]]  . . . May 12, 2021, at 09:10 AM by [[~jrmu]]: [==]%0a* [[Ngircd.Install-bej]]  . . . May 11, 2021, at 05:26 AM by [[~bejelentkezni]]: [==]%0a* [[Openbsd.Hopm-Arthur]]  . . . May 07, 2021, at 12:28 PM by [[~Arthur]]: [==]%0a* [[Znc.Chroot69]]  . . . May 06, 2021, at 03:36 AM by [[~bejelentkezni]]: [=back to 6.9 to see real changes=]%0a* [[Dig.Usage]]  . . . May 04, 2021, at 02:36 AM by [[~sarah]]: [==]%0a* [[Bgpd.Configure]]  . . . May 03, 2021, at 06:26 AM by [[~jrmu]]: [==]%0a* [[Freedom.Unix]]  . . . April 29, 2021, at 03:39 PM by [[~jrmu]]: [==]%0a* [[Pmwiki.Simpleurl]]  . . . April 29, 2021, at 02:46 PM by [[~punk]]: [==]%0a* [[Gpl.Flaws]]  . . . April 24, 2021, at 04:56 PM by [[~jrmu]]: [==]%0a* [[Iked.Windows]]  . . . April 18, 2021, at 07:38 PM by [[~st13g]]: [==]%0a* [[Freedom.Libertyordeath]]  . . . April 17, 2021, at 12:35 PM by [[~jrmu]]: [==]%0a* [[Minetest.Economy]]  . . . April 15, 2021, at 02:32 PM by [[~jrmu]]: [==]%0a* [[Vim.Vim]]  . . . April 11, 2021, at 11:14 PM by [[~monaco]]: [==]%0a* [[Minutemin.Duty]]  . . . April 11, 2021, at 04:53 AM by [[~jrmu]]: [==]%0a* [[License.License]]  . . . April 04, 2021, at 02:00 AM by [[~jrmu]]: [==]%0a* [[EthicalSource.HolierThanThou]]  . . . April 04, 2021, at 01:56 AM by [[~jrmu]]: [==]%0a* [[Jrmu.Rmsboycott]]  . . . April 03, 2021, at 01:36 AM by [[~jrmu]]: [==]%0a* [[Jrmu.Libertyordeath]]  . . . April 02, 2021, at 12:56 PM by [[~jrmu]]: [==]%0a* [[Fig.Fig]]  . . . March 31, 2021, at 10:15 AM by [[~chewy]]: [==]%0a* [[Coconut.Coconut]]  . . . March 29, 2021, at 12:28 PM by [[~jrmu]]: [==]%0a* [[Ircnow.CodeForce]]  . . . March 29, 2021, at 12:04 PM by [[~jrmu]]: [==]%0a* [[ClawsMail.Connect]]  . . . March 29, 2021, at 08:42 AM by [[~miniontoby]]: [==]%0a* [[Freedom.Madeonirc]]  . . . March 27, 2021, at 11:48 AM by [[~jrmu]]: [==]%0a* [[Third.Devs]]  . . . March 27, 2021, at 11:41 AM by [[~jrmu]]: [==]%0a* [[Minutemin.Code]]  . . . March 24, 2021, at 03:26 AM by [[~jrmu]]: [==]%0a* [[Cherry.Todo]]  . . . March 23, 2021, at 03:23 PM by [[~Oz]]: [==]%0a* [[Freedom.Independence]]  . . . March 22, 2021, at 01:13 PM by [[~wiz]]: [==]%0a* [[Ifconfig.Change]]  . . . March 20, 2021, at 11:15 AM by [[~jrmu]]: [==]%0a* [[Marketing.Founders]]  . . . March 20, 2021, at 01:40 AM by [[~jrmu]]: [==]%0a* [[NewsNow.Teams]]  . . . March 18, 2021, at 09:47 AM by [[~miniontoby]]: [=banana=]%0a* [[Vhost.Freedns]]  . . . March 16, 2021, at 12:22 PM by [[~wiz]]: [==]%0a* [[Marketing.Freedom]]  . . . March 15, 2021, at 01:30 PM by [[~jrmu]]: [==]%0a* [[Bsd.Labor]]  . . . March 15, 2021, at 06:12 AM by [[~jrmu]]: [==]%0a* [[License.Discriminatory]]  . . . March 15, 2021, at 06:12 AM by [[~jrmu]]: [==]%0a* [[Bsd.Hope]]  . . . March 14, 2021, at 11:05 PM by [[~jrmu]]: [==]%0a* [[License.Publicdomain]]  . . . March 14, 2021, at 10:02 AM by [[~jrmu]]: [==]%0a* [[Linux.Flaws]]  . . . March 14, 2021, at 05:13 AM by [[~jrmu]]: [==]%0a* [[NewsNow.Browser]]  . . . March 12, 2021, at 08:00 AM by [[~miniontoby]]: [==]%0a* [[Abuse.Code]]  . . . March 09, 2021, at 03:44 PM by [[~jrmu]]: [==]%0a* [[Congress.Documents]]  . . . March 07, 2021, at 04:50 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Goals]]  . . . March 06, 2021, at 09:33 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Chatforce]]  . . . March 05, 2021, at 02:15 PM by [[~jrmu]]: [==]%0a* [[Shell.Bash]]  . . . March 05, 2021, at 10:19 AM by [[~jrmu]]: [==]%0a* [[User.Welcome]]  . . . March 05, 2021, at 07:34 AM by [[~jrmu]]: [==]%0a* [[Immigrant.Welcome]]  . . . March 05, 2021, at 06:59 AM by [[~jrmu]]: [==]%0a* [[Mail.Openrelay]]  . . . March 04, 2021, at 03:20 PM by [[~jrmu]]: [==]%0a* [[Mail.Test]]  . . . March 04, 2021, at 03:07 PM by [[~jrmu]]: [==]%0a* [[Minutemin.Game]]  . . . March 04, 2021, at 10:16 AM by [[~jrmu]]: [==]%0a* [[Marketing.Recruit]]  . . . March 04, 2021, at 09:39 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Howtoask]]  . . . March 03, 2021, at 12:35 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Netizen]]  . . . February 28, 2021, at 03:18 PM by [[~jrmu]]: [==]%0a* [[Servers.Rights]]  . . . February 28, 2021, at 12:37 PM by [[~jrmu]]: [==]%0a* [[Marketing.Enterprise]]  . . . February 28, 2021, at 11:52 AM by [[~jrmu]]: [==]%0a* [[Minutemin.Creed]]  . . . February 28, 2021, at 03:21 AM by [[~jrmu]]: [==]%0a* [[Ln.Intro]]  . . . February 25, 2021, at 12:20 PM by [[~jrmu]]: [==]%0a* [[Leafnode.Install]]  . . . February 25, 2021, at 10:56 AM by [[~jrmu]]: [==]%0a* [[Guava.Todo]]  . . . February 23, 2021, at 10:47 AM by [[~quofan]]: [==]%0a* [[Relays.Relays]]  . . . February 22, 2021, at 04:22 PM by [[~jrmu]]: [==]%0a* [[PSFTP.Connect]]  . . . February 21, 2021, at 03:57 PM by [[~jrmu]]: [==]%0a* [[Outlook.Connect]]  . . . February 21, 2021, at 03:23 PM by [[~jrmu]]: [==]%0a* [[AppleMail.Connect]]  . . . February 20, 2021, at 04:38 PM by [[~jrmu]]: [==]%0a* [[Thunderbird.Pgp]]  . . . February 19, 2021, at 04:44 PM by [[~jrmu]]: [==]%0a* [[License.Ircnow]]  . . . February 19, 2021, at 09:45 AM by [[~miniontoby]]: [=2021=]%0a* [[Thunderbird.Connect]]  . . . February 19, 2021, at 09:36 AM by [[~jrmu]]: [==]%0a* [[Shell.Mac]]  . . . February 19, 2021, at 09:14 AM by [[~jrmu]]: [==]%0a* [[Minutemin.Training]]  . . . February 18, 2021, at 06:42 AM by [[~jrmu]]: [==]%0a* [[Freedom.Openforeveryone]]  . . . February 16, 2021, at 04:33 AM by [[~jrmu]]: [==]%0a* [[Ircnow.IRCitizen]]  . . . February 15, 2021, at 05:32 AM by [[~jrmu]]: [==]%0a* [[IPv6.Overview]]  . . . February 14, 2021, at 11:09 AM by [[~jrmu]]: [==]%0a* [[Tcpip.Overview]]  . . . February 14, 2021, at 11:02 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Syspatch]]  . . . February 14, 2021, at 11:00 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Netadmin]]  . . . February 14, 2021, at 10:56 AM by [[~jrmu]]: [==]%0a* [[Marketing.Religion]]  . . . February 14, 2021, at 10:37 AM by [[~jrmu]]: [==]%0a* [[Marketing.Independence]]  . . . February 13, 2021, at 04:59 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Leafnode]]  . . . February 12, 2021, at 01:40 PM by [[~chewy]]: [==]%0a* [[Oidentd.Pylink]]  . . . February 12, 2021, at 01:25 PM by [[~jrmu]]: [==]%0a* [[Marketing.Opportunity]]  . . . February 11, 2021, at 12:58 PM by [[~jrmu]]: [==]%0a* [[Marketing.Republic]]  . . . February 11, 2021, at 06:45 AM by [[~jrmu]]: [==]%0a* [[Achurch.Install]]  . . . February 10, 2021, at 04:33 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Pylink]]  . . . February 08, 2021, at 08:33 AM by [[~jrmu]]: [==]%0a* [[Ircnow.OpofLiberty]]  . . . February 06, 2021, at 12:53 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Allies]]  . . . February 06, 2021, at 12:47 PM by [[~jrmu]]: [==]%0a* [[Freedom.Dueprocess]]  . . . February 06, 2021, at 12:25 PM by [[~jrmu]]: [==]%0a* [[Freedom.Checks]]  . . . February 06, 2021, at 12:21 PM by [[~jrmu]]: [==]%0a* [[Freedom.Rulebylaw]]  . . . February 06, 2021, at 12:12 PM by [[~jrmu]]: [==]%0a* [[Freedom.Startupdream]]  . . . February 06, 2021, at 12:12 PM by [[~jrmu]]: [==]%0a* [[Freedom.Federation]]  . . . February 06, 2021, at 11:44 AM by [[~jrmu]]: [==]%0a* [[Freedom.Selfadmin]]  . . . February 06, 2021, at 11:26 AM by [[~jrmu]]: [==]%0a* [[Ircnow.OpsofLiberty]]  . . . February 06, 2021, at 02:13 AM by [[~jrmu]]: [==]%0a* [[Freedom.Homestead]]  . . . February 05, 2021, at 12:49 PM by [[~jrmu]]: [==]%0a* [[Freedom.Software]]  . . . February 05, 2021, at 11:31 AM by [[~jrmu]]: [==]%0a* [[Freedom.Opportunity]]  . . . February 05, 2021, at 08:55 AM by [[~jrmu]]: [==]%0a* [[Unix.Workethic]]  . . . February 05, 2021, at 08:49 AM by [[~jrmu]]: [==]%0a* [[Unix.Ethic]]  . . . February 05, 2021, at 08:48 AM by [[~jrmu]]: [==]%0a* [[Debate.Privacy]]  . . . February 05, 2021, at 07:05 AM by [[~jrmu]]: [==]%0a* [[Team.Policy]]  . . . February 04, 2021, at 04:08 PM by [[~jrmu]]: [==]%0a* [[Freedom.Serversrights]]  . . . February 04, 2021, at 02:43 PM by [[~jrmu]]: [==]%0a* [[Freedom.Serverrights]]  . . . February 04, 2021, at 02:42 PM by [[~jrmu]]: [==]%0a* [[Freedom.Fork]]  . . . February 04, 2021, at 02:39 PM by [[~jrmu]]: [==]%0a* [[Freedom.Lanofopportunity]]  . . . February 04, 2021, at 01:24 PM by [[~jrmu]]: [==]%0a* [[Freedom.Opentoall]]  . . . February 04, 2021, at 01:17 PM by [[~jrmu]]: [==]%0a* [[Freedom.Refuge]]  . . . February 04, 2021, at 09:31 AM by [[~jrmu]]: [==]%0a* [[Dns.Providers]]  . . . February 04, 2021, at 04:27 AM by [[~jrmu]]: [==]%0a* [[Guava.Guava]]  . . . February 03, 2021, at 02:30 AM by [[~st13g]]: [==]%0a* [[Openbsd.Stable]]  . . . February 02, 2021, at 02:25 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Base64]]  . . . February 02, 2021, at 06:37 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Unboundadblock]]  . . . February 02, 2021, at 04:29 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Pfbadhost]]  . . . February 02, 2021, at 04:29 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Delphinusdnsd]]  . . . February 02, 2021, at 01:51 AM by [[~jrmu]]: [==]%0a* [[Mango.Mango]]  . . . January 31, 2021, at 12:01 PM by [[~nix]]: [==]%0a* [[Openbsd.Abuse]]  . . . January 31, 2021, at 05:33 AM by [[~jrmu]]: [==]%0a* [[Freedom.Censorship]]  . . . January 31, 2021, at 05:23 AM by [[~jrmu]]: [==]%0a* [[Debate.Firstamendment]]  . . . January 31, 2021, at 05:20 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Phishing]]  . . . January 31, 2021, at 05:02 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Audit]]  . . . January 31, 2021, at 04:46 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Ongoing]]  . . . January 31, 2021, at 01:19 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Partners]]  . . . January 31, 2021, at 12:32 AM by [[~jrmu]]: [==]%0a* [[Orange.Todo]]  . . . January 30, 2021, at 11:31 AM by [[~jrmu]]: [==]%0a* [[Pear.Pear]]  . . . January 29, 2021, at 06:09 PM by [[~dennis]]: [==]%0a* [[Openbsd.Httpopenproxy]]  . . . January 29, 2021, at 11:01 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Zncadmin]]  . . . January 29, 2021, at 10:00 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Rbldns]]  . . . January 29, 2021, at 05:45 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Setuid]]  . . . January 28, 2021, at 06:53 AM by [[~jrmu]]: [==]%0a* [[Openbsd.PFTesting]]  . . . January 25, 2021, at 03:28 PM by [[~jrmu]]: [==]%0a* [[Openbsd.ZNCDaily]]  . . . January 25, 2021, at 11:35 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Irssi]]  . . . January 25, 2021, at 07:08 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Sysadmins]]  . . . January 24, 2021, at 10:36 AM by [[~jrmu]]: [==]%0a* [[Debate.UnixPhilosophy]]  . . . January 18, 2021, at 05:05 AM by [[~category_mirror]]: [==]%0a* [[Openbsd.XTerm]]  . . . January 17, 2021, at 01:48 PM by [[~miniontoby]]: [=copyright=]%0a* [[UsersCategoryMirrory.Statement]]  . . . January 17, 2021, at 02:44 AM by [[~category_mirror]]: [==]%0a* [[Email.Outlook]]  . . . January 16, 2021, at 05:13 PM by [[~Zouheir]]: [==]%0a* [[Plum.Todo]]  . . . January 16, 2021, at 12:09 AM by [[~st13g]]: [==]%0a* [[Debate.Ipsec]]  . . . January 13, 2021, at 10:39 AM by [[~jrmu]]: [==]%0a* [[Plum.Plum]]  . . . January 12, 2021, at 03:02 PM by [[~wiz]]: [==]%0a* [[Openbsd.Slrn]]  . . . January 12, 2021, at 02:40 PM by [[~Noxturnix]]: [==]%0a* [[OpenBSD.CPAN]]  . . . January 12, 2021, at 01:48 PM by [[~Dima]]: [==]%0a* [[Jujube.Todo]]  . . . January 11, 2021, at 05:13 PM by [[~fizi]]: [==]%0a* [[Ircnow.Ilines]]  . . . January 11, 2021, at 09:55 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Netcat]]  . . . January 09, 2021, at 02:20 PM by [[~jrmu]]: [==]%0a* [[OpenBSD.Perl]]  . . . January 09, 2021, at 02:04 PM by [[~dima]]: [==]%0a* [[Openbsd.Perl]]  . . . January 09, 2021, at 01:52 PM by [[~jrmu]]: [==]%0a* [[Fig.Log]]  . . . January 07, 2021, at 11:23 AM by [[~dima]]: [=test=]%0a* [[Fig.Todo]]  . . . January 06, 2021, at 01:06 PM by [[~jrmu]]: [==]%0a* [[Grape.Todo]]  . . . January 06, 2021, at 01:05 PM by [[~jrmu]]: [==]%0a* [[Pear.Todo]]  . . . January 06, 2021, at 01:05 PM by [[~jrmu]]: [==]%0a* [[Jujube.Team]]  . . . January 06, 2021, at 01:04 PM by [[~jrmu]]: [==]%0a* [[Mango.Todo]]  . . . January 06, 2021, at 01:04 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Censorship]]  . . . January 06, 2021, at 03:01 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Pentesters]]  . . . January 05, 2021, at 11:17 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Coders]]  . . . January 05, 2021, at 11:11 AM by [[~jrmu]]: [==]%0a* [[Banana.Todo]]  . . . January 04, 2021, at 09:41 AM by [[~miniontoby]]: [=znc=]%0a* [[Users.CategoryMirrory]]  . . . January 04, 2021, at 01:10 AM by [[~category_mirror]]: [==]%0a* [[UsersCategoryMirrory.Test]]  . . . January 03, 2021, at 08:17 PM by [[~category_mirrory]]: [==]%0a* [[Users.Categorymirrory]]  . . . January 03, 2021, at 08:12 PM by [[~category_mirrory]]: [=wrong caps=]%0a* [[Banana.Banana]]  . . . January 03, 2021, at 02:39 PM by [[~miniontoby]]: [==]%0a* [[Orange.Orange]]  . . . January 03, 2021, at 02:10 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Backup]]  . . . January 03, 2021, at 01:46 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Backups]]  . . . January 02, 2021, at 11:44 AM by [[~jrmu]]: [==]%0a* [[Debate.Appledanger]]  . . . January 02, 2021, at 01:35 AM by [[~jrmu]]: [==]%0a* [[Grape.Tasks]]  . . . January 01, 2021, at 07:52 PM by [[~fizi]]: [==]%0a* [[Ircnow.Helpers]]  . . . January 01, 2021, at 04:36 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Finances]]  . . . January 01, 2021, at 04:15 AM by [[~jrmu]]: [==]%0a* [[Tutorial.Tutorial]]  . . . January 01, 2021, at 03:25 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Testing]]  . . . December 30, 2020, at 12:58 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Sshbackdoor]]  . . . December 30, 2020, at 12:14 PM by [[~jrmu]]: [==]%0a* [[Mango.Packages]]  . . . December 30, 2020, at 10:48 AM by [[~nix]]: [==]%0a* [[Ircnow.Contact]]  . . . December 30, 2020, at 03:18 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Pf-bnc]]  . . . December 29, 2020, at 06:30 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Partners2]]  . . . December 29, 2020, at 02:52 PM by [[~jrmu]]: [==]%0a* [[Debate.Mozilladanger]]  . . . December 27, 2020, at 03:05 AM by [[~jrmu]]: [==]%0a* [[Debate.Controlcomputer]]  . . . December 27, 2020, at 03:02 AM by [[~jrmu]]: [==]%0a* [[Debate.Facebookdanger]]  . . . December 27, 2020, at 03:01 AM by [[~jrmu]]: [==]%0a* [[Debate.Slackdanger]]  . . . December 27, 2020, at 02:56 AM by [[~jrmu]]: [==]%0a* [[Debate.Freespeech]]  . . . December 27, 2020, at 02:36 AM by [[~jrmu]]: [==]%0a* [[Debate.Ethicalflaws]]  . . . December 27, 2020, at 02:31 AM by [[~jrmu]]: [==]%0a* [[Debate.Hatespeech]]  . . . December 27, 2020, at 02:20 AM by [[~jrmu]]: [==]%0a* [[Debate.Monero]]  . . . December 27, 2020, at 02:02 AM by [[~jrmu]]: [==]%0a* [[Debate.WhyNotC]]  . . . December 26, 2020, at 06:43 PM by [[~searchsocial]]: [==]%0a* [[Debate.Python]]  . . . December 26, 2020, at 06:21 PM by [[~jrmu]]: [==]%0a* [[Debate.Cash]]  . . . December 26, 2020, at 06:18 PM by [[~jrmu]]: [==]%0a* [[Debate.Uberdanger]]  . . . December 26, 2020, at 06:16 PM by [[~jrmu]]: [==]%0a* [[Debate.Microsoftdanger]]  . . . December 26, 2020, at 06:15 PM by [[~jrmu]]: [==]%0a* [[Debate.Accessibility]]  . . . December 26, 2020, at 06:14 PM by [[~jrmu]]: [==]%0a* [[Debate.Zoomdanger]]  . . . December 26, 2020, at 06:08 PM by [[~jrmu]]: [==]%0a* [[Shell.Applications]]  . . . December 19, 2020, at 06:21 PM by [[~fizi]]: [==]%0a* [[Third.Dillo]]  . . . December 19, 2020, at 01:52 PM by [[~jrmu]]: [==]%0a* [[Third.Basilisk]]  . . . December 19, 2020, at 01:38 PM by [[~jrmu]]: [==]%0a* [[Third.Directory]]  . . . December 19, 2020, at 01:35 PM by [[~jrmu]]: [==]%0a* [[Guava.Packages]]  . . . December 19, 2020, at 06:14 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Amplification]]  . . . December 19, 2020, at 05:42 AM by [[~jrmu]]: [==]%0a* [[Openbsd.UDPFlood]]  . . . December 18, 2020, at 10:39 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Tcpdump]]  . . . December 18, 2020, at 09:12 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Tcpackflood]]  . . . December 17, 2020, at 10:36 AM by [[~jrmu]]: [==]%0a* [[Openbsd.RSTFlood]]  . . . December 17, 2020, at 10:34 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Tcpresetflood]]  . . . December 17, 2020, at 10:34 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Ssdp]]  . . . December 15, 2020, at 12:59 PM by [[~jrmu]]: [==]%0a* [[Bouncer.Igloo]]  . . . December 14, 2020, at 09:39 AM by [[~Noxturnix]]: [==]%0a* [[Main.Terms]]  . . . December 13, 2020, at 01:35 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Pf]]  . . . December 13, 2020, at 12:03 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Install68]]  . . . December 13, 2020, at 10:13 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Upgrade67]]  . . . December 13, 2020, at 04:02 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Sysupgrade68]]  . . . December 11, 2020, at 10:27 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Dokuwiki]]  . . . December 10, 2020, at 02:23 PM by [[~miniontoby]]: [=code blocks fixed=]%0a* [[Openbsd.Acme-client]]  . . . December 09, 2020, at 06:47 PM by [[~miniontoby]]: [=fixed troubleshooting links=]%0a* [[Freedom.Christian]]  . . . December 08, 2020, at 01:12 AM by [[~jrmu]]: [==]%0a* [[Freedom.Finances]]  . . . December 08, 2020, at 01:04 AM by [[~jrmu]]: [==]%0a* [[Shell.Sshkeys]]  . . . December 07, 2020, at 10:36 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Install67]]  . . . December 06, 2020, at 11:03 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Buyvm]]  . . . December 06, 2020, at 02:42 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Install]]  . . . December 04, 2020, at 04:15 PM by [[~jrmu]]: [==]%0a* [[Opernbsd.Buyvm]]  . . . December 04, 2020, at 12:06 PM by [[~jrmu]]: [==]%0a* [[Bouncer.WeeChat]]  . . . December 02, 2020, at 12:43 PM by [[~jrmu]]: [==]%0a* [[Bouncer.SimpleIRC]]  . . . December 02, 2020, at 12:31 PM by [[~jrmu]]: [==]%0a* [[Freedom.Militia]]  . . . December 02, 2020, at 04:18 AM by [[~jrmu]]: [==]%0a* [[Third.Third]]  . . . December 01, 2020, at 01:49 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Oidentd]]  . . . November 30, 2020, at 11:42 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Helper]]  . . . November 28, 2020, at 02:21 AM by [[~jrmu]]: [==]%0a* [[Bouncer.Hexchat]]  . . . November 27, 2020, at 12:52 PM by [[~jrmu]]: [==]%0a* [[Bouncer.IRCCloud]]  . . . November 24, 2020, at 11:53 AM by [[~jrmu]]: [==]%0a* [[Bouncer.AdiIRC]]  . . . November 24, 2020, at 11:42 AM by [[~jrmu]]: [==]%0a* [[Bouncer.RevolutionIRC]]  . . . November 24, 2020, at 11:35 AM by [[~jrmu]]: [==]%0a* [[Bouncer.KiwiIRC]]  . . . November 24, 2020, at 11:34 AM by [[~jrmu]]: [==]%0a* [[Bouncer.KVIrc]]  . . . November 24, 2020, at 11:33 AM by [[~jrmu]]: [==]%0a* [[Bouncer.IceChat]]  . . . November 24, 2020, at 11:27 AM by [[~jrmu]]: [==]%0a* [[Bouncer.IRCCloudiOS]]  . . . November 24, 2020, at 11:20 AM by [[~jrmu]]: [==]%0a* [[Bouncer.IRCCloudAndroid]]  . . . November 24, 2020, at 11:20 AM by [[~jrmu]]: [==]%0a* [[Bouncer.IRCCloudWeb]]  . . . November 24, 2020, at 11:19 AM by [[~jrmu]]: [==]%0a* [[Third.Catalog]]  . . . November 23, 2020, at 07:52 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Checklist]]  . . . November 20, 2020, at 12:44 AM by [[~gry]]: [=+=]%0a* [[Openbsd.Acopm]]  . . . November 04, 2020, at 03:32 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Achurch]]  . . . November 04, 2020, at 02:25 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Vi]]  . . . November 04, 2020, at 12:51 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Sudo]]  . . . November 04, 2020, at 12:38 PM by [[~jrmu]]: [==]%0a* [[Freedom.Denomination]]  . . . October 23, 2020, at 09:20 AM by [[~jrmu]]: [==]%0a* [[Vps.Intro]]  . . . October 10, 2020, at 08:22 AM by [[~jrmu]]: [==]%0a* [[Ircweb.Ircweb]]  . . . October 05, 2020, at 01:10 AM by [[~jrmu]]: [==]%0a* [[Http2irc.Http2irc]]  . . . October 05, 2020, at 01:04 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Easyapp]]  . . . September 29, 2020, at 12:13 PM by [[~jrmu]]: [==]%0a* [[Orange.Nl]]  . . . September 17, 2020, at 08:43 AM by [[~miniontoby]]: [=Dutch correct page=]%0a* [[Grape.Guide]]  . . . September 16, 2020, at 08:42 AM by [[~baytuch]]: [==]%0a* [[Orange.Id]]  . . . September 08, 2020, at 09:51 AM by [[~gry]]: [=+=]%0a* [[Orange.Ru]]  . . . September 07, 2020, at 11:29 PM by [[~gry]]: [=+=]%0a* [[Bouncer.MIRC]]  . . . September 06, 2020, at 03:59 AM by [[~jrmu]]: [==]%0a* [[Debate.Bncnow]]  . . . September 04, 2020, at 04:36 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Cgit]]  . . . September 01, 2020, at 05:51 PM by [[~baytuch]]: [==]%0a* [[Orange.Notes]]  . . . August 27, 2020, at 03:38 AM by [[~gry]]: [=expanded=]%0a* [[Shell.ShellSSHKEYS]]  . . . August 25, 2020, at 10:00 PM by [[~gry]]: [=permissions added=]%0a* [[Bouncer.Irccloud]]  . . . August 24, 2020, at 12:20 PM by [[~jrmu]]: [==]%0a* [[GrapeTeam.Tracker]]  . . . August 24, 2020, at 10:16 AM by [[~gry]]: [=+=]%0a* [[GrapeTeam.GrapeTeam]]  . . . August 24, 2020, at 10:13 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Course]]  . . . August 21, 2020, at 05:01 AM by [[~gry]]: [==]%0a* [[Openbsd.Bchs]]  . . . August 20, 2020, at 07:11 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Todo]]  . . . August 20, 2020, at 06:48 AM by [[~jrmu]]: on_is_active php_session_active squirrelmailing sqsession_start troubleshooting authentication session_status config_default webmail_access modifications configuration unfortunately accessibility administrator webmail_error compatibility acceleration default_pref organization replacement disposition alternative information sourceforge permissions certificate interactive configuring preferences letsencrypt development compatible javascript configtest connection additional nameserver configured afterwards extracting attempting installing documents complains openhttpd functions localhost opensmtpd challenge supported subdomain receiving databases recommend necessary following languages delimiter directory debugging fusername essential addresses installed chrooted smtphost projects browsers normally location provides tlsmulti 26214400 required remember original security listener optional settings sendmail properly software specific licensed messages brackets instance writable services browsing defaults drawback continue opening control dovecot fastcgi already contact defines example initial unbound folders unusual request plugins general command servers defined private options however records contrib include restart because nologin disable exiting keypair baytuch strings misused charset appears content instead openbsd release sending mt_rand another subject version tarball warning charlie without changes resolve foxtrot uploads written client relayd needed return logout syntax longer cannot latest htdocs braces rather offset typing before themes ircnow frames across making should switch please detect secure invert readme global create update system locale report serial delete femail myname daemon lookup socket number errors trying issues actual stable inline attach master reload touch could color chown check chmod needs first intro shell rcctl php74 mkdir books hosts write above https there false using might every ascii happy delta curly array fatal bravo query where since which setup exist works notes saved files press alpha enter means class block title index chain strip lines known worry based ifend about zones this doas 2001 imap will well page your real acme make sure that aaaa ipv4 does fccf want 1008 2602 than sbin chsh help bind body some copy runs both must logs like when ctrl type echo xvzf find uses html many wiki easy fees more exec text once were have made mime done next move into ipv6 pop3 menu sign quit full motd hide give edit time www ssl etc var 127 day see has 162 bad gpl 451 fix ksh 644 zip its 755 ftp net way crt 634 usr 403 src nsd fpm dns max few db8 143 via by gz 22 cd rx 38 87 mv 80 9
+time=1700938277
 Relayd.TLSMulti:1628325508: Relayd.Acceleration Openhttpd.Hosting Acme-client.Configure Pf.Guide Openssl.Http : troubleshooting acknowledgments configuration acceleration dramatically remote_addr server_port permissions server_addr connections simpletable certificate commentary configured especially consulting forwarding foreground plaintext correctly debugging fullchain openhttpd available forwarded verbosity splitting listening challenge following selective remaining instances directory stacksize newsyslog openfiles service1 service2 searches increase database disabled protocol symlinks starting services tlsmulti sortable requests complete template filtered properly networks rotation addition location listener expanded multiple messages concepts example keypair listens finally backlog running private www6tls warning openbsd respond content produce provide verbose replace hosting devices android earlier maximum inspect enabled another domains openssl syslogd reverse headers td76656 without archive default already missing labeled records address option actual relayd handle relays create nabble wwwtls define packet turned before client please border append serves common public errors either cannot number blocks syntax bottom daemon assume entire typing failed simply sample second notice output https certs class there check rcctl first pfctl width guide login fails queue where names large which value match avoid above ports using based wrong entry lines close title below doesn three users index known third proxy while strip 8020 sure 8001 8002 icmp 4096 have make 2001 need will both that ipv6 them this want acme they ipv4 your edit what sack time doas then must logs html 7691 into send busy wish from real upon look test like stop ones auto when well root load last says also ddos etc 443 crt sub see are any ip4 ios tcp org man cur 96m 128 its won var may nsd set dns how pem 100 dvv 127 168 192 ip6 db8 of n7 by ln=
 Relayd.Acceleration:1628324627: Pf.Guide Leafnode.Install Tcpip.Sockets Openbsd.Znc Openhttpd.Configure Openhttpd.Hosting Telnet.Http Znc.Chroot Openbsd.Netcat Acme-client.Configure Openssl.Http : troubleshooting acknowledgments eavesdropping configuration dramatically introduction acceleration permissions server_addr connections simpletable server_port remote_addr certificate integration application transparent forwarding encryption webhosting configured foreground indication afterwards especially commentary splitting openhttpd plaintext challenge openfiles forwarded stacksize listening selective necessary directory fullchain providing debugging correctly sometimes following newsyslog verbosity available instances location service1 service2 symlinks protocol possible searches template requests listener filtered bouncers sortable database rotation addition increase messages balancer networks properly features plumbing normally exposing leafnode starting disabled complete private example produce keypair openbsd missing warning running replace address labeled default records openssl sockets install android devices verbose td76656 archiv=
blob - 05322ff0fc5aae2df93bbbd5133cc5bd59276ab6
blob + 7ab3ecd139364b740b20a0bad4ef0622e03a9e26
--- wiki.d/SiteAdmin.Blocklist-MoinMaster
+++ wiki.d/SiteAdmin.Blocklist-MoinMaster
@@ -1,10 +1,10 @@
 version=pmwiki-2.3.20 ordered=1 urlencoded=1
-agent=Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0
+agent=w3m/0.5.3+git20230121
 charset=UTF-8
 ctime=1596101899
-host=93.45.233.109
+host=38.87.162.8
 name=SiteAdmin.Blocklist-MoinMaster
 passwdread=@lock
-rev=763
+rev=764
 text=%0a  [@%0a## blocklist-note:   NOTE: This page is automatically generated by blocklist.php%0a## blocklist-note:   NOTE: Any edits to this page may be lost!%0a## blocklist-url:    http://moinmo.in/BadContent?action=raw%0a## blocklist-when:   2020-07-30T09:38:19%0a#  blocklist-format: regex%0a#### Unable to download blocklist (allow_url_fopen=)%0a  @]%0a
-time=1700842845
+time=1700938057